Skip to content

Instantly share code, notes, and snippets.

@bigsnarfdude
Last active May 9, 2020 00:57
Show Gist options
  • Save bigsnarfdude/a3634a53085d00b6edd6f334126abad9 to your computer and use it in GitHub Desktop.
Save bigsnarfdude/a3634a53085d00b6edd6f334126abad9 to your computer and use it in GitHub Desktop.
bc_cdc_covid19_data_EDA.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"b'{}'\n"
]
}
],
"source": [
"import json\n",
"import pandas as pd\n",
"import urllib.request\n",
"from collections import defaultdict\n",
"import matplotlib.pyplot as plt\n",
"import requests\n",
"import lxml.html as lh\n",
"\n",
"%matplotlib inline\n",
"pd.set_option(\"display.max_rows\", None, \"display.max_columns\", None)\n",
"\n",
"body = {}\n",
"\n",
"cdc_url = 'https://bc-covid-counts-uac6u.transposit.io/api/v1/execute/get_bc_covid_data'\n",
"req = urllib.request.Request(cdc_url)\n",
"req.add_header('Content-Type', 'application/json; charset=utf-8')\n",
"\n",
"json_data = json.dumps(body)\n",
"json_data_as_bytes = json_data.encode('utf-8') # needs to be bytes\n",
"req.add_header('Content-Length', len(json_data_as_bytes))\n",
"print(json_data_as_bytes)\n",
"response = urllib.request.urlopen(req, json_data_as_bytes)\n",
"data = response.read()\n",
"\n",
"pd.read_json(data)\n",
"df = pd.read_json(data)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"scrolled": false
},
"outputs": [],
"source": [
"events = df.iloc[1]['result']"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"68"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(events)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"scrolled": false
},
"outputs": [],
"source": [
"flattened_dict = defaultdict(list)\n",
"\n",
"for i in range(len(events)):\n",
" event = events[i]\n",
" for key in ['date', 'confirmed', 'deaths', 'days since zero', 'total cases', 'total deaths']:\n",
" flattened_dict[key].append(event[key])"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x118877908>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAW8AAAD4CAYAAAAjKGdbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAa0UlEQVR4nO3deXRV9b338fc3AySEkDAEEkhCQIaAIIMRZ20VK2K1k+2tbV1a29LH3lZ7b3tb7W31tr0+a/XpfawdbJ/SyaFe2+vQai3XoQjXUkUhiEBkMEAiCYEkZA6Zz+/5IwcaFCSBs7PP3ufzWuus5Oxsj58V9/n4y+/89t7mnENERIIlye8AIiIydCpvEZEAUnmLiASQyltEJIBU3iIiAZTixYtOmDDBFRUVefHSIiKhVFpaWu+cyxns/p6Ud1FRERs3bvTipUVEQsnMKoeyv6ZNREQCSOUtIhJAKm8RkQBSeYuIBJDKW0QkgFTeIiIBpPIWEQkgT9Z5i4gkikjEsbuujdfeauJQeze3vOeMYfn3qrxFRIYgEnG8XtXE2p11bHqrkc1vNdHa1QvApDEj+fwl00lKMs9zqLxFRAaIRBzVTR309EWObnNAeW0bq7cf5IUdddS3dZFkUJw7hmsXTmZR4VgWFWYzbXzGsBQ3qLxFJMF19vSxtbqZjRWNbKxoYGNlI80dPcfdNzMthUtn5bB0ziTeMzuH7FEjhjnt3w26vM0sGdgIVDvn3u9dJBGR2HDO0dLZS0N799FHbWsne+ra2V3Xxu66NqoaOzhyN8jpORksOzOXBQXZZIxMPua1JmamUVI0ltTk+FjnMZSR923AdmCMR1lERE5ZS2cPr+xp4M3aVsoPtlFe10Z5bRuHu/vesW9aahLTJ4xmYcFYrltcwJy8TM6eOpbxo0f6kPzUDKq8zSwfuBq4G/hnTxOJiAxSS2cPf3njIKu21vDirnq6o/PUeVlpzJg4mo+VFJA/Np1xGSOOPsaPHknemLRhm5v2ymBH3vcCXwMyT7SDma0AVgAUFhaefjIRkQE6uvsor21j58FWdh1sZXtNC6/saaC7L8LkrDRuOH8qV56Zy5y8TDLTUv2O67mTlreZvR+odc6Vmtl7TrSfc24lsBKgpKTExSyhiCSkju4+NlQ08Lfyev62u56y/S1H56ZHpCRxRs5objh/KleflcfC/OzAj6SHajAj7wuBa81sOZAGjDGz3zrnPuVtNBFJFIe7e9l1sI0dNS3sONBK2f5mXt/XTHdfhNRkY3HhWL502Uzm5GYyKzeTqeNGkRInHxz65aTl7Zy7A7gDIDry/qqKW0ROV2tnD6u21vB4aTUbKhuOjqozRiQzOzeTmy4s4sIZEzinaCyjRmhV89vpNyIiwyYScfxtdz2PlVbxbNkBOnsiTM/J4IvvncG8KVnMyR1D/tj0hJsCORVDKm/n3FpgrSdJRCS0qhoP8+jGKh4rraK6qYMxaSlcd3Y+H1mcz8KCbMxU1kOlkbeIeKKxvZs1O2v5w2vVrCuvB+CiGRO4/apirpg7ibTU5JO8grwblbeIxERnTx+Vhw6zdmctf9l+kNLKRiIOpmSnc+tlM/loST75Y0f5HTM0VN4iMmiRiGNPfRub9zWzpaqJvfXtHGzp5GBL1zHXA5mbN4YvXjaTpXMmMm9yluawPaDyFpF3VdV4mGe2HeCFHbVsqWqmLXr504wRycyYOJqi8RmcN308k8akkZeVxrnTxzMlO93n1OGn8haRd9hb386qrTU8s+0AW6ubASjOzeRDi6awoCCbBflZTM8ZTbJG1L5ReYsIABX17fx5aw1/3lLDGzUtACwsyOaOq4pZNi+XqeMzfE4oA6m8RRKIc463Gg6zp76dmqZOapo7qG7qYEdN69HCXlyYzbfeP5er5uUyWdMfcUvlLRJikYhj2/5mNkRvNLChopH6tq6jP08yyB2TRsG4UXzz6jlcNT9P89UBofIWCaGdB1p54rUqntq8n5rmTgDyx6Zz8cwJnD11LMW5meRlpzMpc2TCXyMkqFTeIiFR39bFH1+r5olN1bxR00JyknHprBy+vqyY86aPJzcrze+IEkMqb5EA6+mLsGZHLY+WVrFmRy29EcdZ+Vncdc1crlkwmQkBujOMDI3KWySg/ntrDd96chv1bd3kZI7kMxdN4yNn5zNr0gnvmSIhovIWCaAtVU3c9vvNFOdm8r2PnMWls3I0d51gVN4iAVPX2sXnHyolZ/RIfnPTOYG6aa7EjspbJEC6eyN84eFSGg938/gtF6i4E5jKWyRAvvN0GRsqGvnR9Ys4c3KW33HERypvkTjU2xdhf1PnMdte2HGQ365/i89fOp1rF0z2KZnEC5W3SJypqG/nloc3sT16uvpAl8zK4WtXFvuQSuKNylskjjxbdoCv/tfrJCUZ/3bNXDLTUo/+LDUliaVzJupKfgKovEXiQm9fhO8/u5Ofv7iHs/KzuO8TiykYp7vOyImpvEV8dqitiy88vIlX9jbwyXMLufOauYxM0f0d5d2pvEV8tOtgKzffv4G61i7u+dgCPrw43+9IEhAqbxGfrN1Zyxf/8zXSRyTz+8+fz8KCbL8jSYCovEV88MBLFXz7T2XMzh3Dr24s0U0PZMhU3iLDpKcvwou76vjdhn08/8ZBls6ZxA8/vpCMkXobytDpqBHx2Ov7mnhiUxV/2lJDQ3s3Y0el8uWlM/nSZTO17E9OmcpbxCPOOX78Qjn3PL+LkSlJLJ07iQ8vmsIls3JI1RUA5TSpvEU84JzjP57byX1rdvPhxVP4t2vPZMyAE25ETpfKWyTGnHPc/eft/HLdXq5fUsjdH5xHkqZHJMZU3iIxFIk47nqqjIfWV3LTBUXcdc1czFTcEnsqb5EY6emL8I0ntvJoaRWfv2Q6t19VrOIWz6i8RWKgpbOHL/x2E+vK6/ny0pncdvlMFbd46qTlbWZpwIvAyOj+jznn7vI6mEhQ7Gs4zM33b2BvfTvfv+4sPlpS4HckSQCDGXl3AZc559rMLBVYZ2b/7Zxb73E2kbi3eV8Tn31gA929ER68eQkXzJjgdyRJECctb+ecA9qiT1OjD+dlKJF4UdPcwcaKRkorG3ntrUaaOnqO/XlTJ5OyRvK7FecxY2KmTyklEQ1qztvMkoFSYAZwn3PulePsswJYAVBYWBjLjCLDyjnHI6/u47415VQ3dQCQnprMgoIspk3IOGbfS2elcuvlM5mgGwHLMBtUeTvn+oCFZpYN/MHM5jnntr1tn5XASoCSkhKNzCWQmg53c/vjW3mm7ABLisbx2YunUTJ1HMV5mTorUuLKkFabOOeazGwtsAzYdpLdRQJl/Z5D/NPvN1Pf1sU3lhfz2Yum6+QaiVuDWW2SA/REizsdWAp8z/NkIsPEOccPV7/JD1e/SdH4DJ645ULm52f5HUvkXQ1m5J0HPBCd904C/ss597S3sUSGz/ef3clP1/Zfg+S7H5inS7RKIAxmtckWYNEwZBEZdj9bu5ufrt3N9UsK+d8fmqcTayQw9AmMJKyH1lfyvWd2cO2Cyfz7B1XcEiwqb0lIf3itijuf3MbSORP5vx9boJsiSOCovCXh/PXNOr766BbOmzaen3xisZYASiDpqJWE0tsX4a6nyigaP4pf3FhCWmqy35FETonKWxLKo6VV7Klr5+vLihmtVSUSYCpvSRidPX3c+5ddnD11LFfMneR3HJHTovKWhHH/SxUcbOni68t0kwQJPpW3JITmwz38dE05lxVPZMm0cX7HETltKm9JCD/7n920dvXyL1fO9juKSEyovCX0DjR38pu/7eWDC6cwJ2+M33FEYkLlLaHmnOPev+wi4hz/fMUsv+OIxIzWSkkoVdS38+Tm/Tz5ejV76tr59IVFFIwb5XcskZhReUuolFY28J2nt/P6vibM4Nxp4/jcxdP5yOJ8v6OJxJTKW0Kjty/CVx/dQkd3H3dcVcw1CyYzOTvd71ginlB5S2j8act+9ta38/8+dTbL5uX6HUfEU/rAUkKhL+L48epyinMzeZ/OnpQEoPKWUPjT6/vZU9/ObZfP1H0nJSGovCXw+iKOH73wJrMnZXLlmZoukcSg8pbAe3rLfvbUtXPbUo26JXGovCXQ+iKOH63uH3Uv06hbEojKWwLtz1tr2F3Xzpcun6FRtyQUlbcEVk9fhB+tfpOZE0ezfF6e33FEhpXKWwKps6ePW367ifLaNr7yvlkadUvC0Uk6EjiHu3tZ8WAp68rr+e4HzmSZRt2SgFTeEigtnT3c/JsNbHqrkf/46AKuO1vXLJHEpPKWuLWv4TAdPX1Hn3f3Rrj9iS3sPNDKTz6xmOXzNeKWxKXylriz6a1G7nluF+vK69/xs5EpSay8oYT3Fk/0IZlI/FB5S9zYVt3MD57fxeodtYzPGMHXlxVT+LZrcM/OzWTGxNE+JRSJHypv8Z1zjjufLOOh9ZVkpafyL1fO5qYLisgYqcNT5ET07hDf/Z9nd/LQ+kpuuqCIf7piFlnpqX5HEol7Km/x1UMvV/Cztbv5xLmF3HXNXMy0XltkME56ko6ZFZjZGjPbbmZlZnbbcAST8Hu27AB3PlXG0jkT+c61Z6q4RYZgMCPvXuArzrlNZpYJlJrZ8865NzzOJiFWWtnArY+8xoL8bH58/WJSknWyr8hQnLS8nXM1QE30+1Yz2w5MAVTeclLNHT385IU32V3Xfsz20spG8rLS+NWNJaSPSPYpnUhwDWnO28yKgEXAK16EkfBwzvHU6/v57tPbaWjvYk7eGJIGTIvMn5LF3R+ax/jRI31MKRJcgy5vMxsNPA582TnXcpyfrwBWABQWFsYsoARP5aF2vvnHbfz1zXrOys/i/k+fw7wpWX7HEgmVQZW3maXSX9wPO+eeON4+zrmVwEqAkpISF7OEErciEcfnHtzIjgOtx2yva+1iREoS3772TD513lSSdcU/kZg7aXlb/xKAXwHbnXP3eB9JgmLNzlpW76jlsuKJjMsYcXR7Vnoqn7t4OrlZaT6mEwm3wYy8LwRuALaa2ebotm8451Z5F0uC4Of/s4cp2en8/IazSdVqEZFhNZjVJusA/d0rxyitbOTVigbufP9cFbeID/Suk1Oy8sXdZKWn8g/nFPgdRSQhqbxlyPbUtfHcGwe54bypuniUiE9U3jJkv/jrXlKTk7jxgiK/o4gkLJW3DEldaxePb6riurPzycnUCTYiflF5y5A88FIFPX0RPnfxdL+jiCQ0lbcMWntXLw++XMGyM3OZNiHD7zgiCU3lLYPS2xfhu0+/QUtnLysu0ahbxG9aKiAn1dbVy5f+cxNrdtbxvy49g0WFY/2OJJLwVN7yrmqaO7j5/o3sOtjK3R+axyfPnep3JBFB5S3vYlt1M595YAPtXX38+qZzuHRWjt+RRCRK5S3Hdaiti+t/sZ4xaak8dssSinPH+B1JRAZQectx/eKve2nr6uUPX7iAGRMz/Y4jIm+j1SbyDg3t3Tz4cgXXnDVZxS0Sp1Te8g6/+OseOnr6uPXyGX5HEZETUHnLMRrbu3nwpQqunp+nUbdIHFN5yzF+uW4Ph3v6uPXymX5HEZF3ofKWoxrbu3ngpUqWz89j1iSNukXimcpbjvrVuv4VJrdeplG3SLxTeQsATYe7uf+lCpbPz2V2rkbdIvFO5S0A/OD5Xf2jbs11iwSCylv4/Ya3eODlSj59YZHOpBQJCJV3gntlzyG++cdtXDxzAv+6fI7fcURkkFTeCWxfw2FueXgTBWNH8ZNPLCYlWYeDSFDo3Zqg2rp6+ewDG+nti/DLG0vISk/1O5KIDIEuTJUAyvY381zZwWO2rd9ziPK6Nh749BKm54z2KZmInCqVdwK488kySisbj9k2IjmJ73zgTC6aOcGnVCJyOlTeIXeguZPSyka+csUsvqRlgCKhoTnvkHtmWw0Ay8/K8zmJiMSSyjvkVm09wOxJmZyheW2RUFF5h1htSycbKhtYPl+jbpGwUXmH2DNlB3AOls/P9TuKiMSYyjvEVm2tYebE0czU5V1FQuek5W1mvzazWjPbNhyBJDbqWrt4dW8DV2nKRCSUBjPyvh9Y5nEOibFnyw4QcXC1ylsklE5a3s65F4GGYcgiMbRqaw3TczKYNUmrTETCSHPeIXSorYv1ew5x9fw8zMzvOCLigZiVt5mtMLONZraxrq4uVi8rp+C5Nw4ScXDVPE2ZiIRVzMrbObfSOVfinCvJycmJ1cvKKVi1tYai8aOYk6dVJiJhpWmTkGls7+al3YdYrikTkVAbzFLBR4CXgdlmVmVmn/E+lpyq7TUt9EUcF5yhqwWKhNlJryronLt+OIJIbFQ1dQBQMC7d5yQi4iVNm4RMdWMHZpCXpfIWCTOVd8hUN3UwMXMkI1L0n1YkzPQOD5n9TR1MydaoWyTsVN4hU93UwWSVt0joqbxDJBJx1DR1MmWsylsk7FTeIVLX1kV3X4R8jbxFQk/lHSJVjf3LBDXyFgk/lXeIVEfXeE/JHuVzEhHxmso7RKo18hZJGCrvEKluOkxWeiqjR570xFkRCTiVd4hUN2qNt0iiUHmHSHVTh6ZMRBKEyjsknHMaeYskEJV3SDR39NDe3Ue+Rt4iCUHlHRJH13hr5C2SEFTeIXF0jbdG3iIJQeUdEtUaeYskFJV3SFQ3dZCWmsS4jBF+RxGRYaDyDokjK01002GRxKDyDon+Nd66polIolB5h0S17qAjklBU3iFwuLuXhvZurfEWSSAq7xDY36SVJiKJRuUdAroJg0jiUXmHQLVG3iIJR+UdAtWNHaQkGZPGpPkdRUSGico7BKqbOsjNSiM5SWu8RRKFyjsEdClYkcSj8g4B3YRBJPGovAOupy/CwZZO8jXyFkkoKu+AO9DcScRpmaBIolF5B9zfb8Kg65qIJJJBlbeZLTOznWZWbma3ex1KBk83YRBJTCctbzNLBu4DrgLmAteb2Vyvg8ngHLkJQ16W1niLJJKUQeyzBCh3zu0BMLPfAR8A3vAyWJj09kXYcaCV3oiL+WuX7W8mJ3MkaanJMX9tEYlfgynvKcC+Ac+rgHO9iRNOj7z6Ft96ssyz118ybZxnry0i8Wkw5X280/beMYQ0sxXACoDCwsLTjBUu26pbGDsqlXs+ttCT15+TN8aT1xWR+DWY8q4CCgY8zwf2v30n59xKYCVASUlJ7OcHAqy8ro1ZkzJ5b/FEv6OISEgMZrXJBmCmmU0zsxHAx4GnvI0VHs45ymvbmDFxtN9RRCRETjryds71mtkXgWeBZODXzjnvJnBDpr6tm+aOHpW3iMTUYKZNcM6tAlZ5nCWUymvbAFTeIhJTOsPSY+V1Km8RiT2Vt8d217YxemQKubpRgojEkMrbY+W1bZyRk4GZbpQgIrGj8vZYf3lrykREYkvl7aHWzh4OtHRyhua7RSTGVN4e2l3XDujDShGJPZW3h7RMUES8ovL2UHltG6nJxtRxulGCiMSWyttD5bVtFI3PICVZv2YRiS21iod21+maJiLiDZW3R7p6+6g81K7yFhFPqLw9UlF/mIjTh5Ui4g2Vt0eOrDTRCToi4gWVt0fKa9swU3mLiDdU3h4pr2tjSnY66SN0Y2ARiT2Vt0d09xwR8ZLK2wN9EceeujZmaMpERDyi8vZAdWMHXb0RjbxFxDMqbw+U17UCWiYoIt5ReXtAF6QSEa+pvD1QXtvGhNEjyB41wu8oIhJSKm8P6O45IuK1FL8DDHTNj9fR2dPnd4zTtre+nX84p8DvGCISYnFV3mfkZNDdF/E7xmmblZup8hYRT8VVed/78UV+RxARCQTNeYuIBJDKW0QkgFTeIiIBpPIWEQkglbeISACpvEVEAkjlLSISQCpvEZEAMudc7F/UrA6oPMV/fAJQH8M4wyGImSGYuYOYGYKZW5mHzwQgwzmXM9h/wJPyPh1mttE5V+J3jqEIYmYIZu4gZoZg5lbm4XMquTVtIiISQCpvEZEAisfyXul3gFMQxMwQzNxBzAzBzK3Mw2fIueNuzltERE4uHkfeIiJyEipvEZEAipvyNrNlZrbTzMrN7Ha/85yImf3azGrNbNuAbePM7HkzezP6dayfGd/OzArMbI2ZbTezMjO7Lbo93nOnmdmrZvZ6NPe3o9unmdkr0dy/N7O4u9OzmSWb2Wtm9nT0eVxnNrMKM9tqZpvNbGN0W1wfHwBmlm1mj5nZjujxfX485zaz2dHf8ZFHi5l9+VQyx0V5m1kycB9wFTAXuN7M5vqb6oTuB5a9bdvtwGrn3ExgdfR5POkFvuKcmwOcB/xj9Pcb77m7gMuccwuAhcAyMzsP+B7wg2juRuAzPmY8kduA7QOeByHze51zCwesN4734wPgh8AzzrliYAH9v/O4ze2c2xn9HS8EzgYOA3/gVDI753x/AOcDzw54fgdwh9+53iVvEbBtwPOdQF70+zxgp98ZT5L/SeCKIOUGRgGbgHPpP4Mu5XjHTjw8gPzoG/Ay4GnAApC5Apjwtm1xfXwAY4C9RBdeBCX3gJzvA/52qpnjYuQNTAH2DXheFd0WFJOcczUA0a8Tfc5zQmZWBCwCXiEAuaPTD5uBWuB5YDfQ5Jzrje4Sj8fKvcDXgCN30x5P/Gd2wHNmVmpmK6Lb4v34mA7UAb+JTlH90swyiP/cR3wceCT6/ZAzx0t523G2aQ1jjJnZaOBx4MvOuRa/8wyGc67P9f+JmQ8sAeYcb7fhTXViZvZ+oNY5Vzpw83F2jZvMURc65xbTP3X5j2Z2id+BBiEFWAz8zDm3CGgnjqZI3k30M49rgUdP9TXipbyrgIIBz/OB/T5lORUHzSwPIPq11uc872BmqfQX98POuSeim+M+9xHOuSZgLf1z9tlmlhL9UbwdKxcC15pZBfA7+qdO7iW+M+Oc2x/9Wkv/HOwS4v/4qAKqnHOvRJ8/Rn+Zx3tu6P+f5Cbn3MHo8yFnjpfy3gDMjH4iP4L+Pyee8jnTUDwF3Bj9/kb655TjhpkZ8Ctgu3PungE/ivfcOWaWHf0+HVhK/wdSa4DrorvFVW7n3B3OuXznXBH9x/ELzrlPEseZzSzDzDKPfE//XOw24vz4cM4dAPaZ2ezopsuBN4jz3FHX8/cpEziVzH5P2g+YvF8O7KJ/TvNf/c7zLjkfAWqAHvr/z/8Z+uc0VwNvRr+O8zvn2zJfRP+f6VuAzdHH8gDkPgt4LZp7G3BndPt04FWgnP4/O0f6nfUE+d8DPB3vmaPZXo8+yo68/+L9+IhmXAhsjB4jfwTGxntu+j98PwRkDdg25Mw6PV5EJIDiZdpERESGQOUtIhJAKm8RkQBSeYuIBJDKW0QkgFTeIiIBpPIWEQmg/w+07pgz0ny+vwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"df = pd.DataFrame(flattened_dict['total deaths'])\n",
"df['norm_total_deaths'] = (1+df[0])/2\n",
"df['lognorm_total_deaths'] = np.log(df['norm_total_deaths'])\n",
"df['lognorm_total_deaths'].plot()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x118964048>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"df = pd.DataFrame(flattened_dict['total cases'])\n",
"df['norm_total_cases'] = (1+df[0])/2\n",
"df['lognorm_total_cases'] = np.log(df['norm_total_cases'])\n",
"df['lognorm_total_cases'].plot()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x118a3ada0>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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94zvuV+/frJo0aKK93z8+HFZtmyZREdHy4EDB8TpdMqAAQPk22+/Pe09AfLRRx+JiMhjjz0mzzzzjIiI5OTkiMvlEhGRN954Q379619XeeyqvqtAqlQzZ/2v+eXIDph/JxzeBJc+AsOfgsCaX52llKetWLGCm2++mcDAQFq0aMGQIUNYtWoVK1asYMKECQQEBBAfH19xxltu3LhxAPTp04dFixZV7GvhwoUADB8+nOzsbPLy8gC4+uqrCQsLq3j9sGHDiIqKIioqipiYGMaOta6Q7tGjR8UZ/rls27aNDh060KmT1e134sSJzJgxg6nKe1gAAAuXSURBVClTppy27bx585g5cyYOh4P09HS2bNlCYmLiWff/448/Mnjw4IqLb+Li4gDIy8tj4sSJ7NixA2MMZWVlAAwcOJA///nPpKWlMW7cOC666CJSUlJYvXo1ffv2BaCoqIjmzZszduxYdu/ezUMPPcRVV13FqFGjqqyhoKCAgwcPct111wHWVZ7l+vXrR0JCAgC9evVi7969DBo06KTXN2rUqKLtvU+fPixduhSwLoC78cYbSU9Pp7S0tFYXGJ2NfzW/bJgPM4daFxPdMh8u+5MGuvI6IlXPFXOm9eVCQqyrmgMDA3E4HGd8TXlf54iIiCpfDxAQEFDxOCAgoGJ/Na39VHv27OGFF14gJSWFDRs2cNVVV1VriAYRqbKv9lNPPcWwYcPYtGkTH3/8ccW+brnlFj766CPCwsK4/PLL+eqrrxARJk6cyLp161i3bh3btm1j2rRpNG7cmPXr1zN06FBmzJjB3Xfffd7vsfJnWPnPobLg4OCK91B5m4ceeogHH3yQjRs38vrrr9fZkBX+E+orpsOiuyG+B9y7AjpV/a+wUnYbPHgwc+fOxel0kpWVxTfffEO/fv0YNGgQCxcuxOVycfjwYZYvX16tfb377ruA1TujadOmREd7do7cqKgoCgoKAOjSpQt79+5l586dAMyePZshQ4actl1+fj4RERHExMRw+PBhPvvss2oda+DAgXz99dfs2bMHoKKtPy8vj9atrSmQZ82aVbH97t276dixIw8//DBXX301GzZsYMSIESxYsIDMzMyKfezbt48jR47gcrkYP348zzzzDGvWrKmyhujoaBISEli8eDEAJSUl1erVcy6V38M777xT6/2diX80vxTlwjcvQKcr4MZ3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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"china = \"\"\"547\t639\t916\t1,399\t2,062\t2,863\t5,494\t6,070\t8,124\t9,783\t11,871\t16,607\t19,693\t23,680\t27,409\t30,553\t34,075\t36,778\t39,790\t42,306\t44,327\t44,699\t59,832\t66,292\t68,347\t70,446\t72,364\t74,139\t74,546\t74,999\t75,472\t76,922\t76,938\t77,152\t77,660\t78,065\t78,498\t78,824\t79,251\t79,826\t80,026\t80,151\t80,271\t80,422\t80,573\t80,652\t80,699\t80,735\t80,757\t80,921\t80,932\t80,945\t80,977\t81,003\t81,033\t81,058\t81,102\t81,156\t81,250\t81,305\t81,397\t81,496\t81,591\t81,661\t81,782\t81,897\t81,999\t82,122\t82,198\t82,279\t82,381\"\"\".replace(\",\",\"\").split(\"\\t\")\n",
"numbers_china = []\n",
"for i in china:\n",
" numbers_china.append(int(i))\n",
"df_china = pd.DataFrame(numbers_china)\n",
"df_china['norm_total_cases'] = (1+df_china[0])/2\n",
"df['lognorm_total_cases_china'] = np.log(df_china['norm_total_cases'])\n",
"\n",
"df[['lognorm_total_cases_china','lognorm_total_cases']].plot()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZYAAAD4CAYAAADPccAIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deXyV5Z338c+PhBC2sIYIhBBkRwSUqBCqIlpFxF0rVhGs89Cx2pe1WqfM2Kd2tZ3ptPZpO05tlQS1orUuHes6CtoxYQlLAFlVTha2EELYIdvv+ePc0QwixJCTc07yfb9eeeXc132fO78bDvlyXfdymbsjIiLSXNpFuwAREWldFCwiItKsFCwiItKsFCwiItKsFCwiItKsEqNdQEvr3bu3Z2ZmRrsMEZG4snz58nJ3T23MthEPFjNLAAqAre4+3cweB7IAAzYBs939gJkNBJ4AUoEK4FZ3Lw32kQH8ERgAODDN3UNmNghYAPQEVgAz3b3qRPVkZmZSUFAQiUMVEWm1zKyosdu2xFDYPcD6Bsv3uvtYdx8DFAN3B+2/AOYH7T8EHm7wnvnAv7n7SOBcoCxo/znwK3cfCuwB7ojcYYiISGNENFjMLB24gnBvAwB33xesM6Aj4R4IwCjg7eD1QuDqYLtRQKK7vxW8/4C7HwrePwV4PnhPLnBNJI9HREROLtI9lkeAB4C6ho1mNg/YAYwAfhM0FwLXB6+vBbqaWS9gGFBpZi+Y2Uoz+7dgeK0XUOnuNcF7SoH+xyvCzOaYWYGZFezatasZD09ERI4VsWAxs+lAmbsvP3adu98O9CM8RHZT0Hw/cKGZrQQuBLYCNYTPA50frD8HOB2YTfgczWd2fbxa3P0xd89y96zU1EadexIRkSaKZI9lEnCVmYUIn2CfYmZP1a9091rgWYJeirtvc/fr3P0s4F+Ctr2EeyIr3f3joHfyEnA2UA50N7P6CxDSgW0RPB4REWmEiAWLu89193R3zwRmAO8AM81sCHxyjuVKYEOw3NvM6uuZS/gKMYBlQA8zq+9qTAHWefjpmQuBG4L2WcDLkToeERFpnJa+QdKAXDNbA6wB+hK+AgxgMrDRzDYBacBP4JOezf3A28H7DPhD8J5/Ar5tZh8SPufyeAsdh4iIfA5ra4/Nz8rKct3HIiJthbuzZEsF723axQNTRzR5P2a23N2zGrNtm7vzXkSkLThcVcvLq7aSkxdiw479dOvYntnZmfRJSY74z1awiIi0IqV7DvHk4iKeXVZC5aFqRpzWlYevO5NrxvWnY1JCi9SgYBERiXPuTv5Hu8nJC/Hf63diZlw6Ko1Z2ZmcN6gn4WulWo6CRUQkTh2qquHFlVvJzQuxaecBenRqzz9eOJhbJwykX/eOUatLwSIiEmeKdx9ifn6I5wpK2HekhjP6pfCvN4zhqrH9SG7fMsNdJ6JgERGJA+7O/3xYTm5eiLc3lJFgxtTRpzE7O5PxA3u0+HDXiShYRERi2IGjNbywopTcvBAf7TpIr85J3H3REG45byCndYv8FV5NoWAREYlBW8oPMj8/xPMFpew/WsPY9G788itjuWJMXzokRn+460QULCIiMaKuznlv8y5y8kIs2riL9gnGtDP7Mjs7k7MyekS7vEZTsIiIRNn+I9U8v7yUJ/OL+Lj8IKldO/CtS4by1fMy6NM1Noe7TkTBIiISJR/tOsD8vBDPLy/lYFUtZ2V059czxnH56L4kJbb0oxybj4JFRKQF1dU5CzeWkZMX4u+by0lKaMf0seHhrjHp3aNdXrNQsIiItIC9h6v5c0EJ8/OLKK44RFpKB+778jBuPi+D3l06RLu8ZqVgERGJoM0795OTF+LFlVs5VFVL1sAefOey4UwdfRrtE+J3uOtEFCwiIs2sts55e/1OcvJC5H20m6TEdlw9th+zsjMZ3b9btMuLOAWLiEgzqTxUxbPLSnhycRGlew7Tr1syD0wdzoxzMujZOSna5bUYBYuIyClav30fuXkhXlq1lSPVdZw3qCf/Mm0kXx6VRmIrHe46EQWLiEgT1dU5P399A79/72OS27fjmnH9mZWdyci+KdEuLaoULCIiTXC4qpZvPbuSNz7YyVfPy+CBy4bTvVPbGe46EQWLiMgXVLbvCP8wv4A1W/fyvemj+NqkzJh6unC0KVhERL6Addv28Q+5y6g8XM0fZmZxyai0aJcUcxQsIiIn4e7kf7yb3LwQb63bSZ+uyTz39Ylt4tLhplCwiIh8jvqpf+fnFbFx5356dGrP1y8czNcmDSK1a+u6W745KVhERI4R61P/xjoFi4gIn536t12DqX+zYmzq31inYBGRNi0ep/6NdQoWEWmTQuUHyc3/dOrfMend+Pcbw1P/arjr1ChYRKTNqKtz3t28i9xg6t/EdsYVY/oyKzuTswZ013BXM1GwiEirVz/17/z8IraUH6R3lw7cc/FQbjkvgz4pGu5qbgoWEWm1jp36d9yA1jH1b6yLeLCYWQJQAGx19+lm9jiQBRiwCZjt7gfMbCDwBJAKVAC3untpg/2kAOuBF9397qBtPJADdAReBe5xd4/0MYlI7KqrcxZtKiMnr4j3Nu0KT/0bDHeNHdA6pv6NdS3RY7mHcCDUP+7zXnffB2BmvwTuBn4G/AKY7+65ZjYFeBiY2WA/PwLePWbfjwJzgMWEg2Uq8FqEjkNEYlj91L9PLi6iaPenU//OODdDNzO2sIgGi5mlA1cAPwG+DdAgVIxwT6O+hzEKuDd4vRB4qcF+xgNpwOuEezuYWV8gxd3zg+X5wDUoWETalM0795ObH+KFFZ9O/Xv/pa176t9YF+keyyPAA0DXho1mNg+YBqwD7guaC4HrgV8D1wJdzawXsAf4d8K9l4sb7KY/UNpguTRo+wwzm0O4Z0NGRsYpHZCIRF/91L+5+SHe/7DtTf0b6yIWLGY2HShz9+VmNrnhOne/PTj38hvgJmAecD/wWzObDbwHbAVqgG8Ar7p7yTGXAh7vusDjnl9x98eAxwCysrJ0DkYkTlUequK5ghLm54en/u3bLZnvXDacm89tW1P/xrpI9lgmAVeZ2TQgGUgxs6fc/VYAd681s2eB7wDz3H0bcB2AmXUBrnf3vWY2ETjfzL4BdAGSzOwA4Z5NeoOflw5si+DxiEiUbNgRnvr3xZWa+jceRCxY3H0uMBcg6LHcD8w0syHu/mFwjuVKYEOwTW+gwt3rgvc9Eeznlvp9Br2ZLHf/brC838wmAEuA2wj3gESkFaipreOtdTvJyQuxZEuFpv6NIy19H4sBucGlw0b4vMqdwbrJwMNm5oSHwu5qxP7u5NPLjV9DJ+5F4l7FwSoWLCvmqfwitu09Qv/uHZl7+QhuOmeApv6NE9bWbvvIysrygoKCaJchIsdYu3UvuXkhXi7cRlVNHdmDezErO5NLRqaR0E6PWok2M1vu7lmN2VZ33otI1FTX1vHGBzvIzQuxLLSHju0TuHF8OrOyMxmW1vXkO5CYpGARkRZXfuAozywp5uklxezYd4SMnp148IqR3Jg1gG4d20e7PDlFChYRaTGFJZXk5oV4ZfV2qmrrOH9ob35y7WgmD++j4a5WRMEiIhFVVVPHa2u3k5MXYmVxJZ2SEphx7gBum5jJkD5dol2eRICCRUQiomzfEZ5eUsyflhaza/9RMnt14v9OH8UNWemkJGu4qzVTsIhIs3F3VgbDXa+u2U51rTN5eCqzsjO5cGgq7TTc1SYoWETklB2tqeVvq8PDXatL99KlQyK3nDeQ2yYO5PRUDXe1NQoWEWmynfuO8PTiIv60tJjyA1UMTu3MD68+g+vOTqdLB/16aav0Ny8iX4i7s7xoDzl5IV5fu4Nad6YM78Os7EzOH9pb88aLgkVEGudIdS3/VbiNnLwQH2zbR9fkRGZnZzJz4kAG9uoc7fIkhihYROSEtlUe5qnFRSxYVkLFwSqGpXXhx9eM5rqz+9MpSb9C5LP0qRCRz3B3lmypIDcvxJvrduLuXDIyjdnZmUwc3EvDXXJCChYR+cThqlpeXrWVnLwQG3bsp1vH9vzD+YO49byBDOjZKdrlSZxQsIgIJRWHPhnu2nu4mhGndeVn153J1eP60zEpIdrlSZxRsIi0Ue5O/ke7yckL8d/rd2JmXHZGGrMmZnLuoJ4a7pImU7CItDGHqmp4YcVW5ueH2LTzAD07J3Hn5MHcct5A+nXvGO3ypBVQsIi0EUW7DzI/v4jnCkrYf6SG0f1T+LcbxnDl2H4kt9dwlzQfBYtIK+bu/H1zObl5Id7ZWEaCGZef2ZfZ2QM5O6OHhrskIhQsIq3QgaM1vLCilNy8EB/tOkjvLkl886Ih3DJhIGkpydEuT1o5BYtIK7Kl/CC5eSH+sryU/UdrGJvejV/dNJZpZ/alQ6KGu6RlKFhE4lxdnfPu5l3k5oVYtHEX7ROMK87sy6zsTM7K6BHt8qQNUrCIxKn9R6p5fnkp8/OL2FJ+kNSuHfjWJUP56nkZ9Omq4S6JHgWLSJz5sOwA8/PDw10Hq2o5K6M7v54xjstH9yUpsV20yxNRsIjEg9o6Z9HGMnLyQvx9czlJCe2YPrYvs7MzGZPePdrlifwvChaRGLb3cDV/Lihhfn4RxRWHOC0lmfsvHcaMczPo3aVDtMsTOS4Fi0gM2rRzPzl5IV5csZXD1bVkDezBA1OHc9kZp9E+QcNdEtsULCIxorbO+e/1O8nNC5H30W6SEttx9dh+zMrOZHT/btEuT6TRFCwiUVZ5qIoFy0p4Mr+IrZWH6dctmQemDmfGORn07JwU7fJEvjAFi0iUrN++j9y8EC+t2sqR6jomnN6T700fySUj00jUcJfEMQWLSAuqqa3jzXU7yckLsXRLBcnt23HtWf2ZlZ3JiNNSol2eSLOIeLCYWQJQAGx19+lm9jiQBRiwCZjt7gfMbCDwBJAKVAC3unupmY0DHgVSgFrgJ+7+bLDvQcACoCewApjp7lWRPiaRL6riYBXPLC3m6cVFbNt7hPQeHfnnaSP4StYAunfScJe0Li3RY7kHWE84GADudfd9AGb2S+Bu4GfAL4D57p5rZlOAh4GZwCHgNnffbGb9gOVm9oa7VwI/B37l7gvM7D+BOwiHkEhMWLt1Lzl5If5auI2qmjomDenFD64ezZQRfUhopycLS+sU0WAxs3TgCuAnwLcBGoSKAR0BDzYfBdwbvF4IvBRsv6l+f+6+zczKgFQz2wtMAb4arM4FHkLBIlFWXVvH62t3kJMXYnnRHjolJfCVrHRmTcxkaFrXaJcnEnGR7rE8AjwA/K9/TWY2D5gGrAPuC5oLgeuBXwPXAl3NrJe7727wvnOBJOAjoBdQ6e41wepSoP/xijCzOcAcgIyMjGY5MJFj7dp/NDzctaSInfuOMrBXJx68YiQ3Zg2gW8f20S5PpMVELFjMbDpQ5u7LzWxyw3Xufntw7uU3wE3APOB+4LdmNht4D9gK1DTYX1/gSWCWu9fZ8Wco8uO04e6PAY8BZGVlHXcbkaYqLKkkJy/E31Zvp6q2jguGpfLwdQOZPKwP7TTcJW1QJHssk4CrzGwakAykmNlT7n4rgLvXmtmzwHeAee6+DbgOwMy6ANe7+95gOQX4G/Cguy8O9l8OdDezxKDXkg5si+DxiHyiqqaOV9dsJycvxKqSSjonJXDzuQO4LTuTwaldol2eSFRFLFjcfS4wFyDosdwPzDSzIe7+YdDjuBLYEGzTG6hw97rgfU8E7UnAi4RP7P+5wf7dzBYCNxC+MmwW8HKkjkcEoGzfEZ5eUsyflhaza/9RTu/dmYeuHMX149PpmqzhLhFo+ftYDMgNeiBG+LzKncG6ycDDZuaEh8LuCtq/AlwA9AqGySB8ifIq4J+ABWb2Y2Al8HhLHIS0Le7OypJKct4P8dra7dTUOZOHpTJ70iDOH9Jbw10ixzD3tnXKISsrywsKCqJdhsSBozW1vFK4ndz8EKtL99K1QyI3Zg3gtokDyezdOdrlibQoM1vu7lmN2VZ33oscY8feIzy9pIg/LSlm98EqhvTpwo+uPoPrzk6ncwf9kxE5Gf0rESE83FVQtIecvBBvrN1BrTsXj0hjdnYmk4b04vgXIYrI8ShYpE07Ul3LX1dtIycvxLrt+0hJTuT2SZnMnJBJRq9O0S5PJC4pWKRN2lp5mKcWF7FgaTF7DlUzPK0rP732TK45qx+dkvTPQuRU6F+QtBnuzuKPK8jNC/Hmuh0AfHlUGrOyM5l4uoa7RJqLgkVavcNVtby4civz80Ns2LGf7p3aM+eCwdw6IYP0HhruEmluChZptbZVHiYnL8Szy0rYe7iakX1T+Pn1Z3L1uP4kt0+IdnkirZaCRVql9z8s5x+fWs6hqlqmnnEas7IzOSezh4a7RFqAgkVanQVLi3nwpbUMTu3CY7eNZ2Av3cwo0pIULNJq1NU5P399A79/72MuHJbKb796lp7fJRIFChZpFSoOVvHPL6zh9Q92cOuEDB668gwSE9pFuyyRNknBInFt7da95OaFeLlwG9W1dXxv+ii+NilT51JEokjBInGnuraONz7YQW5eiGUhTf0rEmsaFSxmNozwXPJp7j7azMYAV7n7jyNanUgD5QeO8sySYp5eUsyOfUc09a9IjGpsj+UPhGd6/D2Au682sz8BChaJuNWl4al/XykMT/17/tDe/PS60Zr6VyRGNTZYOrn70mPGrWs+b2ORU1VVU8dra8NT/64s1tS/IvGkscFSbmaDAQcwsxuA7RGrStqsY6f+HdS7M9+/chQ3aOpfkbjR2GC5C3gMGGFmW4EtwC0Rq0ralPqpf3PzQry6ZjvVtc7k4anMzs7kgqGpGu4SiTONDRZ390vMrDPQzt33m9mgSBYmrd/Rmlr+tjo83FU/9e+tEwZy28RMBmnqX5G41dhg+QtwtrsfbND2PDC++UuS1q5+6t9nlhZTfqCKwamd+WEw9W8XTf0rEvdO+K/YzEYAZwDdzOy6BqtSgORIFiatz97D1Xz/5bW8snp7MPVvH2ZlZ/KlIb11Q6NIK3Ky/x4OB6YD3YErG7TvB/5PpIqS1qd49yFuz1lKccUhZmVnMmuipv4Vaa1OGCzu/jLwsplNdPf8FqpJWpnlRXuYM7+Amjpn/tfOY+LgXtEuSUQiqLED2ivN7C7Cw2KfDIG5+9ciUpW0Gv9VuI37/lxI327JPDH7HN2DItIGNPbxr08CpwGXAe8C6YSHw0SOa/PO/cx9YQ3ffGYlY9O78eI3JilURNqIxvZYhrj7jWZ2tbvnBo9zeSOShUn8qa1z3l6/k9z8EO9/uJukxHbMmjiQf75iJB0SNRWwSFvR2GCpDr5XmtloYAeQGZGKJO5UHqri2WUlPLm4iNI9h+nbLZkHpg5nxjkZ9OycFO3yRKSFNTZYHjOzHsCDwF+BLsD3IlaVxIUNO/aRmxfixZVbOVJdx7mDevIv00by5VFpmmRLpA072X0s326weHvw/XfBd90a3QbV1Nbx1rrwcNfijytIbt+Oa8b1Z1Z2JiP7pkS7PBGJASfrsdTPmjQcOIdwbwXC97S8F6miJPZUHKzimaXFPL24iG17j9C/e0fmXj6Cm84ZQPdOGu4SkU+d7D6WHwCY2ZuEH+myP1h+CPhzY36AmSUABcBWd59uZo8DWYABm4DZ7n7AzAYCTwCpQAVwq7uXBvuYRXgYDuDH7p4btI8HcoCOwKvAPe7ujTt0aYyGU/9W1dSRPbgX37/qDC4ZmUaCHg4pIsfR2HMsGUBVg+UqGn/y/h5gPeHHwADc6+77AMzsl8DdwM+AXwDzg6vOpgAPAzPNrCfwfcJh5MByM/uru+8hPKvlHGAx4WCZCrzWyLrkcxw79W/H9gncMD489e/w0zT1r4icWGOD5UlgqZm9SPiX+7VA7sneZGbpwBXAT4BvAzQIFSPc06jvYYwC7g1eLwReCl5fBrzl7hXB+94CpprZIiCl/okAZjYfuAYFS5OVHzjKgqXFPLU4PPVvRs9g6t/xA+jWSXOhiEjjNCpY3P0nZvYacH7QdLu7r2zEWx8BHuDTczUAmNk8YBqwDrgvaC4Ergd+TTi4uppZL6A/UNLg7aVBW//g9bHtn2Fmcwj3bMjIyGhE2W3LmtK9zMvb8r+m/v3xNaO5aEQfDXeJyBfW6GeUu/sKYEVjtzez6UCZuy83s8nH7Ov24NzLb4CbgHnA/cBvzWw24QsDthKe/vh4v9n8BO3Hq/0xwhOVkZWVpXMwgdo652evrecPf99C56QEZpw7gNsmZjKkj+6QF5Gmi+TkF5OAq8xsGuHni6WY2VPufiuAu9ea2bPAd4B57r4NuA7AzLoA17v7XjMrBSY32G86sIhwDyX9mPZtETyeVuVQVQ33LFjFW+t2ctvEgXznsuGa+ldEmkXE7mJz97nunu7umcAM4B3CJ+OHwCfnWK4ENgTLvc2svp65hK8Qg/CjYy41sx7BTZqXAm+4+3Zgv5lNCPZ1G/BypI6nNdm57whf+X0+b6/fyUNXjuKHV49WqIhIs2np6foMyDWzlOB1IXBnsG4y8LCZOeGhsLsA3L3CzH4ELAu2+2H9ifzgvTmELwJ4DZ24P6kPtu3ljpwC9h+p5o+zspgyIi3aJYlIK2Nt7baPrKwsLygoiHYZUfHOhp3c/aeVdOvYnsdnncOofrpTXkQax8yWu3tWY7bVBONtxLz3t/CjV9ZxRr9u/HFWFmkpmllaRCJDwdLK1dTW8aNX1pGbX8Slo9J4ZMY4OiXpr11EIke/YVqx8gNHuf/PhSzauIs5F5zOd6eOoJ3uSxGRCFOwtEKFJZXk5oV4ZfV2at356bVn8tXzdGOoiLQMBUsrUVVTx6trtpOTF2JVSSWdkxK4+dwB3JadqSmBRaRFKVjiXNm+Izy1pJg/LSmm/MBRBvXuzENXjuL68em6N0VEokLBEofcnRXF4eGuV9dsp6bOuWh4KrOyM7lgaKrOo4hIVClY4sjRmlpeKQwPd63ZupeuHRKZOXEgt03MZFBvTegpIrFBwRIHqmvreHTRR+Tmhdh9sIohfbrwo6vP4Lqz0+ncQX+FIhJb9Fspxu07Us1dT6/g75vLuWRkH2ZnD2LSkF6EH48mIhJ7FCwxrKTiEF/LWcaW8oP86/Vj+Mo5A6JdkojISSlYYtSK4j3MmV9AVU0d8792LtlDeke7JBGRRlGwxKB3N+1izvwC0lKSWTDnHE28JSJxRcESY+rqnB/81wek9+jIc1+fSK8uHaJdkojIFxKxib6kad5ct5OPdx3kW5cMU6iISFxSsMQQd+fRdz9iYK9OXD76tGiXIyLSJAqWGJL/8W4KSyqZc8HpJCbor0ZE4pN+e8WQRxd9RO8uHbj+7PRolyIi0mQKlhixdute/r65nDu+NIjk9gnRLkdEpMkULDHi0Xc/omuHRG6ZoHlTRCS+KVhiwJbyg7y2Zju3ThxIih51LyJxTsESAx5772MSE9px+6TMaJciInLKFCxRtrXyMH9ZXsqN49Pp0zU52uWIiJwyBUuU/fTV9bRrB9+4aEi0SxERaRYKlijK/2g3f1u9nW9MHkL/7h2jXY6ISLNQsERJTW3dJ88Em3PB6dEuR0Sk2ShYouTpJcVs2LGfB68YpftWRKRVUbBEQcXBKv79zY18aUhvLjsjLdrliIg0KwVLFPzizY0crKrl+1eO0hTDItLqRDxYzCzBzFaa2SvB8uNmVmhmq83seTPrErRnmNnCYNvVZjYtaG9vZrlmtsbM1pvZ3Ab7nmpmG83sQzP7bqSPpTms3bqXZ5YWM2tiJkPTuka7HBGRZtcSPZZ7gPUNlu9197HuPgYoBu4O2h8EnnP3s4AZwH8E7TcCHdz9TGA88HUzyzSzBOB3wOXAKOBmMxsV+cM5Nb98axM9OiVxzyVDo12KiEhERDRYzCwduAL4Y32bu+8L1hnQEfD6VUBK8LobsK1Be2czSwy2rwL2AecCH7r7x+5eBSwAro7k8ZyqbZWHWbSxjFvOy6BbRz26RURap0j3WB4BHgDqGjaa2TxgBzAC+E3Q/BBwq5mVAq8C3wzanwcOAtsJ93B+4e4VQH+gpMFuS4O2zzCzOWZWYGYFu3btaobDaprnl5dS5/CVrAFRq0FEJNIiFixmNh0oc/flx65z99uBfoSHyG4Kmm8Gctw9HZgGPGlm7Qj3TGqD7QcB95nZ6cDxznr7cdpw98fcPcvds1JTU0/xyJqmrs55dlkJXxrSmwE9O0WlBhGRlhDJHssk4CozCxEepppiZk/Vr3T3WuBZ4Pqg6Q7guWBdPpAM9Aa+Crzu7tXuXga8D2QR7qE0/K9/Op8On8Wc9z8qZ2vlYW46R70VEWndIhYs7j7X3dPdPZPwyfh3gJlmNgQ+OcdyJbAheEsxcHGwbiThYNkVtE+xsM7AhOA9y4ChZjbIzJKCn/HXSB3PqVqwrITundpzqe5bEZFWLrGFf54BuWaWErwuBO4M1t0H/MHM7iU8pDXb3d3MfgfMA9YG75nn7qsBzOxu4A0gAXjC3T9o0aNppIqDVbz5wQ5mTsikQ6LusheR1q1FgsXdFwGLgsVJn7PNuuOtc/cDhC85Pt57XiV8oj+mvbCilOpa1zCYiLQJuvM+wtzDJ+3PyujO8NN0Q6SItH4KlghbUVzJ5rIDzFBvRUTaCAVLhD27rJjOSQlMH9Mv2qWIiLQIBUsEHThawyurt3Pl2H507tDS10mIiESHgiWCFm4o41BVLdePT492KSIiLUbBEkELN5TRo1N7zs7oEe1SRERajIIlQmrrnEWbdnHhsFQS2mnOFRFpOxQsEVJYWknFwSouGtEn2qWIiLQoBUuELNxQRjuDC4dF56GXIiLRomCJkHc2lDF+YA+6d0qKdikiIi1KwRIBO/cd4YNt+zQMJiJtkoIlAhZuKANgioJFRNogBUsEvLOhjH7dkhmepmeDiUjbo2BpZkdravmfD8u5aEQfwlPOiIi0LQqWZrZ0SwWHqmo1DCYibZaCpZm9s6GMDontyB7cO9qliIhEhYKlmS3cUMbEwb3omKSZIkWkbVKwNKOPdx0gtPuQhsFEpE1TsDSjd4LLjC8armARkbZLk4Q0g+17D/P04mKeWlLEsLQuDOjZKdoliYhEja4q3fcAAAgqSURBVILlFBSEKpj3fojXP9hBnTsXj0jjvkuHRbssEZGoUrA00bJQBTf+Zz4pyYnc8aVBzJwwUD0VEREULE32983ltDN474GL9KBJEZEGdPK+iQpLKhmW1lWhIiJyDAVLE7g7haWVjE3vHu1SRERijoKlCYp2H6LyUDXjMhQsIiLHUrA0waqSSgD1WEREjkPB0gSrSirp2D6BYWldol2KiEjMUbA0waqSSs7s343EBP3xiYgcS78Zv6CqmjrWbdun8ysiIp8j4sFiZglmttLMXgmWHzezQjNbbWbPm1mXoD3DzBYG2642s2kN9jHGzPLN7AMzW2NmyUH7+GD5QzP7f9YCM2ut376Pqto6nV8REfkcLdFjuQdY32D5Xncf6+5jgGLg7qD9QeA5dz8LmAH8B4CZJQJPAf/o7mcAk4Hq4D2PAnOAocHX1Mgeyqcn7tVjERE5vogGi5mlA1cAf6xvc/d9wToDOgJevwpICV53A7YFry8FVrt7YfD+3e5ea2Z9gRR3z3d3B+YD10TyeCB8Y2Rq1w7065Yc6R8lIhKXIt1jeQR4AKhr2Ghm84AdwAjgN0HzQ8CtZlYKvAp8M2gfBriZvWFmK8zsgaC9P1DaYLelQdtnmNkcMysws4Jdu3ad0gGtKgnfGKn57EVEji9iwWJm04Eyd19+7Dp3vx3oR3iI7Kag+WYgx93TgWnAk2bWjvDzzL4E3BJ8v9bMLgaO95vdj9OGuz/m7lnunpWamtrkY9p7qJqPyw9ylobBREQ+VyR7LJOAq8wsBCwAppjZU/Ur3b0WeBa4Pmi6A3guWJcPJAO9CfdE3nX3cnc/RLg3c3bQnt7g56Xz6fBZRBSW6sZIEZGTiViwuPtcd09390zCJ+PfAWaa2RD45BzLlcCG4C3FwMXBupGEg2UX8AYwxsw6BSfyLwTWuft2YL+ZTQj2dRvwcqSOB8LnVwDGDOgWyR8jIhLXWvqx+QbkmllK8LoQuDNYdx/wBzO7l/CQ1uzgpPweM/slsCxof9Xd/xa8504gh/BFAK8FXxGzqqSSwamdSUluH8kfIyIS11okWNx9EbAoWJz0OdusO8G6pwhfcnxsewEwulmKPIn6JxpfOEzz2YuInIjuvG+k0j2HKT9QxTgNg4mInJCCpZE+uTFyQI8oVyIiEtsULI1UWFJJUmI7RvTtGu1SRERimoKlkVaVVDK6Xwrt9URjEZETaumrwuLW2AHd6avHuIiInJSCpZG+N31UtEsQEYkLGtcREZFmpWAREZFmpWAREZFmpWAREZFmpWAREZFmpWAREZFmpWAREZFmpWAREZFmZeEpT9oOM9sFFDXx7b2B8mYspyXEY80Qn3XHY80Qn3Wr5pZTX/dAd2/U3O5tLlhOhZkVuHtWtOv4IuKxZojPuuOxZojPulVzy2lK3RoKExGRZqVgERGRZqVg+WIei3YBTRCPNUN81h2PNUN81q2aW84XrlvnWEREpFmpxyIiIs1KwSIiIs1KwdIIZjbVzDaa2Ydm9t1o1/N5zOwJMyszs7UN2nqa2Vtmtjn43iOaNR7LzAaY2UIzW29mH5jZPUF7rNedbGZLzawwqPsHQfsgM1sS1P2smSVFu9ZjmVmCma00s1eC5XioOWRma8xslZkVBG2x/hnpbmbPm9mG4PM9MZZrNrPhwZ9v/dc+M/tWU2pWsJyEmSUAvwMuB0YBN5tZrE4nmQNMPabtu8Db7j4UeDtYjiU1wH3uPhKYANwV/PnGet1HgSnuPhYYB0w1swnAz4FfBXXvAe6IYo2f5x5gfYPleKgZ4CJ3H9fgnopY/4z8Gnjd3UcAYwn/mcdsze6+MfjzHQeMBw4BL9KUmt1dXyf4AiYCbzRYngvMjXZdJ6g3E1jbYHkj0Dd43RfYGO0aT1L/y8CX46luoBOwAjiP8B3Kicf77MTCF5Ae/HKYArwCWKzXHNQVAnof0xaznxEgBdhCcIFUPNR8TJ2XAu83tWb1WE6uP1DSYLk0aIsXae6+HSD43ifK9XwuM8sEzgKWEAd1B0NKq4Ay4C3gI6DS3WuCTWLxs/II8ABQFyz3IvZrBnDgTTNbbmZzgrZY/oycDuwC5gXDjn80s87Eds0NzQCeCV5/4ZoVLCdnx2nTNdrNzMy6AH8BvuXu+6JdT2O4e62Hhw3SgXOBkcfbrGWr+nxmNh0oc/flDZuPs2nM1NzAJHc/m/CQ9F1mdkG0CzqJROBs4FF3Pws4SAwNe51IcI7tKuDPTd2HguXkSoEBDZbTgW1RqqUpdppZX4Dge1mU6/kMM2tPOFSedvcXguaYr7ueu1cCiwifI+puZonBqlj7rEwCrjKzELCA8HDYI8R2zQC4+7bgexnhcf9zie3PSClQ6u5LguXnCQdNLNdc73JghbvvDJa/cM0KlpNbBgwNrpxJItxF/GuUa/oi/grMCl7PInwOI2aYmQGPA+vd/ZcNVsV63alm1j143RG4hPDJ2YXADcFmMVW3u89193R3zyT8OX7H3W8hhmsGMLPOZta1/jXh8f+1xPBnxN13ACVmNjxouhhYRwzX3MDNfDoMBk2pOdonieLhC5gGbCI8hv4v0a7nBHU+A2wHqgn/j+kOwmPobwObg+89o13nMTV/ifDQy2pgVfA1LQ7qHgOsDOpeC/zfoP10YCnwIeGhhA7RrvVz6p8MvBIPNQf1FQZfH9T/G4yDz8g4oCD4jLwE9IiDmjsBu4FuDdq+cM16pIuIiDQrDYWJiEizUrCIiEizUrCIiEizUrCIiEizUrCIiEizUrCIiEizUrCIiEiz+v83xeO0VyFfYQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAD4CAYAAAAZ1BptAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3dd3hU55n+8e+DRBW9FyFEM9UUW8ZGjh07uGLHvSaxwfGGZOO036bZ3k3itF1nN3Wz+XmXTWIJ44BrYsdxEscFJ7HozWCKATMqIJAoAiFQnWf/mENCiARDGZ0Zzf25Ll2jczTjuc016Oa855z3NXdHRESkOe3CDiAiIslLJSEiIi1SSYiISItUEiIi0iKVhIiItCgz7ABnom/fvp6bmxt2DBGRlLJy5co97t4vnuemdEnk5uayYsWKsGOIiKQUMyuO97kabhIRkRapJEREpEUqCRERaZFKQkREWqSSEBGRFqkkRESkRSoJERFpkUpCRCSF7DpQy/de2czWikOt8n4pfTOdiEg6cHdWFu+noCjC79bvosmd/t07Map/14S/d8JKwsx+DlwPVLj7xGBfb+ApIBeIAHe4+34zM+BHwEzgMDDb3VclKpuISCqobWji12t3Urg4wvodB+nWKZPZ+bncM30Yw/pktUqGRB5JFAD/Bcw7Zt+DwGvu/qiZPRhsfxm4FhgdfF0IPBY8ioiknZ1VR5i/pJiFy0vZV1PP6P5d+dZNE7l56hCyOrbuAFDC3s3d/2hmucftvhG4LPi+EFhErCRuBOZ5bC3VJWbW08wGuXt5ovKJiCQTd2fZ9n0ULo7w+3d24+5cMW4As/NzmT6yD7EBl9bX2uckBhz9xe/u5WbWP9g/BCg95nllwb6/KwkzmwPMAcjJyUlsWhGRBDtS38QLa3ZQUBRh065qenRuzz+8bzgfuWgYQ3t3CTte0py4bq4ivbknuvtcYC5AXl5es88REUl2ZfsP88SSYp5aXkrV4QbGDuzGo7ecy41ThtC5Q0bY8f6itUti99FhJDMbBFQE+8uAocc8LxvY2crZREQSyt1ZvG0vBUURXt24GzPjqvGxIaVpw3uHNqR0Iq1dEi8Cs4BHg8cXjtn/KTNbSOyE9QGdjxCRtuJwfSPPr9rBvMUR3t19iF5d2vOJ94/kIxcNY3DPzmHHO6FEXgK7gNhJ6r5mVgZ8jVg5PG1m9wMlwO3B018mdvnrVmKXwN6XqFwiIq2lZO9h5i2O8PSKUg7WNjJhcHf+47ZJfHDyYDq1T54hpRNJ5NVNd7fwoxnNPNeBBxKVRUSktbg7f9qyh8KiCK9vrqCdGddOHMjs/FzOH9YrKYeUTiRZTlyLiKS0Q3WNPL+qjIKiCO9V1tAnqwOfunwUH75wGAN7dAo73mlTSYiInIHte2ooLIrw3MoyqusamZTdg+/fMZnrJg2iY2ZqDCmdiEpCROQURaPOm1sqKSyKsGhzJe0zjJnnDmJWfi5Th/ZMuSGlE1FJiIjEqbq2gWdXljFvcTHb99TQr1tHPnfFaD40LYf+3VN3SOlEVBIiIiexteIQ8xbHhpRq6puYmtOTH901hWsnDqJDZttecUElISLSjKaos2hzBQVFEf60ZQ8dMtpx/eRBzM7PZVJ2z7DjtRqVhIjIMQ4caeCZFaXMW1xMyb7DDOjekc9feQ53X5hD364dw47X6lQSIiKBJe/t5RPzV1J1uIG8Yb340jVjuHrCQNpntO0hpRNRSYiIAM+tLOPB598mp3cXnvjohZyb3SPsSElBJSEiaS0adX7w6rv8+PWt5I/sw2MfPp8eXdqHHStpqCREJG3VNjTxhWfW8tLb5dyZN5Rv3TwxrYeWmqOSEJG0U34gtjzogmWx5UEfvHYsH790RJu6Ce5sUUmISFpobnnQGeMG8LFLRjBteO+w4yUtlYSItGm1DUeXBy1mY/nBpFseNNmpJESkTWpuedB/u+Vcbkqy5UGTnUpCRNoMd2fxe3speCu2PCjA1RMGMis/lwuTdHnQZKeSEJGUd7i+kV+u3sG8omI2766mV5f2fDxYHnRIki8PmuxUEiKSskr3xZYHfWp5bHnQ8YO68++3TuKGKamzPGiyU0mISEpxd97aupeCogivbdpNOzOuCZYHzUvB5UGTnUpCRFJCTbA8aOHiYrZWHGozy4MmO5WEiCS1yJ4a5i0u5pkVpX9ZHvR7t8eWB9WQUuKpJEQk6USjzh+PLg/6biUZZlw3qW0uD5rsVBIikjSqaxt4Llge9L1gedDPzmjby4MmO5WEiIRuW+Uh5hVFeDYNlwdNdioJEQlFNOq8cfzyoMGQ0uSh6bM8aLJTSYhIqzq6POgTS4op3qvlQZOdSkJEWsWW3dUUFEX45eodHK5vIm9YL754tZYHTXYqCRFJmKao89rG3RQURSjatpcOme24YfJgZufnMnGIlgdNBSoJETnrqg7X89Ty2JBS2f4jDOrRiS9ePYa7p+XQO6tD2PHkFKgkROSs2bTrIIXBkFJtQ5QLh/fmn2eO48rxA8jUkFJKCqUkzOz/Af8AOLAOuA8YBCwEegOrgHvcvT6MfCISv8amKH/YEBtSWrp9H53at+PmqUO4d3ou4wZ1DzuenKFWLwkzGwJ8Bhjv7kfM7GngLmAm8AN3X2hm/w3cDzzW2vlEJD77aupZsKyEJ5cUs/NALUN6duaha8dy5wVD6dlFQ0ptRVjDTZlAZzNrALoA5cAHgA8FPy8EHkElIZJ01u84QGFRhBfW7qS+MUr+yD48csMEZowbQEY7TZfR1rR6Sbj7DjP7LlACHAFeAVYCVe7eGDytDBjS3OvNbA4wByAnJyfxgUWEhqYov39nF4VFEZZH9tO5fQa3nZ/NrOm5jBnYLex4kkBhDDf1Am4EhgNVwDPAtc081Zt7vbvPBeYC5OXlNfscETk79hyqY+GyEuYvKWHXwVpyenfhX64bx+3nD6VHl/Zhx5NWEMZw0xXAdnevBDCz54F8oKeZZQZHE9nAzhCyiQjwdlkVBUURXlpbTn1TlEtG9+VbN03k8rH9NaSUZsIoiRLgIjPrQmy4aQawAngDuI3YFU6zgBdCyCaStuobo/x2fTkFRRFWl1SR1SGDu6YN5d7puYzq3zXseBKSMM5JLDWzZ4ld5toIrCY2fPQbYKGZfSvY97PWziaSjiqqa/nF0hKeXFpCZXUduX268NXrx3NbXjbdO2lIKd2FcnWTu38N+Npxu98DpoUQRyQtrS7ZT0FRhJfXldPQ5Fw2ph+z8nN5/+h+tNOQkgR0x7VIGqlrbOI3b5dTWBRhbdkBunXM5CMXDePe6bkM75sVdjxJQioJkTSw60AtTy4tZsGyEvYcqmdkvyy+ceMEbjkvm64d9WtAWqZPh0gb5e6sLI4NKf1u/S6a3Jkxtj+z8nN536i+Wida4qKSEGljahuaeHHtTgqLIryz8yDdO2UyOz+Xe6fnktOnS9jxJMWoJETaiJ1VR5i/JDaktP9wA+cM6Mq3b57IzVOH0KWD/qrL6dEnRySFuTtLt++jsCjC79/ZBcCV4wcwKz+X6SP6aEhJzphKQiQFHalv4ldrdlBYFGHTrmp6dmnPxy4dwUcuHMbQ3hpSkrNHJSGSQkr3HWb+kmIWLi/lwJEGxg3qznduPZcbpwyhU/uMsONJG6SSEEly7k7Rtr0UFEV4beNuzIyrJwxg1vRcpg3vrSElSSiVhEiSOlzfyPOrYkNKWyoO0atLez7x/pF85KJhDO7ZOex4kiZUEiJJpnhvDfMWF/P0ilKqaxuZMLg7/37bJG6YPFhDStLqVBIiScDd+dOWPRQWRXh9cwUZZlwzcSCz83M5f1gvDSlJaFQSIiE6VNfI86vKKCyKsK2yhr5dO/Dpy0fxoQuHMbBHp7DjiagkRMKwfU8NhUURnltZRnVdI5Oze/D9OyZz3aRBdMzUkJIkj5OWhJn1AB4BLgl2vQl8w90PJDCXSJsTjTpvbqmksCjCos2VtM8wrjt3ELPyc5ma0yvseCLNiudI4ufAeuCOYPse4HHglkSFEmlLDtY28OyKMp5YUsz2PTX069aRz10xmg9dmEP/bhpSkuQWT0mMdPdbj9n+upmtSVQgkbZia8Uh5i2ODSnV1DdxXk5PPnfXFK6dOIgOme3CjicSl3hK4oiZvc/d/wxgZhcTW5taRI7TFHXe2FRB4eIIf9qyhw4Z7bh+8iDuyx/Oudk9wo4ncsriKYlPAPOCcxMA+4FZiYskknoOHGngmRWlzFtcTMm+wwzs3okvXHUOd03LoW/XjmHHEzltJywJM2sHjHH3yWbWHcDdD7ZKMpEU8O7uagqKIvxy1Q6ONDRxQW4vvnzNWK6aMID2GRpSktR3wpJw96iZfQp4WuUgEtMUdV7duJvCoghF2/bSMbMdN04ZzKz8XCYM1pCStC3xDDf9wcy+ADwF1Bzd6e77EpZKJAntr6nnqRWlPLG4mB1VRxjcoxNfvmYsd10wlF5ZHcKOJ5IQ8ZTER4PHB47Z58CIsx9HJPls2HmQwqIIv1qzg7rGKBeN6M1Xrh/HFeMGkKkhJWnjTloS7j68NYKIJJPGpiivbNhNQVGEZdv30al9O245bwiz8nMZO7B72PFEWk08d1x3Af4JyHH3OWY2mtjJ7JcSnk6kle09VMfC5aXMX1JM+YFasnt15uGZY7kjbyg9u2hISdJPPMNNjwMrgfxguwx4BlBJSJuxruwABUURfv32Tuobo1w8qg9fv2ECM8YNIKOdZmCV9BXvHdd3mtndAO5+xDRvsbQBDU1Rfrt+F4VFEVYW76dz+wxuPz+bWfm5nDOgW9jxRJJCPCVRb2adiZ2sxsxGAnUJTSWSQJXVdSxYVsKTS4vZfbCOnN5d+JfrxnF73lB6dG4fdjyRpBJPSTwC/A4YamZPAhcDsxOYSSQh1pZWUVgU4aW3y6lvinLpOf34t1uGcdk5/WmnISWRZsVzddMrZrYSuAgw4LPuvudM3tTMegI/BSYSO0L5KLCZ2L0YuUAEuMPd95/J+4jUN0b57fpyHn8rwprSKrI6ZHD3tKHcm5/LyH5dw44nkvTiubrpNeB77v6bY/bNdfc5Z/C+PwJ+5+63mVkHoAvwMPCauz9qZg8CDwJfPoP3kDRWcbCWJ5eW8ItlJVRW1zGibxaPfHA8t56fTbdOGlISiVc8w03DgS+b2QXu/vVgX97pvmEwB9SlBENW7l5P7LzHjcBlwdMKgUWoJOQUuDurSmJDSi+vK6cx6lw+ph+z8nO5dHQ/DSmJnIZ4SqIKmAH8p5n9GvjIGb7nCKASeNzMJhO7vPazwAB3Lwdw93Iz63+G7yNpoq6xiZfWllNQFGHdjgN065jJvdNzuXf6MHL7ZoUdTySlxVMS5u6NwCfNbDbwZ+BM1lrMBM4DPu3uS83sR8SGluJiZnOAOQA5OTlnEENS3a4DtcxfUsyCZSXsralnVP+ufPPGCdxyXjZZHbV8u8jZEM/fpP8++o27F5jZOv52HqdTVQaUufvSYPtZYiWx28wGBUcRg4CK5l7s7nOBuQB5eXl+BjkkBbk7yyP7KSyK8Lt3dhF1Z8bYAczOz+XiUX3QLTwiZ1c8Vzf9z3HbK/nrpH+nzN13mVmpmY1x983EhrI2BF+zgEeDxxdO9z2k7alvjPKr1TsoKIqwofwg3Ttl8tGLc7nnolxy+nQJO55ImxXWMfmngSeDK5veA+4D2gFPm9n9QAlwe0jZJMnsr6nn4/NXsmz7PsYM6Ma/3nwuN00dTJcOGlISSbRQ/pa5+xqav0JqRmtnkeS2fU8NHy1Yzo79R/j+HZO5eeoQDSmJtKK4SsLMhgGj3f3VYIqOTHevTmw0SXdL3tvLJ+avpJ0Zv/jYheTl9g47kkjaOemKKWb2MWInl4+em8gGfpXIUJLemqLOgmUl3POzpfTJ6sAvP5mvghAJSTxHEg8A04ClAO6+RfcwSCJUHa5n4fK/Lg+aP7IPj334fHp00R3SImGJpyTq3L3+6DiwmWUSzAgrcjZsLI8tD/rL1X+7POiV4wdqLQeRkMVTEm+a2cNAZzO7Evgk8OvExpK2rrEpyh827Obx45YHvXd6LuMGaXlQkWQRT0k8CNwPrAM+DrxMbAZXkVO2r6aehctLmL+4mJ0HahnSszMPXTuWOy/Q8qAiySiekugM/Nzd/xfAzDKCfYcTGUzalvU7DlBYFOGFtbHlQfNH9uERLQ8qkvTiKYnXgCuAQ8F2Z+AV/rrmtUizGpqi/P6d2PKgyyNaHlQkFcVTEp3c/WhB4O6HzEzzIEiL9hyqY8HSEp5cWsKug7VaHlQkhcVTEjVmdp67rwIws/OBI4mNJano7bIqCooivLQ2tjzoJaP78q+3TNTyoCIpLJ6S+BzwjJntDLYHAXcmLpKkkqPLgxYURVhdouVBRdqaeGaBXW5mY4ExxNa43uTuDQlPJknN3fnFshJ++OoWKqvrGN43i699cDy3aXlQkTYl3gn+LgByg+dPNTPcfV7CUklSa2yK8o2XNjBvcTEXjejNf9w2ScuDirRRJy0JM3sCGAmsAZqC3Q6oJNJQdW0Dn16wmkWbK5lz6QgevGasykGkDYvnSCIPGO/umoojze2oOsL9BcvZUnGIb988kQ9fOCzsSCKSYPGUxHpgIFCe4CySpKprG3huZRk/WbSN2vomHp99AZee0y/sWCLSCuIpib7ABjNbBtQd3enuNyQslSSFbZWHmFcU4dmVZdTUNzE1pyffuXWSboQTSSPxlMQjiQ4hySMadd7YXEFBUYQ/bdlDh4x2XD95ELPzc5mU3TPseCLSyuK5BPbN1ggi4TpwpIFnVpQyb3ExJfsOM6B7Rz5/5TncfWEOfbt2DDueiISkxZIwsz+7+/vMrJq/XT/CAHd3zefcBmzZXU1BsJbD4fom8ob14kvXjOHqCQNpn3HShQtFpI1rsSTc/X3Bowag25imqPPqxt0UFkUo2raXDpntuGHyYGbn5zJxSI+w44lIEonnPomRQJm715nZZcAkYJ67VyU6nJxdVYfreWp5KU8sKaZs/xEG9ejEF68ew10XDKWPhpREpBnxnLh+Dsgzs1HAz4AXgV8AMxMZTM6eTbv+ujxobUOUacN78/DMcVw1fgCZGlISkROIpySi7t5oZjcDP3T3H5vZ6kQHkzPT2BTl1Y27KSiKsOS9fXTMbMfNU2PLg44frNNJIhKfeEqiwczuBmYBHwz2aQa3JLW/pp4Fxy0P+uC1Y7kzbyi9srQ8qIicmnhK4j7gE8C33X27mQ0H5ic2lpyOom17+Mf5qzhwpIH8kX342g0TuELLg4rIGYjnPokNwGeO2d4OPJrIUHLqnl5RysPPr2N43yye+vhFjB2oISUROXPxThUuSSoadb77ymb+/6JtXDK6L//1ofO0RKiInDUqiRRW29DE559ey2/WlXP3tBy+ceME3QAnImfVKZWEmbUDurr7wQTlkThVVtfxD/NW8HZZFQ/PHMvHLhmBmc49iMjZddJ/dprZL8ysu5llARuAzWb2xTN9YzPLMLPVZvZSsD3czJaa2RYze8rMdClOCzbvquamn7zF5l0HeezD5zPn0pEqCBFJiHjGJsYHRw43AS8DOcA9Z+G9PwtsPGb7O8AP3H00sB+4/yy8R5vzx3crue2xIhqaojz98elcM3Fg2JFEpA2LpyTam1l7YiXxgrs38LcT/p0yM8sGrgN+Gmwb8AHg2eAphcH7SaCxKUrBW9u5r2A5Q3p15lcPXKypu0Uk4eI5J/E/QARYC/zRzIYBZ3pO4ofAl4Cjkwf2AarcvTHYLgOGNPdCM5sDzAHIyck5wxjJb++hOhYuL2X+kmLKD9Ry+Zh+/PhD59G1o645EJHEi+c3zU/c/T+PbphZCXD56b6hmV0PVLj7ymDCQIhNP368Zo9W3H0uMBcgLy+vza67vX7HAQqKIry4dif1jVEuHtWHb9w4kRlj+9NON8eJSCuJpyS2mtkzwOPuvtHdHWg82YtO4GLgBjObCXQCuhM7suhpZpnB0UQ2sPMM3iMlNTRF+e36XRQWRVhZvJ/O7TO4Iy+bWdNzGa0lQ0UkBPGUxCTgLuBnwSWwPwcWnu5lsO7+EPAQQHAk8QV3/3BQRLcBC4nNE/XC6fz3U1FldR0LlpUwf0kxFdV15PTuwr9cN47b84bqxjgRCVU803JUA/8L/K+ZXQosAH5gZs8C33T3rWcpy5eBhWb2LWA1sWnJ27S1pVUUFEX4zdvl1DdFuWR0Xx699VwuO0dDSiKSHOJZdCiD2JVI9wG5wPeAJ4FLiF0Se87pvrm7LwIWBd+/B0w73f9WKvnzlj1895XNrCmtIqtDBndPG8q9+bmM7Nc17GgiIn8jnuGmLcAbwH+4e9Ex+58NjizkFMxbHOGRF99haO8uPPLB8dx6fjbdOmlISUSSU1znJNz9UHM/cPfPNLdf/l5T1PnmSxsoKIpwxbgB/OiuKWTpMlYRSXLx/JZqNLMHgAnErkYCwN0/mrBUbcyhukY+s2A1r2+q4P73DefhmeO0xoOIpIR47rh+AhgIXA28Sezy1OpEhmpLqmsbuP2/F/Pmu5V886aJfOX68SoIEUkZ8ZTEKHf/ClDj7oXETmKfm9hYbce8xcVsLD/I3HvO556LhoUdR0TklMRTEg3BY5WZTQR6ELvKSU6itqGJx9/azvvP6ceMcQPCjiMicsriOScx18x6AV8BXgS6Al9NaKo24pmVZew5VM8/XjYy7CgiIqclnpvpfhp8+yYwIrFx2o7Gpihz/7iNqTk9uXB477DjiIiclhZLwsz+6UQvdPfvn/04bcdv1pVTuu8IX7luvBYEEpGUdaIjiaMzyo0BLiA21ATwQeCPiQyV6tydxxZtY1T/rlyhcxEiksJaLAl3/zqAmb0CnBfM4YSZPQI80yrpUtSidyvZtKua794+WXMwiUhKi+fqphyg/pjtenR10wk9tmgbg3t04obJg8OOIiJyRuK5uukJYJmZ/ZLYQkA3E1teVJqxsngfy7bv46vXj6dDZjwdLCKSvOK5uunbZvZbYrO+Atzn7qsTGyt1/fj1rfTs0p67pg0NO4qIyBmLa4Y5d18FrEpwlpT3xqYKFm2u5OGZY+nSQZP3iUjq03jIWVLfGOUbL21gRL8sZucPDzuOiMhZoZI4S37+1na276nRuQgRaVP02+ws2H2wlh+/toUrxg3gsjH9w44jInLWqCTOgu/8dhMNTc5Xrh8XdhQRkbNKJXGGVhbv4/nVO/jYpcMZ1icr7DgiImeVSuIMNEWdR17cwMDunfjkZaPCjiMictapJM7A79/ZxbodB3ho5litVy0ibZJK4gwsWFbCkJ6duX6Spt8QkbZJJXGaSvcd5s9b93B7XrbWrBaRNkslcZqeWVkGwO15mn5DRNoulcRpaIo6z6wo5dLR/RjSs3PYcUREEkYlcRr+uKWS8gO13HWBjiJEpG1TSZyGp5aV0ierAzO06pyItHEqiVNUWV3Hqxt3c+v52ZqjSUTaPP2WO0XPryqjMercoRPWIpIGWr0kzGyomb1hZhvN7B0z+2ywv7eZ/cHMtgSPvVo728m4O08tL+WC3F6M6t817DgiIgkXxpFEI/B5dx8HXAQ8YGbjgQeB19x9NPBasJ1Ulkf2896eGu68ICfsKCIiraLVS8Ldy4OV7nD3amAjMAS4kb+unV0I3NTa2U5m4fISunXMZOa5A8OOIiLSKkI9J2FmucBUYCkwwN3LIVYkQLMLM5jZHDNbYWYrKisrWysq9Y1RXnlnNzPPHaSlSUUkbYRWEmbWFXgO+Jy7H4z3de4+193z3D2vX79+iQt4nBWRfRyqa2TGOC0qJCLpI5SSMLP2xAriSXd/Pti928wGBT8fBFSEka0lr2+qoENGOy4e1TfsKCIirSaMq5sM+Bmw0d2/f8yPXgRmBd/PAl5o7Wwn8vrmCi4c0VtTgotIWgnjSOJi4B7gA2a2JviaCTwKXGlmW4Arg+2kULy3hvcqa/jAWA01iUh6afV/Frv7n4GW5tae0ZpZ4vX6ptjIl0pCRNKN7riOw+ubKhjRL0trWItI2lFJnERNXSNL39vHB8boKEJE0o9K4iTe2rqH+qaohppEJC2pJE7ijc0VdO2YSV5u77CjiIi0OpXECbg7b2yq5JLRfTUtuIikJf3mO4EN5QfZdbCWyzXUJCJpSiVxAm8El75eNqb1pv8QEUkmKokTeH1TBZOye9C/W6ewo4iIhEIl0YJ9NfWsLq3icl36KiJpTBMRHae+McrL68r52Z+3445mfRWRtKaSCFRU1zJ/SQm/WFrCnkN1jOibxXduPZdJ2T3DjiYiEhqVBLFLXe/8nyVE9tZw+Zj+zMrP5ZJRfWnXrqUppkRE0oNKAijbf4Tte2r42gfHc9/Fw8OOIyKSNHTiGlhTWgXABbqrWkTkb6gkiJVEx8x2jBnYLewoIiJJRSUBrC2tYuKQHrTP0B+HiMix0v63YkNTlHU7DjBZVzGJiPydtC+JzbuqqWuMMiVHJSEicry0L4mjJ62n6EhCROTvpH1JrC2tondWB4b27hx2FBGRpJP2JbGmtIrJ2T0w041zIiLHS+uSqK5tYGvlIaYM7RV2FBGRpJTWJbGu7ADu6KS1iEgL0rokVgcnrSdn9wg5iYhIckrrklhbWsXwvln07NIh7CgiIkkpbUvC3f9y0lpERJqXtiWx62AtFdV1TBmq8xEiIi1J25JYUxKcj1BJiIi0KH1LoqyK9hnG+MHdw44iIpK00rckSqoYP6g7HTMzwo4iIpK0kqokzOwaM9tsZlvN7MFEvU9T1Fm344DOR4iInETSlISZZQA/Aa4FxgN3m9n4RLzXlopqDtc36SY6EZGTSJqSAKYBW939PXevBxYCNybijf5y0lozv4qInFAylcQQoPSY7bJg398wszlmtsLMVlRWVp7WG/XO6sBV4wcwvG/W6SUVEUkTmWEHOEZz07D63+1wnwvMBcjLy/u7n8fjqgkDuWrCwNN5qYhIWkmmI4kyYOgx29nAzpCyiIgIyVUSy4HRZjbczDoAdwEvhpxJRCStJc1wk7s3mtmngN8DGcDP3f2dkGOJiKS1pCkJAHd/GXg57BwiIhKTTMNNIiKSZFQSIsgnNRwAAARnSURBVCLSIpWEiIi0SCUhIiItMvfTuh8tKZhZJVB8mi/vC+w5i3FaSyrmTsXMkJq5lbn1pGLuo5mHuXu/eF6Q0iVxJsxshbvnhZ3jVKVi7lTMDKmZW5lbTyrmPp3MGm4SEZEWqSRERKRF6VwSc8MOcJpSMXcqZobUzK3MrScVc59y5rQ9JyEiIieXzkcSIiJyEioJERFpUVqWhJldY2abzWyrmT0Ydp6WmNnPzazCzNYfs6+3mf3BzLYEj73CzHg8MxtqZm+Y2UYze8fMPhvsT9rcZtbJzJaZ2dog89eD/cPNbGmQ+algCvukYmYZZrbazF4KtlMhc8TM1pnZGjNbEexL2s8HgJn1NLNnzWxT8NmengKZxwR/xke/DprZ5041d9qVhJllAD8BrgXGA3eb2fhwU7WoALjmuH0PAq+5+2jgtWA7mTQCn3f3ccBFwAPBn28y564DPuDuk4EpwDVmdhHwHeAHQeb9wP0hZmzJZ4GNx2ynQmaAy919yjHX7Cfz5wPgR8Dv3H0sMJnYn3lSZ3b3zcGf8RTgfOAw8EtONbe7p9UXMB34/THbDwEPhZ3rBHlzgfXHbG8GBgXfDwI2h53xJPlfAK5MldxAF2AVcCGxO1Mzm/vcJMMXsdUbXwM+ALxEbAngpM4c5IoAfY/bl7SfD6A7sJ3gQp9UyNzM/8NVwFunkzvtjiSAIUDpMdtlwb5UMcDdywGCx/4h52mRmeUCU4GlJHnuYNhmDVAB/AHYBlS5e2PwlGT8nPwQ+BIQDbb7kPyZIbZ2/StmttLM5gT7kvnzMQKoBB4PhvZ+amZZJHfm490FLAi+P6Xc6VgS1sw+XQd8lplZV+A54HPufjDsPCfj7k0eOyzPBqYB45p7WuumapmZXQ9UuPvKY3c389SkyXyMi939PGJDvg+Y2aVhBzqJTOA84DF3nwrUkGRDSycSnJe6AXjmdF6fjiVRBgw9Zjsb2BlSltOx28wGAQSPFSHn+Ttm1p5YQTzp7s8Hu5M+N4C7VwGLiJ1P6WlmR1dvTLbPycXADWYWARYSG3L6IcmdGQB33xk8VhAbI59Gcn8+yoAyd18abD9LrDSSOfOxrgVWufvuYPuUcqdjSSwHRgdXgXQgdhj2YsiZTsWLwKzg+1nExvyThpkZ8DNgo7t//5gfJW1uM+tnZj2D7zsDVxA7MfkGcFvwtKTK7O4PuXu2u+cS+wy/7u4fJokzA5hZlpl1O/o9sbHy9STx58PddwGlZjYm2DUD2EASZz7O3fx1qAlONXfYJ1RCOokzE3iX2LjzP4ed5wQ5FwDlQAOxf83cT2zc+TVgS/DYO+ycx2V+H7EhjreBNcHXzGTODUwCVgeZ1wNfDfaPAJYBW4kdqncMO2sL+S8DXkqFzEG+tcHXO0f//iXz5yPINwVYEXxGfgX0SvbMQe4uwF6gxzH7Tim3puUQEZEWpeNwk4iIxEklISIiLVJJiIhIi1QSIiLSIpWEiIi0SCUhIiItUkmIiEiL/g+ndCapzeeFMAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"for key in flattened_dict.keys():\n",
" plt.plot(flattened_dict[key])\n",
" plt.ylabel(key)\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x118e2ea20>"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXUAAAD4CAYAAAATpHZ6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO29eZAk93Xn9311dx093V1Vg8Ec3T1Hz+AiCQIjCtc0xEMSBMmUvOGwoKAU3JW8cNj0WlTIqyVXEbuWw7GmwystFcu1JJjiShsrg2tRXFOkxUsUhR4cHHIAAiAwA3bPDKZ7es6s6qvOrOvnP7J+2dlVmVVZVVn3+0RMTFd2ddabmuqXL7+/9/s+EkKAYRiGGQ1c/Q6AYRiGcQ5O6gzDMCMEJ3WGYZgRgpM6wzDMCMFJnWEYZoTw9PLFYrGYmJ+f7+VLMgzDDD2vvvpqQggRt/Pcnib1+fl5nD9/vpcvyTAMM/QQ0ard57L8wjAMM0JwUmcYhhkhOKkzDMOMED3V1BmGYfpFsVjE+vo68vl8v0OxJBAI4PDhw/B6vW2fg5M6wzBjwfr6OiKRCObn50FE/Q6nDiEEkskk1tfXcfTo0bbP01R+IaIvENEdInrLcOz/IKJ3iOhNIvrPRDTVdgQMwzA9IJ/PIxqNDmRCBwAiQjQa7fhOwo6m/mcAnqo59m0ADwgh3gtgGcCnO4qCYRimBwxqQpc4EV/TpC6EWAKwUXPsW0KIUvXh9wAc7jgShmG6xmUljZcuJfodBtMDnOh++XUAX7f6JhE9S0Tniei8oigOvBzDMK3yub+7hP/pL9/odxhjzze+8Q2cOnUKJ06cwGc+85muvEZHSZ2IfhdACcBfWD1HCPGcEOK0EOJ0PG5rlyvDMA5zeyePdL7U/IlM1yiXy/jEJz6Br3/967hw4QKef/55XLhwwfHXaTupE9HHAfwCgI8JHp/EMANNIq0iUyiBf1X7x/e//32cOHECx44dg8/nwzPPPIOvfOUrjr9OWy2NRPQUgH8G4EkhRNbZkBiGcRolpaIiALVUQcDr7nc4fef3vvo2LtzYcfSc9x2cxL/8L+63/P7169dx5MgR/fHhw4dx7tw5R2MA7LU0Pg/gFQCniGidiH4DwOcARAB8m4heJ6I/djwyhmEcoViuYDNbBABkC+U+RzO+mN0ldaMbp2mlLoT4FZPDf+p4JAzDdIVkuqB/nVFLmAn5+hjNYNCoou4Whw8fxrVr1/TH6+vrOHjwoOOvw94vDDPiKClV/5or9f7xEz/xE1hZWcG7776LQqGAL37xi/joRz/q+OuwTQDDjDiJtDGpcwdMv/B4PPjc5z6Hn/3Zn0W5XMav//qv4/77nb9j4KTOMCMOV+qDw9NPP42nn366q6/B8gvDjDiKoVLPqFypjzqc1BlmxOFKfbzgpM4wI04irSLo03rTxz2pD/rmKyfi46TOMCOOklIxOxMEMN4LpYFAAMlkcmATu/RTDwQCHZ2HF0oZZsRJpFWc2B/GO7dSyKjjW6kfPnwY6+vrGGRjQTn5qBM4qTPMiKOkVDx+IoaA1zXWlbrX6+1ootCwwPILw4wwaqmMnXwJ8bAfIZ8HmTFO6uMCJ3WGGWESVYuAWMSPCZ977BdKxwFO6gwzwiSq7YyyUs+OsaY+LnBSZ5gRRvaoxyJ+BP1ull/GAE7qDDPCSN+XeKRaqbP8MvJwUmeYEUZW6tGQjzX1MYGTOsOMMIm0ismABwGvGyGfe6xbGscFTuoMM8IoaRWxiB8AEPR7xnrz0bjASZ1hRhglpSIe1pI6V+rjASd1hhlhEumCXqlP+DzIFcuoVAbT+4RxBk7qDDPC1FbqQgD5EkswowwndYYZUXKFMtJqCXGDpg6AdfURh5M6w4woeo+6oVIHxtt+dxzgpM4wI4pi2HgEAEGfVqlzr/pow0mdYUYU3SIgLJM6V+rjQNOkTkRfIKI7RPSW4dgMEX2biFaqf093N0yGYVolUVOph/xaUmdNfbSxU6n/GYCnao59CsB3hBALAL5TfcwwzAChWwSEfQCM8gtX6qNM06QuhFgCsFFz+BcB/Hn16z8H8EsOx8UwA8Hy7RS+8dbNfoehUyhV8PmzV1AoVZo+N5FWMR30wuvWfs1DPu5+GQfa1dTvEkLcBIDq3/utnkhEzxLReSI6P8izARnGjP9r6Qr+6V++2e8wdF65ksT/+v9dxLl3k02fq6RUXU8HgAmpqRc5qY8yXV8oFUI8J4Q4LYQ4HY/Hu/1yDOMoSlpFSi0hNyAdI1JSSeWbSyiJdEHX04FdTT2rsvwyyrSb1G8T0d0AUP37jnMhMczgIJOoXHTsNzKetI2kXlupBzxuEAGZAblAMd2h3aT+1wA+Xv364wC+4kw4DDNYyGSuDEhSl/GkbFTbibS6p1J3uQhBr5sr9RHHTkvj8wBeAXCKiNaJ6DcAfAbATxPRCoCfrj5mmJGiUhH64GZZIfcbu5V6Ri0hWyjvSeqAZurFmvpo42n2BCHEr1h868MOx8IwA8VWrohy1dFwUOQXGUdaLTZ8Xu3GI0nIz5X6qMM7ShnGAmN1PnCVepPEXLvxSBL0eVhTH3E4qTOMBcbqfNAq9WbdL7uVum/PcR6UMfpwUmcYC2Ri9HlcA1GpF8sVbGY12aVZUreq1Hn49OjDSZ1hLJCJ/J4DEX3BtJ8kDTE0k1+UlAoiYCZYW6l7kOUdpSMNJ3WGsSCRVuHzuHA0FhqISl3G4HVT0+4XJV1ANOSDx733VzzodyPD8stIw0mdYSyQo+DiYf9gJPV0HgAwOxO0VanXdr4A1Uqd5ZeRhpM6w1igpFXEIn7EIn7kimVk+twKmEhp8svRWAipfOOWxtqNR5Kg3933fwfTXTipM4wFxkpdPu5rPNXFz/loCGm1BCGE9XMtKvWg1wO1VNH775nRg5M6w1igGWL5EKtWvP1ua1RSKsJ+D+IRPyoCyFnsDBVCWFbquqkX6+ojCyd1hjGhXBHYyHS3UhdCNKy2a1GqiToc0DaCWy2WptQS1FKlrkcd4Dml4wAndYYxYSNTQEWgqqlrydHpSv2X/+R7+Nff+rHt5ydSKmJhH8J+LTHvWCT1hIVFAGAcaceV+qjS1PuFYcYRWZXHw35EQ364yPlKfeVOCkQtxJRWcc+BCCKyUrdIzHKD0nSovlKf8Er5hSv1UYUrdYYxQVblsYgfbhdhJuSD4uAGJCEE0moJaxtZ+zFVFz8jAS8Aa/llJ6cl9akJb933Qn6WX0YdTuoMY4KxUgc0KcPJSl0tVVAsC9zcziNvwwo3XyxjJ19CPOzX5Rcrp8atnHbx2WeS1IPVkXa8AWl04aTOMCYohkod0DxUnNTUjdLJNRvVejJT0OOQSd3K/2W7Kr9MBevlF71SZ6uAkYWTOsOYkEipmPC6EapWtk7vKjVKJ6vJ5knd6I/eTFPfqsovk4H6JbNdTZ0r9VGFkzrDmCDbB6m6kikr9VZaEBthrLKvJjNNny87WuIRv15tW2nqW9kiIn5Pne8LwJr6OMBJnWFMSKTVPX3esbAfaqliazaoHVIGPdzOYqlRDvK6XQh4XZaV+k6uiH3Bej0dYE19HOCkzjAmKKm9OzLl1wmHJBhZZXvd1KL8ol1own6vZZ/6Vq6IKYuk7ve44HYRa+ojDCd1hjEhkS7s2bwTc3hXqayyT94VsVWpJ9IqJgMe+D1apR0JeKw19WzBtPMFAIgIQR/b744ynNQZpoZiuYKNTMG0Ulcc6oCRCfmBg/twbSOLUrnS8Pm1dw5hvwdpC6fG7VwRUxP1nS+SoM+NHGvqIwsndYapYaPaPri3Uq9aBThUqcuF0vsPTaJU0frVG6Fp/LvxNKrUtxto6oDmqc7Dp0cXTuoMU4OSqp/vOR30we0iRyt1r5uwsD8CoHlbo1mlbtanLoTAVrZoKb8Amqd6lr1fRhZO6gxTg95pYqiMXS5CNOTTB1V0SjpfQtjvwVw0CKB5W2Otxh+2qNSzhTJKFWFqESAJ+jysqY8wHSV1IvotInqbiN4ioueJKOBUYAzTL2Slvr/Gjzwe8TtWqafyRUQCXhyYDMDncTVcLM0VykirpT2VesRvntTlxiOr7heANfVRp+2kTkSHAPyPAE4LIR4A4AbwjFOBMUy/UCysa2Nh56wC0qpWqbtchNmZIFYbVOryNeO1lXq+fvrRVtba90XCmvpo06n84gEwQUQeAEEANzoPiWH6SyKtTRiaqG7UkcQjzlkFpPIlfdjF3EywoaZ+x0TjD/u9KFUE8sW9XTPb1Up9X5Pul2HQ1NVSGZ/922X938TYo+2kLoS4DuBfA1gDcBPAthDiW7XPI6Jnieg8EZ1XFKX9SBmmR9QuSkqctApIqyVEqlv2Z6NBrG1kLc+rV+qRvZU6sHdnKrBr5tWwUvcPR6X+3Xfu4LN/u4JvX7jd71CGik7kl2kAvwjgKICDAEJE9Ku1zxNCPCeEOC2EOB2Px9uPlGF6RK1FgCQW9qNYFo5Ujml1t1Kfj4aQLZQt9XozOShi4f+ybUNTnxgSTX1pJQEAWLPhjcPs0on88hEA7wohFCFEEcCXATzmTFgM0z8aVeqAM2PtZPcLoFXqALBmIcHI14saLjRWTo12FkpDPjcK5QoKpcYbnvqJEAJLy9qd/WoLg0SYzpL6GoBHiChImpXdhwFcdCYshukfte2DElm933FAV0+pezV1ALhqkdSVlIrpoBdeg+ti2KJS38oW4XWTbrFrhhw+PcjV+ruJDNY3cwDsWRMzu3SiqZ8D8CUArwH4UfVczzkUF8P0BbVUxnauuKfTRLJfr9Q761VXS2UUShVdQjk8HYSLrGWGRLr+zmFXU6+XX/ZN+HTLYDP04dMD3Kt+tiq9PHEi1rAziKmno+4XIcS/FELcI4R4QAjxa0IIZyfzMkyPSVYTdsxEfnHK1EtW13LWqM/jwsGpCUuZQUmpdXcOEb/5nNLtXKGh9AIAE77B91RfWlYwFw3izEIMm9kidix8bph6eEcpwxionU1qZN+EF143daypSx1cSigAMBcNWssvDSr1Ok29iUUAAH2a06BOPyqUKnjlShKLC3F9x63VegNTDyd1hjGQqJlNaoSIHBlALT1bwoZxc7MzIVP5RQiBRKpe45cSSqqmgtUcGhsndampZwbUU/3V1U1kC2WcWYhhdiYEgHX1VuCkzjAGzMy8jDixAUlW1xFDpT4fDWIzW6xrl8wUysgVy3Xx+D1u+DyuOk19K9vYoRHYvSAMaqW+tKLA4yI8ejxq2xuH2YWTOsMYkAk7GjLfkemEVUDapFK3khkSFpYFQNX/xaRPvZn8olfqA6qpn11R8NDcNCIBL0J+D2JhP8svLcBJnWEMyAlDAYuWwLgD8ouZpq7LDBt7K1LFZDeppNZTvViuIK2WGg7IAHbnlOYGsFJPpFW8dX0Hiwsx/dhcNFj3vjDWcFJnGANKWjXV0yWxiA/JTAGVSvtWAVIy2aOpVyv1Wu04UTOb1Ig09ZLs2Nh4BGiGXsBgauovXdJaGRdP7u4+n4s29sZh9sJJnWEMJFIF084XSTzsR7kisJltv1ddb2n07ybfsIXM0KhSD/s9ezT1rVxz3xcAulHZIGrqLywrmA568cDBffqxuZkQbu3kkS8O3kVoEOGkzjAGzNoHjcQj2siATjYgpfJFeFyEgHfvr5/W1rhXZkikVLgIiIbMkrp3T6WuOzQ2qdR9Hhd8btfAaepCCJxdSeCJhThcrt3NU3PRIIQA1je5WrcDJ3WGMZAw2ehjRMognejq0syrdtfn3EywbliGklYxE9JG6dVSq6lLh8ZmLY3AYJp6vXMrBSWl7tHTAWtpijGHkzozNjSTG/LFMlI1E4ZqccLUy2jmZWQ2GsTN7TyWb6fwbiKDdxMZXNvIWV5ktDmluy2QW7nmAzIkIZ8bmQHzVJcGXmcW9rq5zke1RWSrzVmDTr5YxmUl3TP5qP6TxTAjyNVEBh/+gxfw/D9+BB84OmP6nOtbmoFUo6QuF1E7qdRTqnlSPx4PAwB+5t8s7Tn+wVPmltVyTqkQAkS0W6kHG3e/AEDQ7xk4m4DvXUliYX8YB/btnYo5HfQi4vcMrQXvO7dS+KV/9xK+8A9P40P33NX11+OkzowF1zazKFcEvvHWLcuk/srlJADg4blpy/NE/B74Pa6OK/VIoP5X72fvP4A/+thDUGssca3iCfs9KJYF1FIFAa9bXyidNDl3LSGfe+AMvW5u5zEfC9UdJyLMRoNDa8FrNR6xW3BSZ8YCuaC4tGI9fWtpWcGhqQkcM0ksEiesAtJqybRF0edx4efec7ft8xg91QNeN7ZzRUT8HnjczVXVCZ974Cr1RFrFQxYXsPloCBdu7vQ4Imcwm1zVTVhTZ8YC2fp36U4aN6oyi5FiuYJXLiexeDLW0LYWqFoFdFKpqyWEA81172boSb16wdq2YREgCfk8A9XSWK4IbGTMfewBbb1hvXq3NWzs7lLmpM4wjmFs/TtrUq2/fm0LKbWExYXmIxc7rdRTFgulrRKW9rvVC9ZWrth045Ek6PcgO0Cbj5IZFRVhXc3OzQRRLAvTC/Kgo6RUTAW98Hl6k245qTNjgUx8sbBfn31pZGlZgYuAx47H6r5XizaAurM+dTu6dzPkhUG6PtrxfZEMmqa+a3lsvsg7V+2AqW35HAa0mbe9qdIBTurMmKDpzi781Kk4XlxJ1N3GL60k8OCRKVvyRTzsw0ZGbUsKKJQqUEsVRyr12jmlW9lCU98XSdA3WJW6vEhaVupD7NaopNSGu5SdhpM6Mxak8iVEAl4snoxjO1fEm+tb+vc2MwW8ub61x2+kEfGIHxWhSQatkjHxfWmX3Upd63rZzhUxabNSD/rcyBbLEGIwNOpmHSIHJgPweVxD6daYaOIn5DSc1JmxIK2WEPF78MSJGIh2Z2ACwEuXExCiftOLFTLxJFKtSzBmDo3tYpx+JITQBmTY1tTdKFdEXftkv9CHk1gkdZeLMDsznMZeXKkzTBdI5YsIBzyYCfnwnkP79N2LgKanTwY8eN/hfQ3OsIuUCNrpgEnp80md1dSzhTKKZWHLIgDYdWoclLZGJaUi6HMj1OBiNzdT740z6GQLJWQK9UNOugkndWYsMG7NP7MQww+vbWEnX4QQAkvLCTx+ImarvxswVuqtJ/XdSr3zlka/xwWvm5BWS7YdGiXSU31QrAISTYzUAK2tcW0jOzCSkR3k3ZzZvoRuwUmdGQvShq35iwtxlCsCL19K4tKdNG7t5G3r6UBnlXpa1ZKvE5o6ESES0Jwady0C7CZ17fVzA2JnqzQxUgO0Sj1bKHfUedRrGlkndwtO6sxYkMqX9ET60Nw0Qj43llYUvKCbSDVvZZSE/B4Efe62KnV96LQDmro8j1apSzMvm90v/gGs1Jsl9ZgcQj08EkyvLQIATurMmCAXSgHA63bh0eMxLC0rWFpJ4Fg8hMPTwZbOFwu3t6tUJnUn+tQB6dS4W6nb71MfPE09Fml8QZqbGT4LXrkAvH9YKnUimiKiLxHRO0R0kYgedSowhnEKIYTuYS558mQM65s5vHQpYWsXaS3aBqQONHWnknpAs9/dtjnKTjJImnqxXMFmtoh4ONDweYeng3ARhsrYS0mpIAJmLAaZd4NOK/U/BPANIcQ9AN4H4GLnITGMs+SLFZQrYs/ipGxfLFcEFk/al14ksbCvLauAdL4EFwETFoOtWyWiyy/tJfVB0NSTVY28WaXu87hwcGpiqCx4E2kVM0Gf7UV4J2i7XCCiSQCLAP4hAAghCgCGZwWDGRtS1cVJYxvhfCyE2Zkgbm3n8cixaMvnjEf8+MHVzZZ/Ti7YNjMNs0s44EFaKWE7V4TXTbYvFrJ1MO1Apf7nL1/FqQORtt5HwGgR0Fyi0Eb+tVapCyHwma+/U2cxMBcN4Z89dcqx/wsz7CwAO00nl49jABQA/56IfkhEnyeiOs9SInqWiM4T0XlFsbY9ZZhukbboDX928Rj+mzNH9U6QVoiF/djIFFAst7Z5R+5sdYqw34N0voStbBH7Jny2E9R00IeA14WV2+mOXr9SEfhXf3MRf/i3K22fQ994ZEN3vufAJC7e3GlpitDKnTT+ZOkK3lzfxmUljctKGq+ubuKPX7isy1bdwk6rptN0ktQ9AB4C8EdCiPcDyAD4VO2ThBDPCSFOCyFOx+Ota5cM0ylWHSe/+sgcfuepe9o6p/xF3ci0dnOaVouOdb4AVU1dLWE7V7AtvQCalPGTR6MN/eXtcDuVh1qq4PzqRttWvq1U6k8sxKCWKvj+uxu2zy83mv2n//YRfOu3nsS3futJ/O7P3wugs7GEdlDSak971IHOkvo6gHUhxLnq4y9BS/IMM1A4uTVfIm+pW9XVaxdsOyXi96BQqkBJqbY7XySLJ+O4omSwvtn+wqPsRCmWBb53JdnWOVrp5X7kaBQ+t8vUPtkKsw6nuP7/1z3FWAihWQQMS6UuhLgF4BoRnaoe+jCAC45ExTAOolfqDibTdjcgWY2yaxcp5VzfzNm2CJA8WV0gXlqutyK2izTYImr/PEpKRcTvQcDGesCEz42fODpt+7XyxTLOXUnWdTjFOthAZpdMoYx8sTI8Sb3KPwHwF0T0JoAHAfyrzkNiGGeRlXrEga35kniblbrV0Ol2kee6tZO3PfVIcjwext37Ai1VvbWsbmTgcREePx5rW8ppVXdeXIjjx7dTuLWdb/rcH1zdgFqq1HU4xTuwerBLPzYeAR0mdSHE61W9/L1CiF8SQrTeDsAwXSadd25rvqRd+SXlcKUu/00VYX/jkYSIsLgQx4uXEii1uOAruZrM4vD0BD54z/62pZxWO0SkpYOdi9HSsgKf21XXmbNvwguPi7paqfd6NqmEd5QyI083NPUJnxthv6flhba0Q6PsJBHDuewOyDBy5mQMqXwJb6xvt/X6a8ksZqMhXco5azJVqhmtVur3HIggHjGfYFXL2ZUETs9P13U4uVzaAHGu1BlmCEmpJfg9LsdnRMYjrc0qLZUryBXLjjg0Sox3H610v0ieOBGDi7DHitguQghcTWYwNxPUpZx2zqNV6vYvSESEMwsxvLiiNJw+dXsnj3dupSx98mMRH1fqDDOMOL04KYmFfS1V6pnq+DgnZSBj1d+q/AIAU0Ef3nt4qi09fCtbRCpfwlw0qEs5L7Uo5ailMnbypZYT3+JCHJvZIt6+YX2HIe8arHYMx8PtWT3YRUmpcJG2J6CXcFJnRp60w4uTklYrdX1nq8N96pJWF0oliwsxvHFtSzcFs4v0YJFDoRdPxrHTopQjbXRblSieWJCdO9YXo6VlBbGwD/cemDT9fizc2v9fqyTSKqJhP9yu7u1YNYOTOjPyGG13nUSr9Oz3OTtt5gXs7ehptaVRsngyjorQxvq1grTAlUOhHz8RbVnK0TcetVipx8J+PHBo0lJXr1QEXryUwJmFOFwWSVUzZSug0sYAcTv0wyIA4KTOjAFOL05KYmE/tnNFqCV7W9at7Ao6IeB1wVNNWu3ILwDw4JEpRPyellsb5caj2aolrpRyWjlPooPFxDMLcby2uqkP3jby9o0dbGQKDX3yY2E/yhWhm6E5jZIu9FxPBzipM2OA1hvu3OKkRP7CJm1W66kudOEQkV75T7Wp3XrcLjx2Ioql5URLo+JWk1kcmAzs2TS0uBDD6y1IOZ1MBlpciKNUEXjlcv1OVrlG0GiYuL6BrEsSTKLFBWCn4KTOjDxptdilhdLWkoKTQ6eNyItEJ4M3Fk/GcX0rh8uKfVvbtY0MZqN7h4tIKedlm1KOrNSjbSS/h+emEfS5Tdsol5YV3Hf3ZMOLhT5rtguLpUIIKH0w8wI4qTNjQLfkF/kLazcppPPODZ02EvZ7EPF7OvLsltvoW5FOVpNZfRqRREo5drtplLTmWeP3tO4v7/O48OixelOytFrCq6ubONPEJ7+blfpOvoRCqWLLpMxpOKmPOd12qes3ZlOPnCLWYlJwcui0kUjA03bni+TITBBHYyHbi5zZQgl3UirmY3vdtluVchIduhgunoxjNZnFd9+5gx+tb+NH69v4q1fXUaoIPNlkolWrF2UASOWLtmx/+9WjDnQwJIMZfn64tol/8Ecv45ufXMTJuyL9DqcrqKUKimXRtT51oLVKnQgIOjT1SLJ/svEYOLs8cSKGv3ptHZWKsOwYkciBE7Mz9bNdn1iI45tv38b6Zg5HTL5vpFMXwyerlgH/6M9+sOd42O/Bw/PTDX92MuCBz+1qqVL/2OfP4f6D+/C//YP3NHxeK3bCTsNJfYx568YOhACuKOmRTeq7Zl7Of9T9HjcmAx77mrpaQtjnaZowW+V/+ej9KDnQlnfyQATZQhl3UioO7Gt8oZCdL3PR+qR9qvpZupLINE3qiXQB9x807yO3w3wshC//949ho2axejYabCrpEJG218DmRblcEbh4c8fWc3WLAK7UmV4iZz0qLfRaDxvpLtjuGmklKaS71C8fdaganK8m6NVkxkZSr/aoz9QNO9PPo32+GksgTviNPzTbuCJvRCuzZm9s5VAsC/2C1ghdfmFNneklctZjN3fV9ZtUlxYnJZoplL2LYlrtjl2BU8gEbSdprSazmAp6TbX8eMSPCa+76SzRXKGMtFrqywYdidyAZAf5vmznitjKNv4ZJaXC46K29w50Aif1MUYOOBjlxVK5Nb8b3S9Ai5V6l+wKnOLgVAAeF2F1o3lb49pGfeeLhIgwOxNsenHo52KipBWrAOP7YuffFgv7HZfa7MBJfUwRQuiLXaNcqXdjF6eRVuxbd/IlhB0cOu00HrcLh6YnbFfq0vPFjNloEGtNLg532rQIcJJ4xI+NjNrQ7VGyZnhfpO+NFUpKRSzS+41HACf1sUVJqchVW7NGuVLvhpe6kXjEj5RastXmls4Xu7Jg6yRz0VDTpF4sV3B9K2e6SCqZj2qVeiNflX7qzpJY2I+KsDdAfDWZxaGpCQC761FWJNKFvv27OKmPKVLvjIbsLxQNI90w0TLSyli7QZdfAGBuJqgvglpxfTOHckWYtjNKZqMhqKWKXo2b0a6Zl5O0sgHpajKDew5EsD/ib7pe0C8zL4CT+tgif3EfnptGIq225PkxTOwulHavUhdxqYEAAByFSURBVAfsDTDuVveLk8xFg9jJlxouBNZa7pqeZ2a3k8YKWanPhPojUwD2rQKkXDkbDWIuGtwjxdRSqQgkM/2xCAA4qY8taxtZuF2E9x2ZQr5Y0SvaUSOtluBzu2xNqm8HfVdik0qvXBHIFMqDX6lHm3fAyEQ931B+qZ6ngfaspFTMhHzwdmBv0Cl2K/VEuoBsoYy5mSBmZ0INF5O3c0UUy4Irdaa3XE1mcXAqgINTWj/yqEow3a6OdVOvJpVeptDdBVunkDr51QYV9moyiwmvu2ElqnfSNKnU++FiaMTuruBd7/gQ5qNB3N5RkSuYr6P0u6uHk/qYspbMYD4aMtx+juYGpG7r2NJdsFmvere7cJxC6uSN5IXVZBazM9oIOyvsdNI4sfGoU8J+DwLe5lYBxh200plyzeIupN9rBZzUx5TVDe0Xs9ue0v0mlS92Nal73S5MB71Q0vmGz9vtwhnclkYACHjduGvS31A2WdvINOx8kczOBC0TH6AVEv3ceARoPfUxG7NKVzeycBFweDpokKjM70LkXRvLL0zP2M4WsZUtYi4a7Kqn9CDQrVF2RuKR5rtK5XSeQV8oBWRbo3nCqlREtUe9eVKfj4ZwNWEtvygpta/tjBI7G8jWkhncvW8CPo9LXwQe2UqdiNxE9EMi+poTATHdRy7yzEVDmA764HbRyFbqabXU9d7wWLh5Uuh2F46TzDXYDXonpUItVTDboPNFP0+DTpqMWkKuWO6L4VUtcRtWD1cNF7KpoBeTAY/lukMiXYDP7epoaEknOFGp/yaAiw6ch+kRRn3Q7SLMhHwjW6l3y0vdiOYf0vj9090ih6JSD+JOSkW2UN8RZafzRTKrtzXWXyD6aU1bS8xOpb6xu4OWiBpu0pJrBY3WHLpJR0mdiA4D+HkAn3cmHKYXyF9M+UsXb8H/wi4vX07g97/1Y0fP2Q7dmnpkJBb2485Ok6Q+TJV6NXmZyQt6QWDizliLHKBhVtHquvOAVOqb2QKK5Yrp93fyRWxkCnskJ80GwSKp97mrp9NK/bMAfgeA+bsBgIieJaLzRHReUVqbVs50h9VkFvGIH0GflmBiNirNVvnjF67g3/7dJdzczjl63lZJqSVEuuy3Eo/4kSuWkWnQ679ZHcQ81eGEol4wF7WusF9b20Qk4NFbYRvRqJPmzfVtAMDxePOLQ7eJRfwQDawC1vQL2W5Sn48GcX0zV3chqFQE3rq+jePxcPcCbkLbSZ2IfgHAHSHEq42eJ4R4TghxWghxOh5v7K3M9IbVjeye22enK/V8sYxzV7QJ72ZDgXuFWiqjUKp0XfKws9ispFSEfG79QjrIyCq8NhkLIbC0rODx4zFb81AbddKcXVFwLBbC4enmMk63aWb1IC9uxiHbczMhlCoCN7b2Fi0Xbu5gI1NoOh+1m3RSqT8O4KNEdBXAFwF8iIj+oyNRMV1lNZnBrOH2WXpKO2UV8IOrG1BLWgVjd+ZlN8io2uaQbksedtpCE2l1IKQGO+wLerFvwlsnm1xWMrixncfiSfvF2dxMfSdNvljG964kWzpPN4lX3RStdHVjY4Fk1uJu5oXq5/2JE/37t7Wd1IUQnxZCHBZCzAN4BsDfCSF+1bHImK6QL5Zxe0fdow/Gwj4UyhXs5JyxCji7koDP7cLPPXAAL15K2LI17Qa90rHt7EoclPY9u8ybaMbyAn1mwX4VOhet76R5dXUT+WKlpfN0k3hYk5KsrB5WE1nEwr49nyMrG4SlZQX33T3Z101V3Kc+Zqxt7Ha+SHZNqRpvoLHL0rKC0/PTeOqBA9jKFvHW9W1HztsqOz3qDbddqQ9RUp816e6QkkmzuaNGZCeNcUv90rICr5vwyLGoY/F2QsxGpV7rSLk/4off49pjwZtWS3htbbPvdyCOJHUhxN8LIX7BiXMx3WW3ndEgv+iaYudWAbd38njnVgpnFuJ4/IRWifVLgunm0GkjM0EfiBrPelXS/d8S3wpzM0Fc39pdCFRLZXzvykbLCWvWpJPmhWUFp+dmEBqQTqCgz4OQz215UV5LZvXKXOJyadOdjBa837ucRLEssNhHPR3gSn3s2B0YbFapd75YKhdGF0/GEAv78cChyb4tlnZ76LTE43Y19KUvlCrYyhaHqlKfiwZRrghc39QWAs9f3USuWG5ZMpmvMQi7Iy/6fU58tcQsZpXmi2Xc3MnvWSSVzEVDexaTl1YUTHjdeHiu/UHYTsBJfcxYTWYxGfDsaa3Tuzcc6IBZWlYQC/tx74FJAMDiQhyvrW3q2+R7SbenHhlp5B+SzPR/GESrzNVoxksr7UkmtZ00+kV/YTAWSSVaB1i9/Li+mYUQMLVFmIsGsbqR0RsMzq4k8OjxKPye7tg824WT+pixWt0ZZ9zttm/CC6+bOq7UKxWBFy8lcGYhpg/cPbMQR6ki8MrlZEfnbodUl6ceGYlHrNtC5Rb0ftvMtoJMYlIzXlpO4OG56ZYlE9lJIztIzq4oiIZ8uO/uSWcD7hDtolxfqevtjCabreaiQeSL2nSnaxtZvJvIDMTiLyf1MWM1mam7lXS5CNGQ/QHKVrx9Q+vRNWqKD89NI+hzY2ml97q6lF8mezDsOd6gUpcL0MNUqe+P+BHwunA1mcWdVB4Xb+60vQBonFd6dmXvRX9QsLooy6RuZotgtEGQrYz9XiQFOKmPFaVyBdc3c3v0dIkdp7pmyMRt7NH1eVx49FgUS8u919XTahEeF8Hv6f7HPFZNCma9/ruV+vAkdSKq9phn8WKHkonspLlwcwfJTGEgEl8t8Ygf27ki1NLewReryQzCfo/pyL15gwXv2RUFh6YmcCzW/x2ynNTHiBtbeZQqom4lH9CkgU6tAl6w6NFdPBnH2ka26UBjp5FTj3phrBQP+6GWzMcCKn2ehNMumr9JBkvLnUkmspPmu+/cAQA8MQASRS3ygpuskWDk3AGzz9Ch6Qm4XYTLSgYvX0pi8WSsbyZeRjipjxGyA8FsJb+RJmyHtFrCa6vmPbpSZ+x1a2Oqy1OPjOi9zibvoZJSEfF7ujYntVtIC97adZJWma120nzxB9dw792T2B9p7hvTa/RZszWFzVoD73iv24WDUwF89Y0bSKmlgVn85aQ+RqyabDySxMJ+JNMFVNrc/fnK5SRKFYFFkyrsaCyEw9MTWOpxa2OqBw6NErkr0TSpD1mPumQuFoJaqiCRLuBMBwlL3hle38qZfj4GAbmIbfz/K1cErm1m9+zpqGU+GsL1rRxcBDx2fDD+bZzUx4i1ZAZ+jwt3mVRK8YgfpYrAVq691sOl5WqP7nx9jy4RYfFkHK9cTlram3aDdL7UM/9yWambdVAoqeHaTSoxrr100lduLCIGUU8HzCv1G1s5FMui4ZQnuVj64JEp7BsQB87B2NLF9ISr1YHBZrfRMYNTndmikJFUvoi3ru/sOfb3y3ca9uguLsTwf59bw2urm/jJDreHKykVAa+rqaVuWi31rI1wd1dufa9zIq3qffvDhExmnUomspMGAE6bXPQHAfn5f/3alt6+ePGm9hk3ayyQyPdokC5WnNTHiGvVRR8zjJXKKUQanuf3vnoBX3p1ve74s2eOWf7MYydiIALOvbvRUVIXQuCX/+QVvH92Gr//X7+v4XPTakkf1NBt5FhAq0p9cWH4KvVDUxOI+D34yL37OzoPEeHUgUncFfH3fWOOFQGvG/GIH89//xqe//41/biLgOP7rb3R760uHn/ons7eIyfhpD5GJNIq3j9rXinZMaWSrNxO4X1HpvCpp+7Rj3ndhAePTFn+zGTAiwOTgYaDiO1wJZHBlUQGE77myaGXmrrW619vFZAvlpHK9+6OwUk8bhe++VuLiDoQ+xc+fhreHrSWdsKX/7vHsL651x99JuTDXZPWdylPnIjhhX/6Uw11917DSX1MKJUrSGYKiFv8gtoZ9CBZ3cji599zNx493lrFPTsTNB2Y0Apnqx00a8kshBANW8jSarGnw3/NrAISQ9rOKDk4NeHIeaJDsKZwZCbYkgMlsDuvdJAY7Esn4xgb2QKEsE4ukwEPfB5X00p9O1vEVrZo2uvejPkGw3rtIjtoUmpJHxFnRrFcQb5Y6elMULMNXFKOGcaFUmY44aQ+JujT2y2SOhFppkZNKnXp4WHW696M2WgQibRqukHHDmqpjFcuJ3GoWj2aDTSWZHro+yKJR+qtFpq97wzjNJzUxwQ7FWPMxgakXT/21pP6rklUe9X6q6ua/evHHpltep5Uj6YeGZGmUEarACm/cKXO9ApO6mOCnYoxHvaZdm8YkcMOrLpoGjGvD0xob7F0aTkBj4vwy6ePgMh82r1EJvVe9akD2ntbOxZQvu9OLDYyjB04qY8JdipGO1YBVxMZ7I/4EfS1nixn9YEJ7VXqZ1cUPDQ7jWjYjwOTgYZeMrte6r3bEKLvSjSMBUykVeyb8A5sKx8zenBSHxOUlIqgz93QDzsW9mMjozYcFK35sbdepQNaW+N00NvWYqmSUvH2jR3d1rdZJ01a7c18UiO7baG7dztKajgtApjhhZP6mGBn8HE84kdFABsZawlmLZk1HRhgl7loqC355aVLckyetnOvWSdNPzR1fVepYbFZe99ZemF6Byf1McFOxWi0CjAjXyzj1k7edGCAXeaiQVxNtF6pLy0rmA56cf/BfQB2O2kyFp00Un7pZZ+62QYu7X0fPFdCZnThpD4maKZSjStGK/tRib5I2klSnwni5nYOhZJ9Y69KRWBpJYEnFuJwV31rpARkVa33aui0ETkWMLGnUi9wpc70FE7qY0LChv1rs0p9t52xffllNhpCRWgDfe3yzq0UEml1z/zHZp00abUEFwETPfQwJyLEwruLzblCGWm1xJo601M4qY8BxXIFm9miLU0dsK7UZbdJJ/KL/NlW7ALkmDzjEILZJpW69H3p9SQao1UA96gz/aDtpE5ER4jou0R0kYjeJqLfdDIwxjnkiK5mFWPI58aE192wUp8MeDAVbF9O0JNxC8ZeZ1cUnLorggP7drVpvZPG4uKQVktNrXm7gbEt9A7vJmX6QCeVegnAbwsh7gXwCIBPENF9zoTFOIlMMs0qRiJCLGI9q1RrZ+zMvCge9iPoc9uu1LOFEn7w7uYe6UWiDTQ2vzik8sWedr5IjLNedTMvrtSZHtJ2UhdC3BRCvFb9OgXgIoBDTgXGOEcrToHxsF+vMGtZTWY6WiQFtAvH7EzQtlXAuXc3UChXTIcQzEeDjeWXHi6SSuIRzSqgUhHs+8L0BUc0dSKaB/B+AOdMvvcsEZ0novOK0tvBw4yGnlxsVIwL+yP40fVtlGrGzpXKFVzfzHWkp0vmosGGZlxGlpYV+D0ufODoTP15ZoK4sVXfSVOuCFy4udOWk2SnxMJ+lKtjARNpFURoOkmKYZyk46RORGEAfwXgk0KIndrvCyGeE0KcFkKcjscHZ+TTOKG0UKmfORlDKl/CG+vbe47f2MqjVBGY62DjkWQuGsK1zZytIddLywo+cHQGAZMuFqtOmreub2MrW9R3n/YSY6+6klIxHfTB6+Z+BKZ3dPRpIyIvtIT+F0KILzsTEuM0SkpFxO8xTYy1PFEdO7e0vPeuqhPL3VpmZ4IolCq4tVM/z9PI9a0cLisZPGkx/9Gqk2ZpWQERcGah90VE3DBsJJFWWU9nek4n3S8E4E8BXBRC/IFzITFOk0iriNnUdaeCPrz38BTOruxN6tKEywlJQ56jmQeMnHJklZxnLax8l1YUPHBwX19kj1hNpR6LsPTC9JZOKvXHAfwagA8R0evVP087FBfjIEqqtYrxyYUYXr+2hW3DZKG1ZAZ+jwv7HVj0290N2lhXP7uSwF2Tfpy8y3zwr95JY0jqqXwRr61t9UV6Afb2+itcqTN9oJPulxeFECSEeK8Q4sHqn79xMjjGGbRK3X7FeOZkHBUBvHw5oR9bTWYxOxOEy9X5Zp679wXgcVHDtsZyReDFSwmcWYhbbiCSnTTGi8PLl5MoV0RfpBcAiPi1sYB3UioSqQJvPGJ6Dq/gjAGtVuoPHplCxO/Rd3ICWlJ3asCux+3CkSZtjW+sb2E7VzRtZTQyF91rwbu0rCDkc+Oh2WlHYm0VORZwNZlBrljmdkam53BSH3HUUhk7+VJLFaPX7cJjJ6JYWk5ACAEhBNY68FE3Y3amcVvj2eUEiLSF20ZoVr5ZvZPm7EoCjx6Pwefp30c7FvHj4s2U9jVX6kyP4aQ+4iRsWgTUcmYhjutbOVxJZKCkVOSKZUeT+lxUq9SN8zyNLK0oeM+h5oudspPmdiqPq4kM1jayfdPTJfGwX3e05Eqd6TWc1EechE2LgFpkG+HSsqJ3vrQzl9SK2ZkgUmoJm4bFWMl2rojXr23tMfCyQnbSXE1k9Y4dOz/XTeKG9Quu1Jle0/t91ExPaXer+pGZIOajQZxdSegeKk7u0Nxta8zUVeOvXE5UFzubV9zy7mFtI4MXlhM4MjPh6B1FOxjXL7hSZ3oNV+ojjm7/2kZyWTwZxyuXk7h0Jw23i3BoesKxuBoNuXhhWbuQPDTXfLFTdtJcupPGK5cTWGzQLdMr5HvtYosApg9wUh9xdh0aW08uiwtx5IplfOX1Gzg4FXB0u/uRGfOkLoTA0rKCR49Hbb2ex+3C4ekJfPWNm8gUyk27ZXqBrNRnQn59UhPD9ApO6iOOklaxb8ILv6f1CUCPHI/C46LqXFJnzbECXjfu3hfQ7Qck7yYyuL6Vw6IN6UUyFw3h1k4ebhfh0eNRR+NsB1mp8xg7ph9wUh9xOplmH/Z78HBVAnFykVSibRzaW6mfXdE2PLVScUsp56HZKUz2YTBGLbJSZz2d6Qe8UNpnXr+2VTdp6NDUBO47OOnI+bVp9u0nl8WTcZx7d6Mri49z0SC+feE2vn3htn7sa2/ewOxMsKWNTvKC069dpLXISp0tAph+wEm9j1zfyuG//D9fQm2rtt/jwg//xU8j6Ov8vyeRLuD+Di4QH753P37/Wz/G/Qf3dRxLLfccmMT/c34d//g/nN9z/B89Pt/SeR44tA8u0mIdBEI+Nw5MBnB8v7lnDcN0E07qfeTssgIhgD/5tYdxaErrLHnr+jY+9eUf4dyVDXzwns6TVKeV+j0HJnHun3+kK/rwxx+bxyPHoqjUXNUWLAy8rHjkWBTn/vlHBkbuICJ885OLCPpbX8dgmE7hpN5HllYUHJgM4Gfuu0tvwzuxP4z/+atv44VlpeOkniuUkVZbswgwo1vJ0u0ix2SmQUnokn3B/mv7zHjCC6V9olSu4MWVBM4sxPb0VQe8bvzk0egeM612aWU2KcMwowEn9T7x5vVt7ORLOGPS5XFmIYYrSqZuTFurKDzNnmHGDk7qfUIfuWbiQih9V2R7X7vwNHuGGT84qfeJsysJvPfQPkybbCM/sT+Mu/cF6kbKtYpuEcCVOsOMDZzU+4B0IbTqqyYinFmI4cWVBErlStuvIyv1KO9sZJixgZN6H5AuhI12TS6ejGMnX8Kb17fbfp1EWsVMyOeoZwvDMIMN/7b3AelC+P7ZKcvnPH48BiJNe28XJdW+RQDDMMMJJ/UeY9eFcDrkw3sPT3WU1BPpAi+SMsyYwUm9x+guhDYMq55ciOH1a9oA5nbQKnVO6gwzTnBS7zGy8rZjLXvmZBwVAbx8qb3WxkRa5R51hhkzOKn3mLMrCcxF7bkQPnhkChG/B0tt9Ktn1BKyhXJbE48YhhleOkrqRPQUEf2YiC4R0aecCmpUKZQqeOVK0tbsTQDwul149HgUS8sKRK2VYxMSvJuUYcaStpM6EbkB/DsAPwfgPgC/QkT3ORXYKHJ+dQPZQrmlafeLJ+O4vpXDlUSm+ZMN6GPsuFJnmLGiE5fGDwC4JIS4AgBE9EUAvwjgghOBGfm331nBX79xw+nT9pytXBGeFkeuScuAX/38OYT99v+7MmoJAI9UY5hxo5OkfgjANcPjdQA/WfskInoWwLMAMDs729YLxSP+lj22B5X3H5lGpIWRa0dmgvgnHzqBy0q65df6YNCHk3dFWv45hmGGl06SutmY9DrhVwjxHIDnAOD06dOtCcNVnvnALJ75QHsXhFHgt3/mVL9DYBhmSOhkoXQdwBHD48MAhl8jYRiGGWI6Seo/ALBAREeJyAfgGQB/7UxYDMMwTDu0Lb8IIUpE9D8A+CYAN4AvCCHediwyhmEYpmU6mlEqhPgbAH/jUCwMwzBMh/COUoZhmBGCkzrDMMwIwUmdYRhmhOCkzjAMM0JQq0ZRHb0YkQJgtc0fjwFoz4O2vwxj3Bxz7xjGuIcxZmA445YxzwkhbJlG9TSpdwIRnRdCnO53HK0yjHFzzL1jGOMexpiB4Yy7nZhZfmEYhhkhOKkzDMOMEMOU1J/rdwBtMoxxc8y9YxjjHsaYgeGMu+WYh0ZTZxiGYZozTJU6wzAM0wRO6gzDMCPEUCT1YRhwTURfIKI7RPSW4dgMEX2biFaqf0/3M8ZaiOgIEX2XiC4S0dtE9JvV44Med4CIvk9Eb1Tj/r3q8aNEdK4a93+qWkIPFETkJqIfEtHXqo+HIearRPQjInqdiM5Xjw36Z2SKiL5ERO9UP9+PDkHMp6rvsfyzQ0SfbDXugU/qQzTg+s8APFVz7FMAviOEWADwnerjQaIE4LeFEPcCeATAJ6rv7aDHrQL4kBDifQAeBPAUET0C4H8H8G+qcW8C+I0+xmjFbwK4aHg8DDEDwAeFEA8aeqYH/TPyhwC+IYS4B8D7oL3nAx2zEOLH1ff4QQAPA8gC+M9oNW4hxED/AfAogG8aHn8awKf7HZdFrPMA3jI8/jGAu6tf3w3gx/2OsUn8XwHw08MUN4AggNegzcdNAPCYfW4G4Q+06WDfAfAhAF+DNhJyoGOuxnUVQKzm2MB+RgBMAngX1UaQYYjZ5N/wMwBeaifuga/UYT7g+lCfYmmVu4QQNwGg+vf+PsdjCRHNA3g/gHMYgrirMsbrAO4A+DaAywC2hBCl6lMG8XPyWQC/A6BSfRzF4McMaLOHv0VEr1YHyQOD/Rk5BkAB8O+rUtfniSiEwY65lmcAPF/9uqW4hyGp2xpwzbQPEYUB/BWATwohdvodjx2EEGWh3aYeBvABAPeaPa23UVlDRL8A4I4Q4lXjYZOnDkzMBh4XQjwETQL9BBEt9jugJngAPATgj4QQ7weQwYBJLY2orqt8FMBftvPzw5DUh3nA9W0iuhsAqn/f6XM8dRCRF1pC/wshxJerhwc+bokQYgvA30NbE5giIjnNa9A+J48D+CgRXQXwRWgSzGcx2DEDAIQQN6p/34Gm8X4Ag/0ZWQewLoQ4V338JWhJfpBjNvJzAF4TQtyuPm4p7mFI6sM84PqvAXy8+vXHoWnWAwMREYA/BXBRCPEHhm8NetxxIpqqfj0B4CPQFsK+C+C/qj5toOIWQnxaCHFYCDEP7TP8d0KIj2GAYwYAIgoRUUR+DU3rfQsD/BkRQtwCcI2ITlUPfRjABQxwzDX8CnalF6DVuPu9IGBz0eBpAMvQdNPf7Xc8FjE+D+AmgCK0SuE3oGmm3wGwUv17pt9x1sT8BLTb/TcBvF798/QQxP1eAD+sxv0WgH9RPX4MwPcBXIJ26+rvd6wW8f8UgK8NQ8zV+N6o/nlb/v4NwWfkQQDnq5+R/xfA9KDHXI07CCAJYJ/hWEtxs00AwzDMCDEM8gvDMAxjE07qDMMwIwQndYZhmBGCkzrDMMwIwUmdYRhmhOCkzjAMM0JwUmcYhhkh/n+9yw5Xbvjj5AAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pd.DataFrame(flattened_dict['deaths']).rolling(2, min_periods=1).sum().plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# COUNTING DEATHS\n",
"Tracking deaths has become a useful statistic to contrast and compare with other countries. Even tracking at the provincial level to see how well we are doing between provinces is interesting. We may even find comfort that it's not as \"crazy\" here as it is in Quebec or Ontario. The rate at which we count the daily deaths have made us ignorant of the facts that ZERO is the only acceptable death count. We have more deaths in Canada than China now.\n",
"\n",
"I often hear it's only 5 deaths or 50 deaths a day. Are we really so complacent that we're comfortable trading a few \n",
"extra deaths in favour of a beer on a patio deck?"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"18250"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 5 deaths a day acceptable?\n",
"5*365*10"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"36500"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 10 deaths a day acceptable?\n",
"10*365*10"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"73000"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 20 deaths a day acceptable?\n",
"20*365*10"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"182500"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 50 deaths a day acceptable?\n",
"50*365*10"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"365000"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 100 deaths a day acceptable?\n",
"100*365*10"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Final result: [4537.249170130934, 4.0]\n"
]
}
],
"source": [
"from math import *\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"\n",
"def f(mu, sigma2, x):\n",
" coefficient = 1.0 / sqrt(2.0 * pi *sigma2)\n",
" exponential = exp(-0.5 * (x-mu) ** 2 / sigma2)\n",
" return coefficient * exponential\n",
" \n",
"\n",
"def update(mean1, var1, mean2, var2):\n",
" new_mean = (var2*mean1 + var1*mean2)/(var2+var1)\n",
" new_var = 1/(1/var2 + 1/var1)\n",
" \n",
" return [new_mean, new_var]\n",
"\n",
"\n",
"\n",
"def predict(mean1, var1, mean2, var2):\n",
" new_mean = mean1 + mean2\n",
" new_var = var1 + var2\n",
" \n",
" return [new_mean, new_var]\n",
"\n",
"update(20,9,30,3)\n",
"\n",
"measurements = range(1, len(flattened_dict['total cases'])+1)\n",
"motions = flattened_dict['total cases']\n",
"\n",
"\n",
"measurement_sig = 4.\n",
"motion_sig = 2.\n",
"mu = 0.\n",
"sig = 10000.\n",
"\n",
"\n",
"for n in range(len(measurements)):\n",
" mu, sig = update(mu, sig, measurements[n], measurement_sig)\n",
" #print('Update: [{}, {}]'.format(mu, sig))\n",
" mu, sig = predict(mu, sig, motions[n], motion_sig)\n",
" #print('Predict: [{}, {}]'.format(mu, sig))\n",
"\n",
"print('Final result: [{}, {}]'.format(mu, sig))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[21,\n",
" 27,\n",
" 32,\n",
" 39,\n",
" 46,\n",
" 53,\n",
" 64,\n",
" 73,\n",
" 103,\n",
" 186,\n",
" 231,\n",
" 271,\n",
" 348,\n",
" 424,\n",
" 472,\n",
" 617,\n",
" 659,\n",
" 725,\n",
" 792,\n",
" 884,\n",
" 900,\n",
" 970,\n",
" 1013,\n",
" 1066,\n",
" 1121,\n",
" 1174,\n",
" 1203,\n",
" 1229,\n",
" 1266,\n",
" 1291,\n",
" 1336,\n",
" 1370,\n",
" 1410,\n",
" 1445,\n",
" 1470,\n",
" 1490,\n",
" 1517,\n",
" 1561,\n",
" 1575,\n",
" 1618,\n",
" 1647,\n",
" 1676,\n",
" 1699,\n",
" 1724,\n",
" 1795,\n",
" 1824,\n",
" 1853,\n",
" 1948,\n",
" 1998,\n",
" 2053,\n",
" 2087,\n",
" 2112,\n",
" 2145,\n",
" 2171,\n",
" 2205,\n",
" 2224,\n",
" 2232,\n",
" 2255]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flattened_dict['total cases'][10:]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"simpletable\">\n",
"<caption>OLS Regression Results</caption>\n",
"<tr>\n",
" <th>Dep. Variable:</th> <td>y</td> <th> R-squared: </th> <td> 0.984</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Model:</th> <td>OLS</td> <th> Adj. R-squared: </th> <td> 0.984</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Method:</th> <td>Least Squares</td> <th> F-statistic: </th> <td> 3427.</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Date:</th> <td>Wed, 06 May 2020</td> <th> Prob (F-statistic):</th> <td>6.35e-52</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Time:</th> <td>19:35:34</td> <th> Log-Likelihood: </th> <td> -344.48</td>\n",
"</tr>\n",
"<tr>\n",
" <th>No. Observations:</th> <td> 58</td> <th> AIC: </th> <td> 693.0</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Df Residuals:</th> <td> 56</td> <th> BIC: </th> <td> 697.1</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Df Model:</th> <td> 1</td> <th> </th> <td> </td> \n",
"</tr>\n",
"<tr>\n",
" <th>Covariance Type:</th> <td>nonrobust</td> <th> </th> <td> </td> \n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <td></td> <th>coef</th> <th>std err</th> <th>t</th> <th>P>|t|</th> <th>[0.025</th> <th>0.975]</th> \n",
"</tr>\n",
"<tr>\n",
" <th>const</th> <td> -527.8582</td> <td> 31.461</td> <td> -16.778</td> <td> 0.000</td> <td> -590.882</td> <td> -464.835</td>\n",
"</tr>\n",
"<tr>\n",
" <th>x1</th> <td> 42.9314</td> <td> 0.733</td> <td> 58.543</td> <td> 0.000</td> <td> 41.462</td> <td> 44.400</td>\n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <th>Omnibus:</th> <td> 6.489</td> <th> Durbin-Watson: </th> <td> 0.081</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Prob(Omnibus):</th> <td> 0.039</td> <th> Jarque-Bera (JB): </th> <td> 2.474</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Skew:</th> <td>-0.097</td> <th> Prob(JB): </th> <td> 0.290</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Kurtosis:</th> <td> 2.007</td> <th> Cond. No. </th> <td> 110.</td>\n",
"</tr>\n",
"</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
],
"text/plain": [
"<class 'statsmodels.iolib.summary.Summary'>\n",
"\"\"\"\n",
" OLS Regression Results \n",
"==============================================================================\n",
"Dep. Variable: y R-squared: 0.984\n",
"Model: OLS Adj. R-squared: 0.984\n",
"Method: Least Squares F-statistic: 3427.\n",
"Date: Wed, 06 May 2020 Prob (F-statistic): 6.35e-52\n",
"Time: 19:35:34 Log-Likelihood: -344.48\n",
"No. Observations: 58 AIC: 693.0\n",
"Df Residuals: 56 BIC: 697.1\n",
"Df Model: 1 \n",
"Covariance Type: nonrobust \n",
"==============================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"------------------------------------------------------------------------------\n",
"const -527.8582 31.461 -16.778 0.000 -590.882 -464.835\n",
"x1 42.9314 0.733 58.543 0.000 41.462 44.400\n",
"==============================================================================\n",
"Omnibus: 6.489 Durbin-Watson: 0.081\n",
"Prob(Omnibus): 0.039 Jarque-Bera (JB): 2.474\n",
"Skew: -0.097 Prob(JB): 0.290\n",
"Kurtosis: 2.007 Cond. No. 110.\n",
"==============================================================================\n",
"\n",
"Warnings:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
"\"\"\""
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import statsmodels.api as sm\n",
"\n",
"Y = flattened_dict['total cases'][10:]\n",
"X = range(1, len(flattened_dict['total cases'])+1)[10:]\n",
"X = sm.add_constant(X)\n",
"model = sm.OLS(Y,X)\n",
"results = model.fit()\n",
"results.summary()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([-16.77825835, 58.54263928])"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"results.tvalues"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Test for Constraints \n",
"==============================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"------------------------------------------------------------------------------\n",
"c0 -527.8582 31.461 -16.778 0.000 -590.882 -464.835\n",
"==============================================================================\n"
]
}
],
"source": [
"print(results.t_test([1, 0]))"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<F test: F=array([[6238.98749099]]), p=1.5950624747722174e-66, df_denom=56, df_num=2>\n"
]
}
],
"source": [
"print(results.f_test(np.identity(2)))"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ -55.61309176, -12.68171891, 30.24965394, 73.18102679,\n",
" 116.11239964, 159.04377249, 201.97514534, 244.90651819,\n",
" 287.83789105, 330.7692639 , 373.70063675, 416.6320096 ,\n",
" 459.56338245, 502.4947553 , 545.42612815, 588.357501 ,\n",
" 631.28887385, 674.2202467 , 717.15161955, 760.0829924 ,\n",
" 803.01436525, 845.9457381 , 888.87711095, 931.8084838 ,\n",
" 974.73985666, 1017.67122951, 1060.60260236, 1103.53397521,\n",
" 1146.46534806, 1189.39672091, 1232.32809376, 1275.25946661,\n",
" 1318.19083946, 1361.12221231, 1404.05358516, 1446.98495801,\n",
" 1489.91633086, 1532.84770371, 1575.77907656, 1618.71044941,\n",
" 1661.64182226, 1704.57319512, 1747.50456797, 1790.43594082,\n",
" 1833.36731367, 1876.29868652, 1919.23005937, 1962.16143222,\n",
" 2005.09280507, 2048.02417792, 2090.95555077, 2133.88692362,\n",
" 2176.81829647, 2219.74966932, 2262.68104217, 2305.61241502,\n",
" 2348.54378787, 2391.47516072])"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"results.predict()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"from fbprophet import Prophet\n"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"simpletable\">\n",
"<caption>OLS Regression Results</caption>\n",
"<tr>\n",
" <th>Dep. Variable:</th> <td>y</td> <th> R-squared (uncentered):</th> <td> 0.970</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Model:</th> <td>OLS</td> <th> Adj. R-squared (uncentered):</th> <td> 0.969</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Method:</th> <td>Least Squares</td> <th> F-statistic: </th> <td> 2155.</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Date:</th> <td>Wed, 06 May 2020</td> <th> Prob (F-statistic):</th> <td>1.13e-52</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Time:</th> <td>19:35:36</td> <th> Log-Likelihood: </th> <td> -463.39</td>\n",
"</tr>\n",
"<tr>\n",
" <th>No. Observations:</th> <td> 68</td> <th> AIC: </th> <td> 928.8</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Df Residuals:</th> <td> 67</td> <th> BIC: </th> <td> 931.0</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Df Model:</th> <td> 1</td> <th> </th> <td> </td> \n",
"</tr>\n",
"<tr>\n",
" <th>Covariance Type:</th> <td>nonrobust</td> <th> </th> <td> </td> \n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <td></td> <th>coef</th> <th>std err</th> <th>t</th> <th>P>|t|</th> <th>[0.025</th> <th>0.975]</th> \n",
"</tr>\n",
"<tr>\n",
" <th>x1</th> <td> 31.4936</td> <td> 0.678</td> <td> 46.419</td> <td> 0.000</td> <td> 30.139</td> <td> 32.848</td>\n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <th>Omnibus:</th> <td>11.342</td> <th> Durbin-Watson: </th> <td> 0.015</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Prob(Omnibus):</th> <td> 0.003</td> <th> Jarque-Bera (JB): </th> <td> 7.133</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Skew:</th> <td>-0.637</td> <th> Prob(JB): </th> <td> 0.0282</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Kurtosis:</th> <td> 2.055</td> <th> Cond. No. </th> <td> 1.00</td>\n",
"</tr>\n",
"</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
],
"text/plain": [
"<class 'statsmodels.iolib.summary.Summary'>\n",
"\"\"\"\n",
" OLS Regression Results \n",
"=======================================================================================\n",
"Dep. Variable: y R-squared (uncentered): 0.970\n",
"Model: OLS Adj. R-squared (uncentered): 0.969\n",
"Method: Least Squares F-statistic: 2155.\n",
"Date: Wed, 06 May 2020 Prob (F-statistic): 1.13e-52\n",
"Time: 19:35:36 Log-Likelihood: -463.39\n",
"No. Observations: 68 AIC: 928.8\n",
"Df Residuals: 67 BIC: 931.0\n",
"Df Model: 1 \n",
"Covariance Type: nonrobust \n",
"==============================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"------------------------------------------------------------------------------\n",
"x1 31.4936 0.678 46.419 0.000 30.139 32.848\n",
"==============================================================================\n",
"Omnibus: 11.342 Durbin-Watson: 0.015\n",
"Prob(Omnibus): 0.003 Jarque-Bera (JB): 7.133\n",
"Skew: -0.637 Prob(JB): 0.0282\n",
"Kurtosis: 2.055 Cond. No. 1.00\n",
"==============================================================================\n",
"\n",
"Warnings:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
"\"\"\""
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"import statsmodels.api as sm\n",
"import matplotlib.pyplot as plt\n",
"from statsmodels.sandbox.regression.predstd import wls_prediction_std\n",
"\n",
"x = pd.Series(range(1, len(flattened_dict['total cases'])+1))\n",
"y = pd.Series(flattened_dict['total cases'])\n",
"#print(len(x), len(y))\n",
"regression = sm.OLS(y, x).fit()\n",
"regression.summary()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Parameters: x1 31.493578\n",
"dtype: float64\n",
"Standard errors: x1 0.678461\n",
"dtype: float64\n",
"Predicted values: [ 31.49357814 62.98715627 94.48073441 125.97431254 157.46789068\n",
" 188.96146881 220.45504695 251.94862509 283.44220322 314.93578136\n",
" 346.42935949 377.92293763 409.41651577 440.9100939 472.40367204\n",
" 503.89725017 535.39082831 566.88440644 598.37798458 629.87156272\n",
" 661.36514085 692.85871899 724.35229712 755.84587526 787.33945339\n",
" 818.83303153 850.32660967 881.8201878 913.31376594 944.80734407\n",
" 976.30092221 1007.79450035 1039.28807848 1070.78165662 1102.27523475\n",
" 1133.76881289 1165.26239102 1196.75596916 1228.2495473 1259.74312543\n",
" 1291.23670357 1322.7302817 1354.22385984 1385.71743797 1417.21101611\n",
" 1448.70459425 1480.19817238 1511.69175052 1543.18532865 1574.67890679\n",
" 1606.17248493 1637.66606306 1669.1596412 1700.65321933 1732.14679747\n",
" 1763.6403756 1795.13395374 1826.62753188 1858.12111001 1889.61468815\n",
" 1921.10826628 1952.60184442 1984.09542255 2015.58900069 2047.08257883\n",
" 2078.57615696 2110.0697351 2141.56331323]\n"
]
}
],
"source": [
"print('Parameters: ', regression.params)\n",
"print('Standard errors: ', regression.bse)\n",
"print('Predicted values: ', regression.predict())"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "x and y must have same first dimension, but have shapes (50,) and (68,)",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-19-80066374118c>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'o'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"data\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 17\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_true\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'b-'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"True\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 18\u001b[0;31m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mregression\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfittedvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'r--.'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"OLS\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 19\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0miv_u\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'r--'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0miv_l\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'r--'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/anaconda3/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_axes.py\u001b[0m in \u001b[0;36mplot\u001b[0;34m(self, scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1663\u001b[0m \"\"\"\n\u001b[1;32m 1664\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcbook\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnormalize_kwargs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmlines\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mLine2D\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_alias_map\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1665\u001b[0;31m \u001b[0mlines\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_lines\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1666\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mline\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mlines\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1667\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_line\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/anaconda3/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 223\u001b[0m \u001b[0mthis\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 224\u001b[0m \u001b[0margs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 225\u001b[0;31m \u001b[0;32myield\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_plot_args\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mthis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 226\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 227\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget_next_color\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/anaconda3/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36m_plot_args\u001b[0;34m(self, tup, kwargs)\u001b[0m\n\u001b[1;32m 389\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mindex_of\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtup\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 390\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 391\u001b[0;31m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_xy_from_xy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 392\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 393\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcommand\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'plot'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/anaconda3/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36m_xy_from_xy\u001b[0;34m(self, x, y)\u001b[0m\n\u001b[1;32m 268\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 269\u001b[0m raise ValueError(\"x and y must have same first dimension, but \"\n\u001b[0;32m--> 270\u001b[0;31m \"have shapes {} and {}\".format(x.shape, y.shape))\n\u001b[0m\u001b[1;32m 271\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 272\u001b[0m raise ValueError(\"x and y can be no greater than 2-D, but have \"\n",
"\u001b[0;31mValueError\u001b[0m: x and y must have same first dimension, but have shapes (50,) and (68,)"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"nsample = 50\n",
"sig = 0.5\n",
"x = np.linspace(0, 20, nsample)\n",
"X = np.column_stack((x, np.sin(x), (x-5)**2, np.ones(nsample)))\n",
"beta = [0.5, 0.5, -0.02, 5.]\n",
"\n",
"y_true = np.dot(X, beta)\n",
"y = y_true + sig * np.random.normal(size=nsample)\n",
"\n",
"\n",
"\n",
"prstd, iv_l, iv_u = wls_prediction_std(regression)\n",
"\n",
"fig, ax = plt.subplots(figsize=(8,6))\n",
"\n",
"ax.plot(x, y, 'o', label=\"data\")\n",
"ax.plot(x, y_true, 'b-', label=\"True\")\n",
"ax.plot(x, regression.fittedvalues, 'r--.', label=\"OLS\")\n",
"ax.plot(x, iv_u, 'r--')\n",
"ax.plot(x, iv_l, 'r--')\n",
"ax.legend(loc='best');"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x1a1b046748>]"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"mu = mu\n",
"sigma2 = sig\n",
"\n",
"x_axis = np.arange(-2000, 2000, 1.)\n",
"\n",
"g = []\n",
"for x in x_axis:\n",
" g.append(f(mu, sigma2, x))\n",
"\n",
"\n",
"plt.plot(x_axis, g)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x1a1b0a4390>]"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"mu = 0\n",
"sigma2 = 10000\n",
"\n",
"x_axis = np.arange(-2000, 2000, 1.)\n",
"\n",
"g = []\n",
"for x in x_axis:\n",
" g.append(f(mu, sigma2, x))\n",
"\n",
"plt.plot(x_axis, g)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"INFO:fbprophet:Disabling yearly seasonality. Run prophet with yearly_seasonality=True to override this.\n",
"INFO:fbprophet:Disabling daily seasonality. Run prophet with daily_seasonality=True to override this.\n"
]
},
{
"data": {
"text/plain": [
"<fbprophet.forecaster.Prophet at 0x1a1b0d5d30>"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\" # refactored webpage to include new CSV file direct instead of webscrape table\n",
"url = \"https://www.canada.ca/en/public-health/services/diseases/2019-novel-coronavirus-infection.html#a1\"\n",
"page = requests.get(url)\n",
"doc = lh.fromstring(page.content)\n",
"tr_elements = doc.xpath('//tr')\n",
"table = tr_elements[:16]\n",
"\n",
"\n",
"col = []\n",
"i = 0\n",
"\n",
"for t in tr_elements[0]:\n",
" i+=1\n",
" name=t.text_content()\n",
" col.append((name,[]))\n",
"\n",
"\n",
"for j in range(1,len(table)):\n",
" T = table[j]\n",
" i=0\n",
"\n",
" for t in T.iterchildren():\n",
" data = t.text_content()\n",
" \n",
" #Check if row is empty\n",
" if i>0:\n",
" #Convert any numerical value to integers\n",
" try:\n",
" data=int(data)\n",
" except:\n",
" pass\n",
" #Append the data to the empty list of the i'th column\n",
" col[i][1].append(data)\n",
" #Increment i for the next column\n",
" i+=1\n",
"\n",
"[len(C) for (title,C) in col]\n",
"\n",
"canada_dict = {title:column for (title,column) in col}\n",
"\"\"\"\n",
"df = pd.read_csv(\"https://health-infobase.canada.ca/src/data/covidLive/covid19.csv\")\n",
"df['datetime'] = pd.to_datetime(df.date, infer_datetime_format=True)\n",
"temp_df = df[['datetime','prname', 'numconf', 'numdeaths']]\n",
"temp_df[temp_df['datetime'] == max(temp_df['datetime'])]\n",
"\n",
"\n",
"from fbprophet import Prophet\n",
"\n",
"df['ds'] = df['datetime']\n",
"df['y'] = df['numconf']\n",
"df_prophet = df[['ds', 'y','prname']]\n",
"\n",
"m = Prophet()\n",
"m.fit(df_prophet[df_prophet['prname'] == 'British Columbia'][['ds', 'y']])"
]
},
{
"cell_type": "code",
"execution_count": 29,
"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>ds</th>\n",
" <th>yhat</th>\n",
" <th>yhat_lower</th>\n",
" <th>yhat_upper</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2020-01-31</td>\n",
" <td>-17.715619</td>\n",
" <td>-46.921732</td>\n",
" <td>10.144080</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2020-02-08</td>\n",
" <td>11.425020</td>\n",
" <td>-17.419044</td>\n",
" <td>40.816275</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2020-02-16</td>\n",
" <td>-8.861926</td>\n",
" <td>-36.722359</td>\n",
" <td>19.901300</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2020-02-21</td>\n",
" <td>0.921463</td>\n",
" <td>-27.437335</td>\n",
" <td>30.023962</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2020-02-24</td>\n",
" <td>8.847515</td>\n",
" <td>-20.895502</td>\n",
" <td>37.281344</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2020-02-25</td>\n",
" <td>5.832201</td>\n",
" <td>-23.614190</td>\n",
" <td>34.342066</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2020-02-26</td>\n",
" <td>16.042096</td>\n",
" <td>-10.340657</td>\n",
" <td>45.515479</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2020-02-27</td>\n",
" <td>19.044295</td>\n",
" <td>-8.780297</td>\n",
" <td>46.514480</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2020-02-29</td>\n",
" <td>30.204241</td>\n",
" <td>1.185873</td>\n",
" <td>60.153437</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>2020-03-01</td>\n",
" <td>3.763234</td>\n",
" <td>-25.820461</td>\n",
" <td>32.144037</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>2020-03-03</td>\n",
" <td>12.404174</td>\n",
" <td>-15.165143</td>\n",
" <td>39.980449</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>2020-03-05</td>\n",
" <td>25.749903</td>\n",
" <td>-2.954864</td>\n",
" <td>53.835876</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>2020-03-06</td>\n",
" <td>13.957237</td>\n",
" <td>-13.590430</td>\n",
" <td>43.372736</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>2020-03-07</td>\n",
" <td>36.977782</td>\n",
" <td>11.319677</td>\n",
" <td>66.235335</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>2020-03-08</td>\n",
" <td>10.570742</td>\n",
" <td>-17.524233</td>\n",
" <td>40.583343</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>2020-03-09</td>\n",
" <td>25.464578</td>\n",
" <td>-3.821016</td>\n",
" <td>54.156964</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>2020-03-11</td>\n",
" <td>39.439903</td>\n",
" <td>9.717136</td>\n",
" <td>68.410864</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>2020-03-12</td>\n",
" <td>50.340174</td>\n",
" <td>21.645177</td>\n",
" <td>79.222018</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>2020-03-13</td>\n",
" <td>46.366083</td>\n",
" <td>16.684576</td>\n",
" <td>75.283682</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>2020-03-14</td>\n",
" <td>77.210517</td>\n",
" <td>48.463618</td>\n",
" <td>105.538210</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>2020-03-15</td>\n",
" <td>58.627366</td>\n",
" <td>30.595366</td>\n",
" <td>85.922428</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>2020-03-16</td>\n",
" <td>78.040601</td>\n",
" <td>47.759222</td>\n",
" <td>105.588203</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>2020-03-17</td>\n",
" <td>135.955294</td>\n",
" <td>104.889369</td>\n",
" <td>164.223948</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>2020-03-18</td>\n",
" <td>207.082425</td>\n",
" <td>178.076711</td>\n",
" <td>236.856939</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>2020-03-19</td>\n",
" <td>271.011633</td>\n",
" <td>242.072364</td>\n",
" <td>302.623897</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>2020-03-20</td>\n",
" <td>320.066478</td>\n",
" <td>290.588541</td>\n",
" <td>346.659504</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>2020-03-21</td>\n",
" <td>403.934570</td>\n",
" <td>375.350723</td>\n",
" <td>433.703036</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>2020-03-22</td>\n",
" <td>438.375077</td>\n",
" <td>408.746742</td>\n",
" <td>467.530347</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>2020-03-23</td>\n",
" <td>510.811971</td>\n",
" <td>481.714508</td>\n",
" <td>540.237730</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>2020-03-24</td>\n",
" <td>568.736471</td>\n",
" <td>538.700732</td>\n",
" <td>596.927987</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>2020-03-25</td>\n",
" <td>639.873410</td>\n",
" <td>610.684871</td>\n",
" <td>670.210449</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>2020-03-26</td>\n",
" <td>703.802654</td>\n",
" <td>674.014801</td>\n",
" <td>732.462599</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>2020-03-27</td>\n",
" <td>752.857535</td>\n",
" <td>723.732794</td>\n",
" <td>782.221389</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>2020-03-28</td>\n",
" <td>836.725616</td>\n",
" <td>805.604573</td>\n",
" <td>863.610983</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>2020-03-29</td>\n",
" <td>871.166111</td>\n",
" <td>843.667090</td>\n",
" <td>901.733887</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>2020-03-30</td>\n",
" <td>937.116167</td>\n",
" <td>908.853875</td>\n",
" <td>965.224957</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>2020-03-31</td>\n",
" <td>988.553830</td>\n",
" <td>961.046317</td>\n",
" <td>1017.873822</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>2020-04-01</td>\n",
" <td>1053.187982</td>\n",
" <td>1023.625687</td>\n",
" <td>1082.291702</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>2020-04-02</td>\n",
" <td>1110.614438</td>\n",
" <td>1080.133283</td>\n",
" <td>1140.119775</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>2020-04-03</td>\n",
" <td>1153.166532</td>\n",
" <td>1125.120171</td>\n",
" <td>1183.171683</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>2020-04-04</td>\n",
" <td>1207.943643</td>\n",
" <td>1177.475889</td>\n",
" <td>1235.854393</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>2020-04-05</td>\n",
" <td>1213.293169</td>\n",
" <td>1184.985115</td>\n",
" <td>1243.956989</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td>2020-04-06</td>\n",
" <td>1256.638754</td>\n",
" <td>1227.591319</td>\n",
" <td>1286.338525</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td>2020-04-07</td>\n",
" <td>1285.471945</td>\n",
" <td>1255.096706</td>\n",
" <td>1314.553137</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44</th>\n",
" <td>2020-04-08</td>\n",
" <td>1327.514119</td>\n",
" <td>1298.783085</td>\n",
" <td>1355.170753</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td>2020-04-09</td>\n",
" <td>1362.348596</td>\n",
" <td>1334.225512</td>\n",
" <td>1391.506102</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td>2020-04-10</td>\n",
" <td>1382.308711</td>\n",
" <td>1355.416022</td>\n",
" <td>1412.118969</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td>2020-04-11</td>\n",
" <td>1437.082037</td>\n",
" <td>1407.907934</td>\n",
" <td>1467.197352</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <td>2020-04-12</td>\n",
" <td>1442.427778</td>\n",
" <td>1414.910040</td>\n",
" <td>1470.380091</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td>2020-04-13</td>\n",
" <td>1485.769905</td>\n",
" <td>1457.203519</td>\n",
" <td>1513.559877</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50</th>\n",
" <td>2020-04-14</td>\n",
" <td>1514.599639</td>\n",
" <td>1485.119361</td>\n",
" <td>1541.144367</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <td>2020-04-15</td>\n",
" <td>1556.641813</td>\n",
" <td>1529.874156</td>\n",
" <td>1585.125999</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>2020-04-16</td>\n",
" <td>1591.476290</td>\n",
" <td>1565.067406</td>\n",
" <td>1618.917018</td>\n",
" </tr>\n",
" <tr>\n",
" <th>53</th>\n",
" <td>2020-04-17</td>\n",
" <td>1611.443430</td>\n",
" <td>1581.593095</td>\n",
" <td>1639.720005</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54</th>\n",
" <td>2020-04-18</td>\n",
" <td>1666.223780</td>\n",
" <td>1636.830273</td>\n",
" <td>1693.673553</td>\n",
" </tr>\n",
" <tr>\n",
" <th>55</th>\n",
" <td>2020-04-19</td>\n",
" <td>1671.576546</td>\n",
" <td>1644.041133</td>\n",
" <td>1700.356638</td>\n",
" </tr>\n",
" <tr>\n",
" <th>56</th>\n",
" <td>2020-04-20</td>\n",
" <td>1718.467302</td>\n",
" <td>1689.058607</td>\n",
" <td>1747.737239</td>\n",
" </tr>\n",
" <tr>\n",
" <th>57</th>\n",
" <td>2020-04-21</td>\n",
" <td>1750.845664</td>\n",
" <td>1723.936614</td>\n",
" <td>1777.149066</td>\n",
" </tr>\n",
" <tr>\n",
" <th>58</th>\n",
" <td>2020-04-22</td>\n",
" <td>1796.436469</td>\n",
" <td>1768.381371</td>\n",
" <td>1824.943943</td>\n",
" </tr>\n",
" <tr>\n",
" <th>59</th>\n",
" <td>2020-04-23</td>\n",
" <td>1834.819579</td>\n",
" <td>1803.626637</td>\n",
" <td>1862.854028</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60</th>\n",
" <td>2020-04-24</td>\n",
" <td>1858.328326</td>\n",
" <td>1829.833282</td>\n",
" <td>1886.658000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>61</th>\n",
" <td>2020-04-25</td>\n",
" <td>1916.650284</td>\n",
" <td>1887.364385</td>\n",
" <td>1946.122657</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td>2020-04-26</td>\n",
" <td>1925.544657</td>\n",
" <td>1896.695863</td>\n",
" <td>1955.437739</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63</th>\n",
" <td>2020-04-27</td>\n",
" <td>1972.435417</td>\n",
" <td>1943.341087</td>\n",
" <td>2002.919159</td>\n",
" </tr>\n",
" <tr>\n",
" <th>64</th>\n",
" <td>2020-04-28</td>\n",
" <td>2004.813783</td>\n",
" <td>1975.456279</td>\n",
" <td>2034.435614</td>\n",
" </tr>\n",
" <tr>\n",
" <th>65</th>\n",
" <td>2020-04-29</td>\n",
" <td>2050.404588</td>\n",
" <td>2020.488404</td>\n",
" <td>2079.923709</td>\n",
" </tr>\n",
" <tr>\n",
" <th>66</th>\n",
" <td>2020-04-30</td>\n",
" <td>2088.787698</td>\n",
" <td>2059.869786</td>\n",
" <td>2116.672855</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67</th>\n",
" <td>2020-05-01</td>\n",
" <td>2112.296445</td>\n",
" <td>2081.932858</td>\n",
" <td>2140.303698</td>\n",
" </tr>\n",
" <tr>\n",
" <th>68</th>\n",
" <td>2020-05-02</td>\n",
" <td>2170.618403</td>\n",
" <td>2141.992182</td>\n",
" <td>2198.702427</td>\n",
" </tr>\n",
" <tr>\n",
" <th>69</th>\n",
" <td>2020-05-03</td>\n",
" <td>2179.512776</td>\n",
" <td>2150.065917</td>\n",
" <td>2209.142146</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70</th>\n",
" <td>2020-05-04</td>\n",
" <td>2226.403536</td>\n",
" <td>2198.773176</td>\n",
" <td>2255.348946</td>\n",
" </tr>\n",
" <tr>\n",
" <th>71</th>\n",
" <td>2020-05-05</td>\n",
" <td>2258.781902</td>\n",
" <td>2230.363609</td>\n",
" <td>2288.076197</td>\n",
" </tr>\n",
" <tr>\n",
" <th>72</th>\n",
" <td>2020-05-06</td>\n",
" <td>2304.372707</td>\n",
" <td>2273.611452</td>\n",
" <td>2335.155303</td>\n",
" </tr>\n",
" <tr>\n",
" <th>73</th>\n",
" <td>2020-05-07</td>\n",
" <td>2342.755817</td>\n",
" <td>2314.197163</td>\n",
" <td>2372.520051</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74</th>\n",
" <td>2020-05-08</td>\n",
" <td>2366.264564</td>\n",
" <td>2337.460231</td>\n",
" <td>2395.226342</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75</th>\n",
" <td>2020-05-09</td>\n",
" <td>2424.586522</td>\n",
" <td>2393.657715</td>\n",
" <td>2453.388290</td>\n",
" </tr>\n",
" <tr>\n",
" <th>76</th>\n",
" <td>2020-05-10</td>\n",
" <td>2433.480895</td>\n",
" <td>2397.930493</td>\n",
" <td>2462.251889</td>\n",
" </tr>\n",
" <tr>\n",
" <th>77</th>\n",
" <td>2020-05-11</td>\n",
" <td>2480.371655</td>\n",
" <td>2445.372457</td>\n",
" <td>2514.552367</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ds yhat yhat_lower yhat_upper\n",
"0 2020-01-31 -17.715619 -46.921732 10.144080\n",
"1 2020-02-08 11.425020 -17.419044 40.816275\n",
"2 2020-02-16 -8.861926 -36.722359 19.901300\n",
"3 2020-02-21 0.921463 -27.437335 30.023962\n",
"4 2020-02-24 8.847515 -20.895502 37.281344\n",
"5 2020-02-25 5.832201 -23.614190 34.342066\n",
"6 2020-02-26 16.042096 -10.340657 45.515479\n",
"7 2020-02-27 19.044295 -8.780297 46.514480\n",
"8 2020-02-29 30.204241 1.185873 60.153437\n",
"9 2020-03-01 3.763234 -25.820461 32.144037\n",
"10 2020-03-03 12.404174 -15.165143 39.980449\n",
"11 2020-03-05 25.749903 -2.954864 53.835876\n",
"12 2020-03-06 13.957237 -13.590430 43.372736\n",
"13 2020-03-07 36.977782 11.319677 66.235335\n",
"14 2020-03-08 10.570742 -17.524233 40.583343\n",
"15 2020-03-09 25.464578 -3.821016 54.156964\n",
"16 2020-03-11 39.439903 9.717136 68.410864\n",
"17 2020-03-12 50.340174 21.645177 79.222018\n",
"18 2020-03-13 46.366083 16.684576 75.283682\n",
"19 2020-03-14 77.210517 48.463618 105.538210\n",
"20 2020-03-15 58.627366 30.595366 85.922428\n",
"21 2020-03-16 78.040601 47.759222 105.588203\n",
"22 2020-03-17 135.955294 104.889369 164.223948\n",
"23 2020-03-18 207.082425 178.076711 236.856939\n",
"24 2020-03-19 271.011633 242.072364 302.623897\n",
"25 2020-03-20 320.066478 290.588541 346.659504\n",
"26 2020-03-21 403.934570 375.350723 433.703036\n",
"27 2020-03-22 438.375077 408.746742 467.530347\n",
"28 2020-03-23 510.811971 481.714508 540.237730\n",
"29 2020-03-24 568.736471 538.700732 596.927987\n",
"30 2020-03-25 639.873410 610.684871 670.210449\n",
"31 2020-03-26 703.802654 674.014801 732.462599\n",
"32 2020-03-27 752.857535 723.732794 782.221389\n",
"33 2020-03-28 836.725616 805.604573 863.610983\n",
"34 2020-03-29 871.166111 843.667090 901.733887\n",
"35 2020-03-30 937.116167 908.853875 965.224957\n",
"36 2020-03-31 988.553830 961.046317 1017.873822\n",
"37 2020-04-01 1053.187982 1023.625687 1082.291702\n",
"38 2020-04-02 1110.614438 1080.133283 1140.119775\n",
"39 2020-04-03 1153.166532 1125.120171 1183.171683\n",
"40 2020-04-04 1207.943643 1177.475889 1235.854393\n",
"41 2020-04-05 1213.293169 1184.985115 1243.956989\n",
"42 2020-04-06 1256.638754 1227.591319 1286.338525\n",
"43 2020-04-07 1285.471945 1255.096706 1314.553137\n",
"44 2020-04-08 1327.514119 1298.783085 1355.170753\n",
"45 2020-04-09 1362.348596 1334.225512 1391.506102\n",
"46 2020-04-10 1382.308711 1355.416022 1412.118969\n",
"47 2020-04-11 1437.082037 1407.907934 1467.197352\n",
"48 2020-04-12 1442.427778 1414.910040 1470.380091\n",
"49 2020-04-13 1485.769905 1457.203519 1513.559877\n",
"50 2020-04-14 1514.599639 1485.119361 1541.144367\n",
"51 2020-04-15 1556.641813 1529.874156 1585.125999\n",
"52 2020-04-16 1591.476290 1565.067406 1618.917018\n",
"53 2020-04-17 1611.443430 1581.593095 1639.720005\n",
"54 2020-04-18 1666.223780 1636.830273 1693.673553\n",
"55 2020-04-19 1671.576546 1644.041133 1700.356638\n",
"56 2020-04-20 1718.467302 1689.058607 1747.737239\n",
"57 2020-04-21 1750.845664 1723.936614 1777.149066\n",
"58 2020-04-22 1796.436469 1768.381371 1824.943943\n",
"59 2020-04-23 1834.819579 1803.626637 1862.854028\n",
"60 2020-04-24 1858.328326 1829.833282 1886.658000\n",
"61 2020-04-25 1916.650284 1887.364385 1946.122657\n",
"62 2020-04-26 1925.544657 1896.695863 1955.437739\n",
"63 2020-04-27 1972.435417 1943.341087 2002.919159\n",
"64 2020-04-28 2004.813783 1975.456279 2034.435614\n",
"65 2020-04-29 2050.404588 2020.488404 2079.923709\n",
"66 2020-04-30 2088.787698 2059.869786 2116.672855\n",
"67 2020-05-01 2112.296445 2081.932858 2140.303698\n",
"68 2020-05-02 2170.618403 2141.992182 2198.702427\n",
"69 2020-05-03 2179.512776 2150.065917 2209.142146\n",
"70 2020-05-04 2226.403536 2198.773176 2255.348946\n",
"71 2020-05-05 2258.781902 2230.363609 2288.076197\n",
"72 2020-05-06 2304.372707 2273.611452 2335.155303\n",
"73 2020-05-07 2342.755817 2314.197163 2372.520051\n",
"74 2020-05-08 2366.264564 2337.460231 2395.226342\n",
"75 2020-05-09 2424.586522 2393.657715 2453.388290\n",
"76 2020-05-10 2433.480895 2397.930493 2462.251889\n",
"77 2020-05-11 2480.371655 2445.372457 2514.552367"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"future = m.make_future_dataframe(periods=5)\n",
"forecast = m.predict(future)\n",
"forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']]"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig1 = m.plot(forecast)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 648x432 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig2 = m.plot_components(forecast)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'\\ntable = tr_elements[90:92]\\n\\ncol = []\\ni = 0\\n\\nfor t in tr_elements[0]:\\n i+=1\\n name = t.text_content()\\n col.append((name,[]))\\n\\n\\nfor j in range(1,len(table)):\\n T = table[j]\\n i=0\\n\\n for t in T.iterchildren():\\n data = t.text_content()\\n \\n #Check if row is empty\\n if i>0:\\n #Convert any numerical value to integers\\n try:\\n data = int(data.replace(\",\", \"\"))\\n except:\\n pass\\n #Append the data to the empty list of the i\\'th column\\n col[i][1].append(data)\\n #Increment i for the next column\\n i+=1\\n\\n[len(C) for (title,C) in col]\\n\\ncanada_dict = {title:column for (title,column) in col}\\ncanada_dict'"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\"\n",
"table = tr_elements[90:92]\n",
"\n",
"col = []\n",
"i = 0\n",
"\n",
"for t in tr_elements[0]:\n",
" i+=1\n",
" name = t.text_content()\n",
" col.append((name,[]))\n",
"\n",
"\n",
"for j in range(1,len(table)):\n",
" T = table[j]\n",
" i=0\n",
"\n",
" for t in T.iterchildren():\n",
" data = t.text_content()\n",
" \n",
" #Check if row is empty\n",
" if i>0:\n",
" #Convert any numerical value to integers\n",
" try:\n",
" data = int(data.replace(\",\", \"\"))\n",
" except:\n",
" pass\n",
" #Append the data to the empty list of the i'th column\n",
" col[i][1].append(data)\n",
" #Increment i for the next column\n",
" i+=1\n",
"\n",
"[len(C) for (title,C) in col]\n",
"\n",
"canada_dict = {title:column for (title,column) in col}\n",
"canada_dict\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import plotly.express as px\n",
"\n",
"pd.set_option(\"display.max_rows\", 100, \"display.max_columns\", None)\n",
"\n",
"\n",
"def get_covid_cases(countries=None, provinces=None, start_date=None, end_date=None, casetype=['confirmed', 'death', 'recovered'], cumsum=False):\n",
" df = pd.read_csv('https://raw.githubusercontent.com/RamiKrispin/coronavirus-csv/master/coronavirus_dataset.csv',\n",
" names=[\"province_state\", 'country_region', 'lat', 'long', 'date', 'cases', 'type'], skiprows=1, parse_dates=['date'])\n",
" \n",
" df = df[df.type.isin(casetype)]\n",
" \n",
" if start_date is not None:\n",
" df = df[df.date >= start_date]\n",
" if end_date is not None:\n",
" df = df[df.date <= end_date]\n",
"\n",
" if provinces is not None:\n",
" for province in provinces:\n",
" if province not in df.province_state.values:\n",
" print(\"Province: {0} not found in database. Check spelling!\".format(province))\n",
" df = df[(df.province_state.isin(provinces))] \n",
" \n",
" if countries is not None:\n",
" for country in countries:\n",
" if country not in df.country_region.values:\n",
" print(\"Country: {0} not found in database. Check spelling!\".format(country))\n",
" df = df[(df.country_region.isin(countries))]\n",
"\n",
" if cumsum is True:\n",
" df.cases = df.groupby('province_state')['cases'].transform(pd.Series.cumsum)\n",
" \n",
"\n",
" iso_df = pd.read_csv('https://raw.githubusercontent.com/lukes/ISO-3166-Countries-with-Regional-Codes/master/slim-3/slim-3.csv')\n",
" iso_df = iso_df[['name', 'alpha-3']]\n",
" iso_df.loc[iso_df.name==\"United States of America\", 'name'] = 'US'\n",
" iso_df.loc[iso_df.name==\"China\", 'name'] = 'Mainland China'\n",
" iso_df.loc[iso_df.name==\"United Kingdom\", 'name'] = 'UK'\n",
" iso_df.loc[iso_df.name==\"Russian Federation\", 'name'] = 'Russia'\n",
" iso_df.loc[iso_df.name==\"Korea, Republic of\", 'name'] = 'South Korea'\n",
" iso_df.loc[iso_df.name==\"Macao\", 'name'] = 'Macau'\n",
" iso_df.loc[iso_df.name==\"Taiwan, Province of China\", 'name'] = 'Taiwan'\n",
" iso_df.loc[iso_df.name==\"Viet Nam\", 'name'] = 'Vietnam'\n",
" iso_df.loc[iso_df.name==\"Iran (Islamic Republic of)\", 'name'] = 'Iran'\n",
" iso_df.loc[iso_df.name==\"Czechia\", 'name'] = 'Czech Republic'\n",
" iso_df.loc[iso_df.name==\"Saint Barthélemy\", 'name'] = 'Saint Barthelemy'\n",
" iso_df.loc[iso_df.name==\"Palestine, State of\", 'name'] = 'Palestine'\n",
" iso_df.loc[iso_df.name==\"Moldova, Republic of\", 'name'] = 'Moldova'\n",
" iso_df.loc[iso_df.name==\"Ireland\", 'name'] = 'Republic of Ireland'\n",
" iso_df.loc[iso_df.name==\"Holy See\", 'name'] = 'Vatican City'\n",
" \n",
" df = pd.merge(df, iso_df, left_on=\"country_region\", right_on='name')\n",
" \n",
" return df\n",
"\n",
"\n",
"\n",
"def get_covid_cases_wide(countries=None, start_date=None, end_date=None, casetype=['confirmed', 'death', 'recovered'], cumsum=False):\n",
" df = pd.read_csv('https://raw.githubusercontent.com/RamiKrispin/coronavirus-csv/master/coronavirus_dataset.csv',\n",
" names=[\"province_state\", 'country_region', 'lat', 'long', 'date', 'cases', 'type'], skiprows=1, parse_dates=['date'])\n",
" \n",
" df = df[df.type.isin(casetype)]\n",
" \n",
" if start_date is not None:\n",
" df = df[df.date >= start_date]\n",
" else:\n",
" if end_date is not None:\n",
" df = df[df.date <= end_date]\n",
" \n",
" if countries is not None:\n",
" for country in countries:\n",
" if country not in df.country_region.values:\n",
" print(\"Country: {0} not found in database. Check spelling!\".format(country))\n",
" df = df[(df.country_region.isin(countries))]\n",
" \n",
" df = df.pivot_table(index=[\"date\", 'country_region'], columns='type', values='cases', \\\n",
" aggfunc={'date':'first', 'country_region':'first', 'cases':np.sum})\\\n",
" .reset_index().fillna(0)\n",
" \n",
" if 'death' not in df.columns:\n",
" df['death'] = 0\n",
" \n",
" if 'recovered' not in df.columns:\n",
" df['recovered'] = 0\n",
" \n",
" df.sort_values(by=['country_region', 'date'], inplace=True)\n",
" \n",
" if cumsum is True:\n",
" df.confirmed = df.groupby('country_region')['confirmed'].transform(pd.Series.cumsum)\n",
" df.recovered = df.groupby('country_region')['recovered'].transform(pd.Series.cumsum)\n",
" df.death = df.groupby('country_region')['death'].transform(pd.Series.cumsum)\n",
" \n",
" \n",
"\n",
" iso_df = pd.read_csv('https://raw.githubusercontent.com/lukes/ISO-3166-Countries-with-Regional-Codes/master/slim-3/slim-3.csv')\n",
" iso_df = iso_df[['name', 'alpha-3']]\n",
" iso_df.loc[iso_df.name==\"United States of America\", 'name'] = 'US'\n",
" iso_df.loc[iso_df.name==\"China\", 'name'] = 'China'\n",
" iso_df.loc[iso_df.name==\"United Kingdom\", 'name'] = 'UK'\n",
" iso_df.loc[iso_df.name==\"Russian Federation\", 'name'] = 'Russia'\n",
" iso_df.loc[iso_df.name==\"Korea, Republic of\", 'name'] = 'South Korea'\n",
" iso_df.loc[iso_df.name==\"Macao\", 'name'] = 'Macau'\n",
" iso_df.loc[iso_df.name==\"Taiwan, Province of China\", 'name'] = 'Taiwan'\n",
" iso_df.loc[iso_df.name==\"Viet Nam\", 'name'] = 'Vietnam'\n",
" iso_df.loc[iso_df.name==\"Iran (Islamic Republic of)\", 'name'] = 'Iran'\n",
" iso_df.loc[iso_df.name==\"Czechia\", 'name'] = 'Czech Republic'\n",
" iso_df.loc[iso_df.name==\"Saint Barthélemy\", 'name'] = 'Saint Barthelemy'\n",
" iso_df.loc[iso_df.name==\"Palestine, State of\", 'name'] = 'Palestine'\n",
" iso_df.loc[iso_df.name==\"Moldova, Republic of\", 'name'] = 'Moldova'\n",
" iso_df.loc[iso_df.name==\"Ireland\", 'name'] = 'Republic of Ireland'\n",
" iso_df.loc[iso_df.name==\"Holy See\", 'name'] = 'Vatican City'\n",
"\n",
"\n",
" \n",
" df = pd.merge(df, iso_df, left_on=\"country_region\", right_on='name')\n",
"\n",
" return df\n",
"\n",
"\n",
"\n",
"def get_interval_data(df, interval='30D'):\n",
" \n",
" df.index = df.date\n",
"\n",
" df = df.groupby([pd.Grouper(freq=interval), 'country_region']).sum().reset_index()\n",
" \n",
" return df.sort_values(by=['country_region', 'date'])\n",
"\n",
"\n",
"\n",
"def plot_countries(df=None, grouped_data=False, metric=\"confirmed\"):\n",
" \n",
" if df == None:\n",
" df = get_covid_cases_wide()\n",
" \n",
" if grouped_data == False:\n",
" df = df.groupby(['country_region', 'alpha-3']).sum().reset_index()\n",
" \n",
" fig = px.choropleth(df, locations=\"alpha-3\",\n",
" color=metric, # lifeExp is a column of gapminder\n",
" hover_name=\"country_region\", # column to add to hover information\n",
" color_continuous_scale=\"OrRd\")\n",
" fig.show()\n",
" \n",
"\n",
" \n",
" \n",
"def plot_provinces(countries=None, provinces=None, start_date=None, end_date=None, casetype=['confirmed', 'death', 'recovered']):\n",
" \n",
" province_populations = { 'Ontario': 14446515, \n",
" 'Quebec': 8433301, \n",
" 'British Columbia': 5020302, \n",
" 'Alberta': 4345737, \n",
" 'Manitoba': 1360396, \n",
" 'Saskatchewan': 1168423, \n",
" 'Nova Scotia': 965382, \n",
" 'New Brunswick': 772094, \n",
" 'Newfoundland': 523790, \n",
" 'Prince Edward Island': 154748, \n",
" 'Northwest Territory': 44598, \n",
" 'Yukon': 40369, \n",
" 'Nunavut': 38787\n",
" };\n",
"\n",
"\n",
"\n",
" df = get_covid_cases(countries=countries, provinces = provinces, casetype = casetype, start_date=start_date, end_date=end_date, cumsum=True)\n",
" \n",
" if provinces is not None:\n",
" for province in provinces:\n",
" print(province)\n",
" df.loc[df.province_state == province, 'cases'] = (df.loc[df.province_state == province, 'cases'] / province_populations[province]) * 100000\n",
" \n",
" fig = px.line(df, x=\"date\", y=\"cases\", color='province_state', title=\"Number of confirmed COVID-19 cases over time per 100,000 Canadians\")\n",
"\n",
" fig.update_layout(\n",
" yaxis_title=\"cases per 100,000 people\",\n",
" yaxis = dict(\n",
" showexponent = 'all',\n",
" exponentformat = 'e'\n",
" ),\n",
" xaxis = {\n",
" 'tickformat': '%m-%d',\n",
" 'tickmode': 'auto',\n",
" 'nticks': 30, \n",
" 'tick0': start_date,\n",
" }\n",
" \n",
" )\n",
"\n",
" fig.show()\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"scrolled": false
},
"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>province_state</th>\n",
" <th>country_region</th>\n",
" <th>lat</th>\n",
" <th>long</th>\n",
" <th>date</th>\n",
" <th>cases</th>\n",
" <th>type</th>\n",
" <th>name</th>\n",
" <th>alpha-3</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>NaN</td>\n",
" <td>Afghanistan</td>\n",
" <td>33.0000</td>\n",
" <td>65.0000</td>\n",
" <td>2020-01-22</td>\n",
" <td>0</td>\n",
" <td>confirmed</td>\n",
" <td>Afghanistan</td>\n",
" <td>AFG</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>NaN</td>\n",
" <td>Afghanistan</td>\n",
" <td>33.0000</td>\n",
" <td>65.0000</td>\n",
" <td>2020-01-23</td>\n",
" <td>0</td>\n",
" <td>confirmed</td>\n",
" <td>Afghanistan</td>\n",
" <td>AFG</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>NaN</td>\n",
" <td>Afghanistan</td>\n",
" <td>33.0000</td>\n",
" <td>65.0000</td>\n",
" <td>2020-01-24</td>\n",
" <td>0</td>\n",
" <td>confirmed</td>\n",
" <td>Afghanistan</td>\n",
" <td>AFG</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>NaN</td>\n",
" <td>Afghanistan</td>\n",
" <td>33.0000</td>\n",
" <td>65.0000</td>\n",
" <td>2020-01-25</td>\n",
" <td>0</td>\n",
" <td>confirmed</td>\n",
" <td>Afghanistan</td>\n",
" <td>AFG</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>NaN</td>\n",
" <td>Afghanistan</td>\n",
" <td>33.0000</td>\n",
" <td>65.0000</td>\n",
" <td>2020-01-26</td>\n",
" <td>0</td>\n",
" <td>confirmed</td>\n",
" <td>Afghanistan</td>\n",
" <td>AFG</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",
" </tr>\n",
" <tr>\n",
" <th>60685</th>\n",
" <td>Western Australia</td>\n",
" <td>Australia</td>\n",
" <td>-31.9505</td>\n",
" <td>115.8605</td>\n",
" <td>2020-04-28</td>\n",
" <td>9</td>\n",
" <td>recovered</td>\n",
" <td>Australia</td>\n",
" <td>AUS</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60686</th>\n",
" <td>Western Australia</td>\n",
" <td>Australia</td>\n",
" <td>-31.9505</td>\n",
" <td>115.8605</td>\n",
" <td>2020-04-29</td>\n",
" <td>12</td>\n",
" <td>recovered</td>\n",
" <td>Australia</td>\n",
" <td>AUS</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60687</th>\n",
" <td>Western Australia</td>\n",
" <td>Australia</td>\n",
" <td>-31.9505</td>\n",
" <td>115.8605</td>\n",
" <td>2020-04-30</td>\n",
" <td>0</td>\n",
" <td>recovered</td>\n",
" <td>Australia</td>\n",
" <td>AUS</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60688</th>\n",
" <td>Western Australia</td>\n",
" <td>Australia</td>\n",
" <td>-31.9505</td>\n",
" <td>115.8605</td>\n",
" <td>2020-05-01</td>\n",
" <td>4</td>\n",
" <td>recovered</td>\n",
" <td>Australia</td>\n",
" <td>AUS</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60689</th>\n",
" <td>Western Australia</td>\n",
" <td>Australia</td>\n",
" <td>-31.9505</td>\n",
" <td>115.8605</td>\n",
" <td>2020-05-02</td>\n",
" <td>9</td>\n",
" <td>recovered</td>\n",
" <td>Australia</td>\n",
" <td>AUS</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>60690 rows × 9 columns</p>\n",
"</div>"
],
"text/plain": [
" province_state country_region lat long date cases \\\n",
"0 NaN Afghanistan 33.0000 65.0000 2020-01-22 0 \n",
"1 NaN Afghanistan 33.0000 65.0000 2020-01-23 0 \n",
"2 NaN Afghanistan 33.0000 65.0000 2020-01-24 0 \n",
"3 NaN Afghanistan 33.0000 65.0000 2020-01-25 0 \n",
"4 NaN Afghanistan 33.0000 65.0000 2020-01-26 0 \n",
"... ... ... ... ... ... ... \n",
"60685 Western Australia Australia -31.9505 115.8605 2020-04-28 9 \n",
"60686 Western Australia Australia -31.9505 115.8605 2020-04-29 12 \n",
"60687 Western Australia Australia -31.9505 115.8605 2020-04-30 0 \n",
"60688 Western Australia Australia -31.9505 115.8605 2020-05-01 4 \n",
"60689 Western Australia Australia -31.9505 115.8605 2020-05-02 9 \n",
"\n",
" type name alpha-3 \n",
"0 confirmed Afghanistan AFG \n",
"1 confirmed Afghanistan AFG \n",
"2 confirmed Afghanistan AFG \n",
"3 confirmed Afghanistan AFG \n",
"4 confirmed Afghanistan AFG \n",
"... ... ... ... \n",
"60685 recovered Australia AUS \n",
"60686 recovered Australia AUS \n",
"60687 recovered Australia AUS \n",
"60688 recovered Australia AUS \n",
"60689 recovered Australia AUS \n",
"\n",
"[60690 rows x 9 columns]"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"get_covid_cases()"
]
},
{
"cell_type": "code",
"execution_count": 35,
"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>date</th>\n",
" <th>country_region</th>\n",
" <th>confirmed</th>\n",
" <th>death</th>\n",
" <th>recovered</th>\n",
" <th>name</th>\n",
" <th>alpha-3</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2020-01-22</td>\n",
" <td>Afghanistan</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Afghanistan</td>\n",
" <td>AFG</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2020-01-23</td>\n",
" <td>Afghanistan</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Afghanistan</td>\n",
" <td>AFG</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2020-01-24</td>\n",
" <td>Afghanistan</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Afghanistan</td>\n",
" <td>AFG</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2020-01-25</td>\n",
" <td>Afghanistan</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Afghanistan</td>\n",
" <td>AFG</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2020-01-26</td>\n",
" <td>Afghanistan</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Afghanistan</td>\n",
" <td>AFG</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",
" </tr>\n",
" <tr>\n",
" <th>17029</th>\n",
" <td>2020-04-28</td>\n",
" <td>Zimbabwe</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Zimbabwe</td>\n",
" <td>ZWE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17030</th>\n",
" <td>2020-04-29</td>\n",
" <td>Zimbabwe</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Zimbabwe</td>\n",
" <td>ZWE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17031</th>\n",
" <td>2020-04-30</td>\n",
" <td>Zimbabwe</td>\n",
" <td>8</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Zimbabwe</td>\n",
" <td>ZWE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17032</th>\n",
" <td>2020-05-01</td>\n",
" <td>Zimbabwe</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Zimbabwe</td>\n",
" <td>ZWE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17033</th>\n",
" <td>2020-05-02</td>\n",
" <td>Zimbabwe</td>\n",
" <td>-6</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Zimbabwe</td>\n",
" <td>ZWE</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>17034 rows × 7 columns</p>\n",
"</div>"
],
"text/plain": [
" date country_region confirmed death recovered name \\\n",
"0 2020-01-22 Afghanistan 0 0 0 Afghanistan \n",
"1 2020-01-23 Afghanistan 0 0 0 Afghanistan \n",
"2 2020-01-24 Afghanistan 0 0 0 Afghanistan \n",
"3 2020-01-25 Afghanistan 0 0 0 Afghanistan \n",
"4 2020-01-26 Afghanistan 0 0 0 Afghanistan \n",
"... ... ... ... ... ... ... \n",
"17029 2020-04-28 Zimbabwe 0 0 0 Zimbabwe \n",
"17030 2020-04-29 Zimbabwe 0 0 0 Zimbabwe \n",
"17031 2020-04-30 Zimbabwe 8 0 0 Zimbabwe \n",
"17032 2020-05-01 Zimbabwe 0 0 0 Zimbabwe \n",
"17033 2020-05-02 Zimbabwe -6 0 0 Zimbabwe \n",
"\n",
" alpha-3 \n",
"0 AFG \n",
"1 AFG \n",
"2 AFG \n",
"3 AFG \n",
"4 AFG \n",
"... ... \n",
"17029 ZWE \n",
"17030 ZWE \n",
"17031 ZWE \n",
"17032 ZWE \n",
"17033 ZWE \n",
"\n",
"[17034 rows x 7 columns]"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"get_covid_cases_wide()"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Ontario\n",
"British Columbia\n"
]
},
{
"data": {
"text/html": [
" <script type=\"text/javascript\">\n",
" window.PlotlyConfig = {MathJaxConfig: 'local'};\n",
" if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}\n",
" if (typeof require !== 'undefined') {\n",
" require.undef(\"plotly\");\n",
" define('plotly', function(require, exports, module) {\n",
" /**\n",
"* plotly.js v1.52.2\n",
"* Copyright 2012-2020, Plotly, Inc.\n",
"* All rights reserved.\n",
"* Licensed under the MIT license\n",
"*/\n",
"!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).Plotly=t()}}(function(){return function(){return function t(e,r,n){function a(o,s){if(!r[o]){if(!e[o]){var l=\"function\"==typeof require&&require;if(!s&&l)return l(o,!0);if(i)return i(o,!0);var c=new Error(\"Cannot find module '\"+o+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){return a(e[o][1][t]||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var i=\"function\"==typeof require&&require,o=0;o<n.length;o++)a(n[o]);return a}}()({1:[function(t,e,r){\"use strict\";var n=t(\"../src/lib\"),a={\"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 0.3s ease 0s;-moz-transition:background-color 0.3s ease 0s;-ms-transition:background-color 0.3s ease 0s;-o-transition:background-color 0.3s ease 0s;transition:background-color 0.3s ease 0s;\",\"X .modebar--hover>:not(.watermark)\":\"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.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:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;\",\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:white;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 transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",\"X .select-outline\":\"fill:none;stroke-width:1;shape-rendering:crispEdges;\",\"X .select-outline-1\":\"stroke:white;\",\"X .select-outline-2\":\"stroke:black;stroke-dasharray:2px 2px;\",Y:\"font-family:'Open Sans';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,0.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:0.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 i in a){var o=i.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");n.addStyleRule(o,a[i])}},{\"../src/lib\":717}],2:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/aggregate\")},{\"../src/transforms/aggregate\":1297}],3:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/bar\")},{\"../src/traces/bar\":864}],4:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/barpolar\")},{\"../src/traces/barpolar\":877}],5:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/box\")},{\"../src/traces/box\":887}],6:[function(t,e,r){\"use strict\";e.exports=t(\"../src/components/calendars\")},{\"../src/components/calendars\":590}],7:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/candlestick\")},{\"../src/traces/candlestick\":896}],8:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/carpet\")},{\"../src/traces/carpet\":915}],9:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choropleth\")},{\"../src/traces/choropleth\":929}],10:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choroplethmapbox\")},{\"../src/traces/choroplethmapbox\":936}],11:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/cone\")},{\"../src/traces/cone\":942}],12:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contour\")},{\"../src/traces/contour\":957}],13:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contourcarpet\")},{\"../src/traces/contourcarpet\":968}],14:[function(t,e,r){\"use strict\";e.exports=t(\"../src/core\")},{\"../src/core\":695}],15:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/densitymapbox\")},{\"../src/traces/densitymapbox\":976}],16:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/filter\")},{\"../src/transforms/filter\":1298}],17:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/funnel\")},{\"../src/traces/funnel\":986}],18:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/funnelarea\")},{\"../src/traces/funnelarea\":995}],19:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/groupby\")},{\"../src/transforms/groupby\":1299}],20:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmap\")},{\"../src/traces/heatmap\":1008}],21:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmapgl\")},{\"../src/traces/heatmapgl\":1017}],22:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram\")},{\"../src/traces/histogram\":1029}],23:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2d\")},{\"../src/traces/histogram2d\":1035}],24:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2dcontour\")},{\"../src/traces/histogram2dcontour\":1039}],25:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/image\")},{\"../src/traces/image\":1046}],26:[function(t,e,r){\"use strict\";var n=t(\"./core\");n.register([t(\"./bar\"),t(\"./box\"),t(\"./heatmap\"),t(\"./histogram\"),t(\"./histogram2d\"),t(\"./histogram2dcontour\"),t(\"./contour\"),t(\"./scatterternary\"),t(\"./violin\"),t(\"./funnel\"),t(\"./waterfall\"),t(\"./image\"),t(\"./pie\"),t(\"./sunburst\"),t(\"./treemap\"),t(\"./funnelarea\"),t(\"./scatter3d\"),t(\"./surface\"),t(\"./isosurface\"),t(\"./volume\"),t(\"./mesh3d\"),t(\"./cone\"),t(\"./streamtube\"),t(\"./scattergeo\"),t(\"./choropleth\"),t(\"./scattergl\"),t(\"./splom\"),t(\"./pointcloud\"),t(\"./heatmapgl\"),t(\"./parcoords\"),t(\"./parcats\"),t(\"./scattermapbox\"),t(\"./choroplethmapbox\"),t(\"./densitymapbox\"),t(\"./sankey\"),t(\"./indicator\"),t(\"./table\"),t(\"./carpet\"),t(\"./scattercarpet\"),t(\"./contourcarpet\"),t(\"./ohlc\"),t(\"./candlestick\"),t(\"./scatterpolar\"),t(\"./scatterpolargl\"),t(\"./barpolar\")]),n.register([t(\"./aggregate\"),t(\"./filter\"),t(\"./groupby\"),t(\"./sort\")]),n.register([t(\"./calendars\")]),e.exports=n},{\"./aggregate\":2,\"./bar\":3,\"./barpolar\":4,\"./box\":5,\"./calendars\":6,\"./candlestick\":7,\"./carpet\":8,\"./choropleth\":9,\"./choroplethmapbox\":10,\"./cone\":11,\"./contour\":12,\"./contourcarpet\":13,\"./core\":14,\"./densitymapbox\":15,\"./filter\":16,\"./funnel\":17,\"./funnelarea\":18,\"./groupby\":19,\"./heatmap\":20,\"./heatmapgl\":21,\"./histogram\":22,\"./histogram2d\":23,\"./histogram2dcontour\":24,\"./image\":25,\"./indicator\":27,\"./isosurface\":28,\"./mesh3d\":29,\"./ohlc\":30,\"./parcats\":31,\"./parcoords\":32,\"./pie\":33,\"./pointcloud\":34,\"./sankey\":35,\"./scatter3d\":36,\"./scattercarpet\":37,\"./scattergeo\":38,\"./scattergl\":39,\"./scattermapbox\":40,\"./scatterpolar\":41,\"./scatterpolargl\":42,\"./scatterternary\":43,\"./sort\":44,\"./splom\":45,\"./streamtube\":46,\"./sunburst\":47,\"./surface\":48,\"./table\":49,\"./treemap\":50,\"./violin\":51,\"./volume\":52,\"./waterfall\":53}],27:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/indicator\")},{\"../src/traces/indicator\":1054}],28:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/isosurface\")},{\"../src/traces/isosurface\":1060}],29:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/mesh3d\")},{\"../src/traces/mesh3d\":1065}],30:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/ohlc\")},{\"../src/traces/ohlc\":1070}],31:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcats\")},{\"../src/traces/parcats\":1079}],32:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcoords\")},{\"../src/traces/parcoords\":1089}],33:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pie\")},{\"../src/traces/pie\":1100}],34:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pointcloud\")},{\"../src/traces/pointcloud\":1109}],35:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sankey\")},{\"../src/traces/sankey\":1115}],36:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatter3d\")},{\"../src/traces/scatter3d\":1152}],37:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattercarpet\")},{\"../src/traces/scattercarpet\":1159}],38:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergeo\")},{\"../src/traces/scattergeo\":1167}],39:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergl\")},{\"../src/traces/scattergl\":1180}],40:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattermapbox\")},{\"../src/traces/scattermapbox\":1190}],41:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolar\")},{\"../src/traces/scatterpolar\":1198}],42:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolargl\")},{\"../src/traces/scatterpolargl\":1205}],43:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterternary\")},{\"../src/traces/scatterternary\":1213}],44:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/sort\")},{\"../src/transforms/sort\":1301}],45:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/splom\")},{\"../src/traces/splom\":1222}],46:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/streamtube\")},{\"../src/traces/streamtube\":1230}],47:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sunburst\")},{\"../src/traces/sunburst\":1238}],48:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/surface\")},{\"../src/traces/surface\":1247}],49:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/table\")},{\"../src/traces/table\":1255}],50:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/treemap\")},{\"../src/traces/treemap\":1264}],51:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/violin\")},{\"../src/traces/violin\":1276}],52:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/volume\")},{\"../src/traces/volume\":1284}],53:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/waterfall\")},{\"../src/traces/waterfall\":1292}],54:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||\"turntable\",u=n(),h=a(),f=i();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),new o({turntable:u,orbit:h,matrix:f},c)};var n=t(\"turntable-camera-controller\"),a=t(\"orbit-camera-controller\"),i=t(\"matrix-camera-controller\");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map(function(e){return t[e]}),this._mode=e,this._active=t[e],this._active||(this._mode=\"turntable\",this._active=t.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;[[\"flush\",1],[\"idle\",1],[\"lookAt\",4],[\"rotate\",4],[\"pan\",4],[\"translate\",4],[\"setMatrix\",2],[\"setDistanceLimits\",2],[\"setDistance\",2]].forEach(function(t){for(var e=t[0],r=[],n=0;n<t[1];++n)r.push(\"a\"+n);var a=\"var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i].\"+t[0]+\"(\"+r.join()+\")}\";s[e]=Function.apply(null,r.concat(a))}),s.recalcMatrix=function(t){this._active.recalcMatrix(t)},s.getDistance=function(t){return this._active.getDistance(t)},s.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},s.lastT=function(){return this._active.lastT()},s.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],a=Math.max(r.lastT(),n.lastT());r.recalcMatrix(a),n.setMatrix(a,r.computedMatrix),this._active=n,this._mode=t,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}},{\"matrix-camera-controller\":435,\"orbit-camera-controller\":458,\"turntable-camera-controller\":541}],55:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n,a){\"use strict\";function i(t){return t.target.depth}function o(t,e){return t.sourceLinks.length?t.depth:e-1}function s(t){return function(){return t}}a=a&&a.hasOwnProperty(\"default\")?a.default:a;var l=\"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};function c(t,e){return h(t.source,e.source)||t.index-e.index}function u(t,e){return h(t.target,e.target)||t.index-e.index}function h(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:\"top\"===t.circularLinkType||\"bottom\"===e.circularLinkType?-1:1}function f(t){return t.value}function p(t){return(t.y0+t.y1)/2}function d(t){return p(t.source)}function g(t){return p(t.target)}function v(t){return t.index}function m(t){return t.nodes}function y(t){return t.links}function x(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function b(t,e){return e(t)}var _=25,w=10,k=.3;function T(t,e){var r=0,n=0;t.links.forEach(function(a){a.circular&&(a.source.circularLinkType||a.target.circularLinkType?a.circularLinkType=a.source.circularLinkType?a.source.circularLinkType:a.target.circularLinkType:a.circularLinkType=r<n?\"top\":\"bottom\",\"top\"==a.circularLinkType?r+=1:n+=1,t.nodes.forEach(function(t){b(t,e)!=b(a.source,e)&&b(t,e)!=b(a.target,e)||(t.circularLinkType=a.circularLinkType)}))}),t.links.forEach(function(t){t.circular&&(t.source.circularLinkType==t.target.circularLinkType&&(t.circularLinkType=t.source.circularLinkType),Y(t,e)&&(t.circularLinkType=t.source.circularLinkType))})}function M(t){var e=Math.abs(t.y1-t.y0),r=Math.abs(t.target.x0-t.source.x1);return Math.atan(r/e)}function A(t,e){var r=0;t.sourceLinks.forEach(function(t){r=t.circular&&!Y(t,e)?r+1:r});var n=0;return t.targetLinks.forEach(function(t){n=t.circular&&!Y(t,e)?n+1:n}),r+n}function S(t){var e=t.source.sourceLinks,r=0;e.forEach(function(t){r=t.circular?r+1:r});var n=t.target.targetLinks,a=0;return n.forEach(function(t){a=t.circular?a+1:a}),!(r>1||a>1)}function E(t,e,r){return t.sort(C),t.forEach(function(n,a){var i,o,s=0;if(Y(n,r)&&S(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;l<a;l++)if(i=t[a],o=t[l],!(i.source.column<o.target.column||i.target.column>o.source.column)){var c=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=c>s?c:s}n.circularPathData.verticalBuffer=s+n.width/2}}),t}function L(t,r,a,i){var o=e.min(t.links,function(t){return t.source.y0});t.links.forEach(function(t){t.circular&&(t.circularPathData={})}),E(t.links.filter(function(t){return\"top\"==t.circularLinkType}),r,i),E(t.links.filter(function(t){return\"bottom\"==t.circularLinkType}),r,i),t.links.forEach(function(e){if(e.circular){if(e.circularPathData.arcRadius=e.width+w,e.circularPathData.leftNodeBuffer=5,e.circularPathData.rightNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,Y(e,i)&&S(e))e.circularPathData.leftSmallArcRadius=w+e.width/2,e.circularPathData.leftLargeArcRadius=w+e.width/2,e.circularPathData.rightSmallArcRadius=w+e.width/2,e.circularPathData.rightLargeArcRadius=w+e.width/2,\"bottom\"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+_+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-_-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius);else{var s=e.source.column,l=e.circularLinkType,c=t.links.filter(function(t){return t.source.column==s&&t.circularLinkType==l});\"bottom\"==e.circularLinkType?c.sort(O):c.sort(P);var u=0;c.forEach(function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=w+e.width/2+u,e.circularPathData.leftLargeArcRadius=w+e.width/2+n*r+u),u+=t.width}),s=e.target.column,c=t.links.filter(function(t){return t.target.column==s&&t.circularLinkType==l}),\"bottom\"==e.circularLinkType?c.sort(I):c.sort(z),u=0,c.forEach(function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=w+e.width/2+u,e.circularPathData.rightLargeArcRadius=w+e.width/2+n*r+u),u+=t.width}),\"bottom\"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(a,e.source.y1,e.target.y1)+_+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=o-_-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius)}e.circularPathData.leftInnerExtent=e.circularPathData.sourceX+e.circularPathData.leftNodeBuffer,e.circularPathData.rightInnerExtent=e.circularPathData.targetX-e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.sourceX+e.circularPathData.leftLargeArcRadius+e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.targetX-e.circularPathData.rightLargeArcRadius-e.circularPathData.rightNodeBuffer}if(e.circular)e.path=function(t){var e=\"\";e=\"top\"==t.circularLinkType?\"M\"+t.circularPathData.sourceX+\" \"+t.circularPathData.sourceY+\" L\"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.sourceY+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+t.circularPathData.leftFullExtent+\" \"+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+\" L\"+t.circularPathData.leftFullExtent+\" \"+t.circularPathData.verticalLeftInnerExtent+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" L\"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+t.circularPathData.rightFullExtent+\" \"+t.circularPathData.verticalRightInnerExtent+\" L\"+t.circularPathData.rightFullExtent+\" \"+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.targetY+\" L\"+t.circularPathData.targetX+\" \"+t.circularPathData.targetY:\"M\"+t.circularPathData.sourceX+\" \"+t.circularPathData.sourceY+\" L\"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.sourceY+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+t.circularPathData.leftFullExtent+\" \"+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+\" L\"+t.circularPathData.leftFullExtent+\" \"+t.circularPathData.verticalLeftInnerExtent+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" L\"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+t.circularPathData.rightFullExtent+\" \"+t.circularPathData.verticalRightInnerExtent+\" L\"+t.circularPathData.rightFullExtent+\" \"+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.targetY+\" L\"+t.circularPathData.targetX+\" \"+t.circularPathData.targetY;return e}(e);else{var h=n.linkHorizontal().source(function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]}).target(function(t){return[t.target.x0,t.y1]});e.path=h(e)}})}function C(t,e){return D(t)==D(e)?\"bottom\"==t.circularLinkType?O(t,e):P(t,e):D(e)-D(t)}function P(t,e){return t.y0-e.y0}function O(t,e){return e.y0-t.y0}function z(t,e){return t.y1-e.y1}function I(t,e){return e.y1-t.y1}function D(t){return t.target.column-t.source.column}function R(t){return t.target.x0-t.source.x1}function F(t,e){var r=M(t),n=R(e)/Math.tan(r);return\"up\"==G(t)?t.y1+n:t.y1-n}function B(t,e){var r=M(t),n=R(e)/Math.tan(r);return\"up\"==G(t)?t.y1-n:t.y1+n}function N(t,e,r,n){t.links.forEach(function(a){if(!a.circular&&a.target.column-a.source.column>1){var i=a.source.column+1,o=a.target.column-1,s=1,l=o-i+1;for(s=1;i<=o;i++,s++)t.nodes.forEach(function(o){if(o.column==i){var c,u=s/(l+1),h=Math.pow(1-u,3),f=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),g=h*a.y0+f*a.y0+p*a.y1+d*a.y1,v=g-a.width/2,m=g+a.width/2;v>o.y0&&v<o.y1?(c=o.y1-v+10,c=\"bottom\"==o.circularLinkType?c:-c,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&j(o,t)&&V(t,c,e,r)})):m>o.y0&&m<o.y1?(c=m-o.y0+10,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&V(t,c,e,r)})):v<o.y0&&m>o.y1&&(c=m-o.y0+10,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&V(t,c,e,r)}))}})}})}function j(t,e){return t.y0>e.y0&&t.y0<e.y1||(t.y1>e.y0&&t.y1<e.y1||t.y0<e.y0&&t.y1>e.y1)}function V(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach(function(t){t.y1=t.y1+e}),t.sourceLinks.forEach(function(t){t.y0=t.y0+e})),t}function U(t,e,r,n){t.nodes.forEach(function(a){n&&a.y+(a.y1-a.y0)>e&&(a.y=a.y-(a.y+(a.y1-a.y0)-e));var i=t.links.filter(function(t){return b(t.source,r)==b(a,r)}),o=i.length;o>1&&i.sort(function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!H(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=B(e,t);return t.y1-r}if(e.target.column>t.target.column)return B(t,e)-e.y1}return t.circular&&!e.circular?\"top\"==t.circularLinkType?-1:1:e.circular&&!t.circular?\"top\"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&\"top\"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&\"bottom\"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:\"top\"==t.circularLinkType?-1:1:void 0});var s=a.y0;i.forEach(function(t){t.y0=s+t.width/2,s+=t.width}),i.forEach(function(t,e){if(\"bottom\"==t.circularLinkType){for(var r=e+1,n=0;r<o;r++)n+=i[r].width;t.y0=a.y1-n-t.width/2}})})}function q(t,e,r){t.nodes.forEach(function(e){var n=t.links.filter(function(t){return b(t.target,r)==b(e,r)}),a=n.length;a>1&&n.sort(function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!H(t,e))return t.y0-e.y0;if(e.source.column<t.source.column){var r=F(e,t);return t.y0-r}if(t.source.column<e.source.column)return F(t,e)-e.y0}return t.circular&&!e.circular?\"top\"==t.circularLinkType?-1:1:e.circular&&!t.circular?\"top\"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&\"top\"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:t.source.column-e.source.column:t.circularLinkType===e.circularLinkType&&\"bottom\"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:e.source.column-t.source.column:\"top\"==t.circularLinkType?-1:1:void 0});var i=e.y0;n.forEach(function(t){t.y1=i+t.width/2,i+=t.width}),n.forEach(function(t,r){if(\"bottom\"==t.circularLinkType){for(var i=r+1,o=0;i<a;i++)o+=n[i].width;t.y1=e.y1-o-t.width/2}})})}function H(t,e){return G(t)==G(e)}function G(t){return t.y0-t.y1>0?\"up\":\"down\"}function Y(t,e){return b(t.source,e)==b(t.target,e)}t.sankeyCircular=function(){var t,n,i=0,b=0,M=1,S=1,E=24,C=v,P=o,O=m,z=y,I=32,D=2,R=null;function F(){var o={nodes:O.apply(null,arguments),links:z.apply(null,arguments)};!function(t){t.nodes.forEach(function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]});var e=r.map(t.nodes,C);t.links.forEach(function(t,r){t.index=r;var n=t.source,a=t.target;\"object\"!==(\"undefined\"==typeof n?\"undefined\":l(n))&&(n=t.source=x(e,n)),\"object\"!==(\"undefined\"==typeof a?\"undefined\":l(a))&&(a=t.target=x(e,a)),n.sourceLinks.push(t),a.targetLinks.push(t)})}(o),function(t,e,r){var n=0;if(null===r){for(var i=[],o=0;o<t.links.length;o++){var s=t.links[o],l=s.source.index,c=s.target.index;i[l]||(i[l]=[]),i[c]||(i[c]=[]),-1===i[l].indexOf(c)&&i[l].push(c)}var u=a(i);u.sort(function(t,e){return t.length-e.length});var h={};for(o=0;o<u.length;o++){var f=u[o],p=f.slice(-2);h[p[0]]||(h[p[0]]={}),h[p[0]][p[1]]=!0}t.links.forEach(function(t){var e=t.target.index,r=t.source.index;e===r||h[r]&&h[r][e]?(t.circular=!0,t.circularLinkID=n,n+=1):t.circular=!1})}else t.links.forEach(function(t){t.source[r]<t.target[r]?t.circular=!1:(t.circular=!0,t.circularLinkID=n,n+=1)})}(o,0,R),function(t){t.nodes.forEach(function(t){t.partOfCycle=!1,t.value=Math.max(e.sum(t.sourceLinks,f),e.sum(t.targetLinks,f)),t.sourceLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)}),t.targetLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)})})}(o),function(t){var e,r,n;for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach(function(t){t.depth=n,t.sourceLinks.forEach(function(t){r.indexOf(t.target)<0&&!t.circular&&r.push(t.target)})});for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach(function(t){t.height=n,t.targetLinks.forEach(function(t){r.indexOf(t.source)<0&&!t.circular&&r.push(t.source)})});t.nodes.forEach(function(t){t.column=Math.floor(P.call(null,t,n))})}(o),T(o,C),function(a,o,s){var l=r.nest().key(function(t){return t.column}).sortKeys(e.ascending).entries(a.nodes).map(function(t){return t.values});(function(r){if(n){var o=1/0;l.forEach(function(t){var e=S*n/(t.length+1);o=e<o?e:o}),t=o}var s=e.min(l,function(r){return(S-b-(r.length-1)*t)/e.sum(r,f)});s*=k,a.links.forEach(function(t){t.width=t.value*s});var c=function(t){var r=0,n=0,a=0,i=0,o=e.max(t.nodes,function(t){return t.column});return t.links.forEach(function(t){t.circular&&(\"top\"==t.circularLinkType?r+=t.width:n+=t.width,0==t.target.column&&(i+=t.width),t.source.column==o&&(a+=t.width))}),{top:r=r>0?r+_+w:r,bottom:n=n>0?n+_+w:n,left:i=i>0?i+_+w:i,right:a=a>0?a+_+w:a}}(a),u=function(t,r){var n=e.max(t.nodes,function(t){return t.column}),a=M-i,o=S-b,s=a+r.right+r.left,l=o+r.top+r.bottom,c=a/s,u=o/l;return i=i*c+r.left,M=0==r.right?M:M*c,b=b*u+r.top,S*=u,t.nodes.forEach(function(t){t.x0=i+t.column*((M-i-E)/n),t.x1=t.x0+E}),u}(a,c);s*=u,a.links.forEach(function(t){t.width=t.value*s}),l.forEach(function(t){var e=t.length;t.forEach(function(t,n){t.depth==l.length-1&&1==e?(t.y0=S/2-t.value*s,t.y1=t.y0+t.value*s):0==t.depth&&1==e?(t.y0=S/2-t.value*s,t.y1=t.y0+t.value*s):t.partOfCycle?0==A(t,r)?(t.y0=S/2+n,t.y1=t.y0+t.value*s):\"top\"==t.circularLinkType?(t.y0=b+n,t.y1=t.y0+t.value*s):(t.y0=S-t.value*s-n,t.y1=t.y0+t.value*s):0==c.top||0==c.bottom?(t.y0=(S-b)/e*n,t.y1=t.y0+t.value*s):(t.y0=(S-b)/2-e/2+n,t.y1=t.y0+t.value*s)})})})(s),m();for(var c=1,u=o;u>0;--u)v(c*=.99,s),m();function v(t,r){var n=l.length;l.forEach(function(a){var i=a.length,o=a[0].depth;a.forEach(function(a){var s;if(a.sourceLinks.length||a.targetLinks.length)if(a.partOfCycle&&A(a,r)>0);else if(0==o&&1==i)s=a.y1-a.y0,a.y0=S/2-s/2,a.y1=S/2+s/2;else if(o==n-1&&1==i)s=a.y1-a.y0,a.y0=S/2-s/2,a.y1=S/2+s/2;else{var l=e.mean(a.sourceLinks,g),c=e.mean(a.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(a))*t;a.y0+=u,a.y1+=u}})})}function m(){l.forEach(function(e){var r,n,a,i=b,o=e.length;for(e.sort(h),a=0;a<o;++a)r=e[a],(n=i-r.y0)>0&&(r.y0+=n,r.y1+=n),i=r.y1+t;if((n=i-t-S)>0)for(i=r.y0-=n,r.y1-=n,a=o-2;a>=0;--a)r=e[a],(n=r.y1+t-i)>0&&(r.y0-=n,r.y1-=n),i=r.y0})}}(o,I,C),B(o);for(var s=0;s<4;s++)U(o,S,C),q(o,0,C),N(o,b,S,C),U(o,S,C),q(o,0,C);return function(t,r,n){var a=t.nodes,i=t.links,o=!1,s=!1;if(i.forEach(function(t){\"top\"==t.circularLinkType?o=!0:\"bottom\"==t.circularLinkType&&(s=!0)}),0==o||0==s){var l=e.min(a,function(t){return t.y0}),c=e.max(a,function(t){return t.y1}),u=c-l,h=n-r,f=h/u;a.forEach(function(t){var e=(t.y1-t.y0)*f;t.y0=(t.y0-l)*f,t.y1=t.y0+e}),i.forEach(function(t){t.y0=(t.y0-l)*f,t.y1=(t.y1-l)*f,t.width=t.width*f})}}(o,b,S),L(o,D,S,C),o}function B(t){t.nodes.forEach(function(t){t.sourceLinks.sort(u),t.targetLinks.sort(c)}),t.nodes.forEach(function(t){var e=t.y0,r=e,n=t.y1,a=n;t.sourceLinks.forEach(function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)}),t.targetLinks.forEach(function(t){t.circular?(t.y1=a-t.width/2,a-=t.width):(t.y1=r+t.width/2,r+=t.width)})})}return F.nodeId=function(t){return arguments.length?(C=\"function\"==typeof t?t:s(t),F):C},F.nodeAlign=function(t){return arguments.length?(P=\"function\"==typeof t?t:s(t),F):P},F.nodeWidth=function(t){return arguments.length?(E=+t,F):E},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(O=\"function\"==typeof t?t:s(t),F):O},F.links=function(t){return arguments.length?(z=\"function\"==typeof t?t:s(t),F):z},F.size=function(t){return arguments.length?(i=b=0,M=+t[0],S=+t[1],F):[M-i,S-b]},F.extent=function(t){return arguments.length?(i=+t[0][0],M=+t[1][0],b=+t[0][1],S=+t[1][1],F):[[i,b],[M,S]]},F.iterations=function(t){return arguments.length?(I=+t,F):I},F.circularLinkGap=function(t){return arguments.length?(D=+t,F):D},F.nodePaddingRatio=function(t){return arguments.length?(n=+t,F):n},F.sortNodes=function(t){return arguments.length?(R=t,F):R},F.update=function(t){return T(t,C),B(t),t.links.forEach(function(t){t.circular&&(t.circularLinkType=t.y0+t.y1<S?\"top\":\"bottom\",t.source.circularLinkType=t.circularLinkType,t.target.circularLinkType=t.circularLinkType)}),U(t,S,C,!1),q(t,0,C),L(t,D,S,C),t},F},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,i)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=o,Object.defineProperty(t,\"__esModule\",{value:!0})},\"object\"==typeof r&&\"undefined\"!=typeof e?a(r,t(\"d3-array\"),t(\"d3-collection\"),t(\"d3-shape\"),t(\"elementary-circuits-directed-graph\")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3,null)},{\"d3-array\":154,\"d3-collection\":155,\"d3-shape\":163,\"elementary-circuits-directed-graph\":175}],56:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n){\"use strict\";function a(t){return t.target.depth}function i(t,e){return t.sourceLinks.length?t.depth:e-1}function o(t){return function(){return t}}function s(t,e){return c(t.source,e.source)||t.index-e.index}function l(t,e){return c(t.target,e.target)||t.index-e.index}function c(t,e){return t.y0-e.y0}function u(t){return t.value}function h(t){return(t.y0+t.y1)/2}function f(t){return h(t.source)*t.value}function p(t){return h(t.target)*t.value}function d(t){return t.index}function g(t){return t.nodes}function v(t){return t.links}function m(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function y(t){return[t.source.x1,t.y0]}function x(t){return[t.target.x0,t.y1]}t.sankey=function(){var t=0,n=0,a=1,y=1,x=24,b=8,_=d,w=i,k=g,T=v,M=32,A=2/3;function S(){var i={nodes:k.apply(null,arguments),links:T.apply(null,arguments)};return function(t){t.nodes.forEach(function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]});var e=r.map(t.nodes,_);t.links.forEach(function(t,r){t.index=r;var n=t.source,a=t.target;\"object\"!=typeof n&&(n=t.source=m(e,n)),\"object\"!=typeof a&&(a=t.target=m(e,a)),n.sourceLinks.push(t),a.targetLinks.push(t)})}(i),function(t){t.nodes.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,u),e.sum(t.targetLinks,u))})}(i),function(e){var r,n,i;for(r=e.nodes,n=[],i=0;r.length;++i,r=n,n=[])r.forEach(function(t){t.depth=i,t.sourceLinks.forEach(function(t){n.indexOf(t.target)<0&&n.push(t.target)})});for(r=e.nodes,n=[],i=0;r.length;++i,r=n,n=[])r.forEach(function(t){t.height=i,t.targetLinks.forEach(function(t){n.indexOf(t.source)<0&&n.push(t.source)})});var o=(a-t-x)/(i-1);e.nodes.forEach(function(e){e.x1=(e.x0=t+Math.max(0,Math.min(i-1,Math.floor(w.call(null,e,i))))*o)+x})}(i),function(t){var a=r.nest().key(function(t){return t.x0}).sortKeys(e.ascending).entries(t.nodes).map(function(t){return t.values});(function(){var r=e.max(a,function(t){return t.length}),i=A*(y-n)/(r-1);b>i&&(b=i);var o=e.min(a,function(t){return(y-n-(t.length-1)*b)/e.sum(t,u)});a.forEach(function(t){t.forEach(function(t,e){t.y1=(t.y0=e)+t.value*o})}),t.links.forEach(function(t){t.width=t.value*o})})(),d();for(var i=1,o=M;o>0;--o)l(i*=.99),d(),s(i),d();function s(t){a.forEach(function(r){r.forEach(function(r){if(r.targetLinks.length){var n=(e.sum(r.targetLinks,f)/e.sum(r.targetLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}})})}function l(t){a.slice().reverse().forEach(function(r){r.forEach(function(r){if(r.sourceLinks.length){var n=(e.sum(r.sourceLinks,p)/e.sum(r.sourceLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}})})}function d(){a.forEach(function(t){var e,r,a,i=n,o=t.length;for(t.sort(c),a=0;a<o;++a)e=t[a],(r=i-e.y0)>0&&(e.y0+=r,e.y1+=r),i=e.y1+b;if((r=i-b-y)>0)for(i=e.y0-=r,e.y1-=r,a=o-2;a>=0;--a)e=t[a],(r=e.y1+b-i)>0&&(e.y0-=r,e.y1-=r),i=e.y0})}}(i),E(i),i}function E(t){t.nodes.forEach(function(t){t.sourceLinks.sort(l),t.targetLinks.sort(s)}),t.nodes.forEach(function(t){var e=t.y0,r=e;t.sourceLinks.forEach(function(t){t.y0=e+t.width/2,e+=t.width}),t.targetLinks.forEach(function(t){t.y1=r+t.width/2,r+=t.width})})}return S.update=function(t){return E(t),t},S.nodeId=function(t){return arguments.length?(_=\"function\"==typeof t?t:o(t),S):_},S.nodeAlign=function(t){return arguments.length?(w=\"function\"==typeof t?t:o(t),S):w},S.nodeWidth=function(t){return arguments.length?(x=+t,S):x},S.nodePadding=function(t){return arguments.length?(b=+t,S):b},S.nodes=function(t){return arguments.length?(k=\"function\"==typeof t?t:o(t),S):k},S.links=function(t){return arguments.length?(T=\"function\"==typeof t?t:o(t),S):T},S.size=function(e){return arguments.length?(t=n=0,a=+e[0],y=+e[1],S):[a-t,y-n]},S.extent=function(e){return arguments.length?(t=+e[0][0],a=+e[1][0],n=+e[0][1],y=+e[1][1],S):[[t,n],[a,y]]},S.iterations=function(t){return arguments.length?(M=+t,S):M},S},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,a)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=i,t.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(y).target(x)},Object.defineProperty(t,\"__esModule\",{value:!0})},\"object\"==typeof r&&\"undefined\"!=typeof e?a(r,t(\"d3-array\"),t(\"d3-collection\"),t(\"d3-shape\")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{\"d3-array\":154,\"d3-collection\":155,\"d3-shape\":163}],57:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/meta\"),a=6378137;function i(t){var e=0;if(t&&t.length>0){e+=Math.abs(o(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(o(t[r]))}return e}function o(t){var e,r,n,i,o,l,c=0,u=t.length;if(u>2){for(l=0;l<u;l++)l===u-2?(n=u-2,i=u-1,o=0):l===u-1?(n=u-1,i=0,o=1):(n=l,i=l+1,o=l+2),e=t[n],r=t[i],c+=(s(t[o][0])-s(e[0]))*Math.sin(s(r[1]));c=c*a*a/2}return c}function s(t){return t*Math.PI/180}r.default=function(t){return n.geomReduce(t,function(t,e){return t+function(t){var e,r=0;switch(t.type){case\"Polygon\":return i(t.coordinates);case\"MultiPolygon\":for(e=0;e<t.coordinates.length;e++)r+=i(t.coordinates[e]);return r;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0}return 0}(e)},0)}},{\"@turf/meta\":61}],58:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/meta\");r.default=function(t){var e=[1/0,1/0,-1/0,-1/0];return n.coordEach(t,function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]<t[0]&&(e[2]=t[0]),e[3]<t[1]&&(e[3]=t[1])}),e}},{\"@turf/meta\":61}],59:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/meta\"),a=t(\"@turf/helpers\");r.default=function(t,e){void 0===e&&(e={});var r=0,i=0,o=0;return n.coordEach(t,function(t){r+=t[0],i+=t[1],o++}),a.point([r/o,i/o],e.properties)}},{\"@turf/helpers\":60,\"@turf/meta\":61}],60:[function(t,e,r){\"use strict\";function n(t,e,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=e||{},n.geometry=t,n}function a(t,e,r){return void 0===r&&(r={}),n({type:\"Point\",coordinates:t},e,r)}function i(t,e,r){void 0===r&&(r={});for(var a=0,i=t;a<i.length;a++){var o=i[a];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 n({type:\"Polygon\",coordinates:t},e,r)}function o(t,e,r){if(void 0===r&&(r={}),t.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return n({type:\"LineString\",coordinates:t},e,r)}function s(t,e){void 0===e&&(e={});var r={type:\"FeatureCollection\"};return e.id&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.features=t,r}function l(t,e,r){return void 0===r&&(r={}),n({type:\"MultiLineString\",coordinates:t},e,r)}function c(t,e,r){return void 0===r&&(r={}),n({type:\"MultiPoint\",coordinates:t},e,r)}function u(t,e,r){return void 0===r&&(r={}),n({type:\"MultiPolygon\",coordinates:t},e,r)}function h(t,e){void 0===e&&(e=\"kilometers\");var n=r.factors[e];if(!n)throw new Error(e+\" units is invalid\");return t*n}function f(t,e){void 0===e&&(e=\"kilometers\");var n=r.factors[e];if(!n)throw new Error(e+\" units is invalid\");return t/n}function p(t){return 180*(t%(2*Math.PI))/Math.PI}function d(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)&&!/^\\s*$/.test(t)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.earthRadius=6371008.8,r.factors={centimeters:100*r.earthRadius,centimetres:100*r.earthRadius,degrees:r.earthRadius/111325,feet:3.28084*r.earthRadius,inches:39.37*r.earthRadius,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:1e3*r.earthRadius,millimetres:1e3*r.earthRadius,nauticalmiles:r.earthRadius/1852,radians:1,yards:r.earthRadius/1.0936},r.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/r.earthRadius,yards:1/1.0936},r.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:3.86e-7,millimeters:1e6,millimetres:1e6,yards:1.195990046},r.feature=n,r.geometry=function(t,e,r){switch(void 0===r&&(r={}),t){case\"Point\":return a(e).geometry;case\"LineString\":return o(e).geometry;case\"Polygon\":return i(e).geometry;case\"MultiPoint\":return c(e).geometry;case\"MultiLineString\":return l(e).geometry;case\"MultiPolygon\":return u(e).geometry;default:throw new Error(t+\" is invalid\")}},r.point=a,r.points=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return a(t,e)}),r)},r.polygon=i,r.polygons=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return i(t,e)}),r)},r.lineString=o,r.lineStrings=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return o(t,e)}),r)},r.featureCollection=s,r.multiLineString=l,r.multiPoint=c,r.multiPolygon=u,r.geometryCollection=function(t,e,r){return void 0===r&&(r={}),n({type:\"GeometryCollection\",geometries:t},e,r)},r.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error(\"precision must be a positive number\");var r=Math.pow(10,e||0);return Math.round(t*r)/r},r.radiansToLength=h,r.lengthToRadians=f,r.lengthToDegrees=function(t,e){return p(f(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.convertLength=function(t,e,r){if(void 0===e&&(e=\"kilometers\"),void 0===r&&(r=\"kilometers\"),!(t>=0))throw new Error(\"length must be a positive number\");return h(f(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e=\"meters\"),void 0===n&&(n=\"kilometers\"),!(t>=0))throw new Error(\"area must be a positive number\");var a=r.areaFactors[e];if(!a)throw new Error(\"invalid original units\");var i=r.areaFactors[n];if(!i)throw new Error(\"invalid final units\");return t/a*i},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.validateBBox=function(t){if(!t)throw new Error(\"bbox is required\");if(!Array.isArray(t))throw new Error(\"bbox must be an Array\");if(4!==t.length&&6!==t.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");t.forEach(function(t){if(!d(t))throw new Error(\"bbox must only contain numbers\")})},r.validateId=function(t){if(!t)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof t))throw new Error(\"id must be a number or a string\")},r.radians2degrees=function(){throw new Error(\"method has been renamed to `radiansToDegrees`\")},r.degrees2radians=function(){throw new Error(\"method has been renamed to `degreesToRadians`\")},r.distanceToDegrees=function(){throw new Error(\"method has been renamed to `lengthToDegrees`\")},r.distanceToRadians=function(){throw new Error(\"method has been renamed to `lengthToRadians`\")},r.radiansToDistance=function(){throw new Error(\"method has been renamed to `radiansToLength`\")},r.bearingToAngle=function(){throw new Error(\"method has been renamed to `bearingToAzimuth`\")},r.convertDistance=function(){throw new Error(\"method has been renamed to `convertLength`\")}},{}],61:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/helpers\");function a(t,e,r){if(null!==t)for(var n,i,o,s,l,c,u,h,f=0,p=0,d=t.type,g=\"FeatureCollection\"===d,v=\"Feature\"===d,m=g?t.features.length:1,y=0;y<m;y++){l=(h=!!(u=g?t.features[y].geometry:v?t.geometry:t)&&\"GeometryCollection\"===u.type)?u.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=h?u.geometries[x]:u)){c=s.coordinates;var w=s.type;switch(f=!r||\"Polygon\"!==w&&\"MultiPolygon\"!==w?0:1,w){case null:break;case\"Point\":if(!1===e(c,p,y,b,_))return!1;p++,b++;break;case\"LineString\":case\"MultiPoint\":for(n=0;n<c.length;n++){if(!1===e(c[n],p,y,b,_))return!1;p++,\"MultiPoint\"===w&&b++}\"LineString\"===w&&b++;break;case\"Polygon\":case\"MultiLineString\":for(n=0;n<c.length;n++){for(i=0;i<c[n].length-f;i++){if(!1===e(c[n][i],p,y,b,_))return!1;p++}\"MultiLineString\"===w&&b++,\"Polygon\"===w&&_++}\"Polygon\"===w&&b++;break;case\"MultiPolygon\":for(n=0;n<c.length;n++){for(_=0,i=0;i<c[n].length;i++){for(o=0;o<c[n][i].length-f;o++){if(!1===e(c[n][i][o],p,y,b,_))return!1;p++}_++}b++}break;case\"GeometryCollection\":for(n=0;n<s.geometries.length;n++)if(!1===a(s.geometries[n],e,r))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function i(t,e){var r;switch(t.type){case\"FeatureCollection\":for(r=0;r<t.features.length&&!1!==e(t.features[r].properties,r);r++);break;case\"Feature\":e(t.properties,0)}}function o(t,e){if(\"Feature\"===t.type)e(t,0);else if(\"FeatureCollection\"===t.type)for(var r=0;r<t.features.length&&!1!==e(t.features[r],r);r++);}function s(t,e){var r,n,a,i,o,s,l,c,u,h,f=0,p=\"FeatureCollection\"===t.type,d=\"Feature\"===t.type,g=p?t.features.length:1;for(r=0;r<g;r++){for(s=p?t.features[r].geometry:d?t.geometry:t,c=p?t.features[r].properties:d?t.properties:{},u=p?t.features[r].bbox:d?t.bbox:void 0,h=p?t.features[r].id:d?t.id:void 0,o=(l=!!s&&\"GeometryCollection\"===s.type)?s.geometries.length:1,a=0;a<o;a++)if(null!==(i=l?s.geometries[a]:s))switch(i.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":if(!1===e(i,f,c,u,h))return!1;break;case\"GeometryCollection\":for(n=0;n<i.geometries.length;n++)if(!1===e(i.geometries[n],f,c,u,h))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}else if(!1===e(null,f,c,u,h))return!1;f++}}function l(t,e){s(t,function(t,r,a,i,o){var s,l=null===t?null:t.type;switch(l){case null:case\"Point\":case\"LineString\":case\"Polygon\":return!1!==e(n.feature(t,a,{bbox:i,id:o}),r,0)&&void 0}switch(l){case\"MultiPoint\":s=\"Point\";break;case\"MultiLineString\":s=\"LineString\";break;case\"MultiPolygon\":s=\"Polygon\"}for(var c=0;c<t.coordinates.length;c++){var u={type:s,coordinates:t.coordinates[c]};if(!1===e(n.feature(u,a),r,c))return!1}})}function c(t,e){l(t,function(t,r,i){var o=0;if(t.geometry){var s=t.geometry.type;if(\"Point\"!==s&&\"MultiPoint\"!==s){var l,c=0,u=0,h=0;return!1!==a(t,function(a,s,f,p,d){if(void 0===l||r>c||p>u||d>h)return l=a,c=r,u=p,h=d,void(o=0);var g=n.lineString([l,a],t.properties);if(!1===e(g,r,i,d,o))return!1;o++,l=a})&&void 0}}})}function u(t,e){if(!t)throw new Error(\"geojson is required\");l(t,function(t,r,a){if(null!==t.geometry){var i=t.geometry.type,o=t.geometry.coordinates;switch(i){case\"LineString\":if(!1===e(t,r,a,0,0))return!1;break;case\"Polygon\":for(var s=0;s<o.length;s++)if(!1===e(n.lineString(o[s],t.properties),r,a,s))return!1}}})}r.coordEach=a,r.coordReduce=function(t,e,r,n){var i=r;return a(t,function(t,n,a,o,s){i=0===n&&void 0===r?t:e(i,t,n,a,o,s)},n),i},r.propEach=i,r.propReduce=function(t,e,r){var n=r;return i(t,function(t,a){n=0===a&&void 0===r?t:e(n,t,a)}),n},r.featureEach=o,r.featureReduce=function(t,e,r){var n=r;return o(t,function(t,a){n=0===a&&void 0===r?t:e(n,t,a)}),n},r.coordAll=function(t){var e=[];return a(t,function(t){e.push(t)}),e},r.geomEach=s,r.geomReduce=function(t,e,r){var n=r;return s(t,function(t,a,i,o,s){n=0===a&&void 0===r?t:e(n,t,a,i,o,s)}),n},r.flattenEach=l,r.flattenReduce=function(t,e,r){var n=r;return l(t,function(t,a,i){n=0===a&&0===i&&void 0===r?t:e(n,t,a,i)}),n},r.segmentEach=c,r.segmentReduce=function(t,e,r){var n=r,a=!1;return c(t,function(t,i,o,s,l){n=!1===a&&void 0===r?t:e(n,t,i,o,s,l),a=!0}),n},r.lineEach=u,r.lineReduce=function(t,e,r){var n=r;return u(t,function(t,a,i,o){n=0===a&&void 0===r?t:e(n,t,a,i,o)}),n},r.findSegment=function(t,e){if(e=e||{},!n.isObject(e))throw new Error(\"options is invalid\");var r,a=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,l=e.properties;switch(t.type){case\"FeatureCollection\":a<0&&(a=t.features.length+a),l=l||t.features[a].properties,r=t.features[a].geometry;break;case\"Feature\":l=l||t.properties,r=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=t;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var c=r.coordinates;switch(r.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return s<0&&(s=c.length+s-1),n.lineString([c[s],c[s+1]],l,e);case\"Polygon\":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s-1),n.lineString([c[o][s],c[o][s+1]],l,e);case\"MultiLineString\":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s-1),n.lineString([c[i][s],c[i][s+1]],l,e);case\"MultiPolygon\":return i<0&&(i=c.length+i),o<0&&(o=c[i].length+o),s<0&&(s=c[i][o].length-s-1),n.lineString([c[i][o][s],c[i][o][s+1]],l,e)}throw new Error(\"geojson is invalid\")},r.findPoint=function(t,e){if(e=e||{},!n.isObject(e))throw new Error(\"options is invalid\");var r,a=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,l=e.properties;switch(t.type){case\"FeatureCollection\":a<0&&(a=t.features.length+a),l=l||t.features[a].properties,r=t.features[a].geometry;break;case\"Feature\":l=l||t.properties,r=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=t;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var c=r.coordinates;switch(r.type){case\"Point\":return n.point(c,l,e);case\"MultiPoint\":return i<0&&(i=c.length+i),n.point(c[i],l,e);case\"LineString\":return s<0&&(s=c.length+s),n.point(c[s],l,e);case\"Polygon\":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s),n.point(c[o][s],l,e);case\"MultiLineString\":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s),n.point(c[i][s],l,e);case\"MultiPolygon\":return i<0&&(i=c.length+i),o<0&&(o=c[i].length+o),s<0&&(s=c[i][o].length-s),n.point(c[i][o][s],l,e)}throw new Error(\"geojson is invalid\")}},{\"@turf/helpers\":60}],62:[function(t,e,r){\"use strict\";var n=\"undefined\"==typeof WeakMap?t(\"weak-map\"):WeakMap,a=t(\"gl-buffer\"),i=t(\"gl-vao\"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=a(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=i(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{\"gl-buffer\":244,\"gl-vao\":329,\"weak-map\":551}],63:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,a=0;return t.map(function(t){var i=(t=t.slice())[0],o=i.toUpperCase();if(i!=o)switch(t[0]=o,i){case\"a\":t[6]+=n,t[7]+=a;break;case\"v\":t[1]+=a;break;case\"h\":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=a}switch(o){case\"Z\":n=e,a=r;break;case\"H\":n=t[1];break;case\"V\":a=t[1];break;case\"M\":n=e=t[1],a=r=t[2];break;default:n=t[t.length-2],a=t[t.length-1]}return t})}},{}],64:[function(t,e,r){var n=t(\"pad-left\");e.exports=function(t,e,r){e=\"number\"==typeof e?e:1,r=r||\": \";var a=t.split(/\\r?\\n/),i=String(a.length+e-1).length;return a.map(function(t,a){var o=a+e,s=String(o).length,l=n(o,i-s);return l+r+t}).join(\"\\n\")}},{\"pad-left\":459}],65:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],i=[0],o=1;o<e;++o)if(n.push(t[o]),a(n,r)){if(i.push(o),i.length===r+1)return i}else n.pop();return i};var n=t(\"robust-orientation\");function a(t,e){for(var r=new Array(e+1),a=0;a<t.length;++a)r[a]=t[a];for(a=0;a<=t.length;++a){for(var i=t.length;i<=e;++i){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(i+1-a,s);r[i]=o}if(n.apply(void 0,r))return!0}return!1}},{\"robust-orientation\":509}],66:[function(t,e,r){\"use strict\";e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),i=0;i<r.length;++i)n[i]=e[r[i]];return a(n)*t<1})};var n=t(\"delaunay-triangulate\"),a=t(\"circumradius\")},{circumradius:116,\"delaunay-triangulate\":167}],67:[function(t,e,r){e.exports=function(t,e){return a(n(t,e))};var n=t(\"alpha-complex\"),a=t(\"simplicial-complex-boundary\")},{\"alpha-complex\":66,\"simplicial-complex-boundary\":516}],68:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(!t||null==t.length)throw Error(\"Argument should be an array\");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var a=-1/0,i=1/0,o=n,s=t.length;o<s;o+=e)t[o]>a&&(a=t[o]),t[o]<i&&(i=t[o]);r[n]=i,r[e+n]=a}return r}},{}],69:[function(t,e,r){e.exports=function(t,e){var r=\"number\"==typeof t,n=\"number\"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var a=(e|=0)-(t|=0);if(a<0)throw new Error(\"array length must be positive\");for(var i=new Array(a),o=0,s=t;o<a;o++,s++)i[o]=s;return i}},{}],70:[function(t,e,r){(function(r){\"use strict\";var n=t(\"object-assign\");function a(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,a=0,i=Math.min(r,n);a<i;++a)if(t[a]!==e[a]){r=t[a],n=e[a];break}return r<n?-1:n<r?1:0}function i(t){return r.Buffer&&\"function\"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var o=t(\"util/\"),s=Object.prototype.hasOwnProperty,l=Array.prototype.slice,c=\"foo\"===function(){}.name;function u(t){return Object.prototype.toString.call(t)}function h(t){return!i(t)&&(\"function\"==typeof r.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var f=e.exports=y,p=/\\s*function\\s+([^\\(\\s]*)\\s*/;function d(t){if(o.isFunction(t)){if(c)return t.name;var e=t.toString().match(p);return e&&e[1]}}function g(t,e){return\"string\"==typeof t?t.length<e?t:t.slice(0,e):t}function v(t){if(c||!o.isFunction(t))return o.inspect(t);var e=d(t);return\"[Function\"+(e?\": \"+e:\"\")+\"]\"}function m(t,e,r,n,a){throw new f.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:a})}function y(t,e){t||m(t,!0,e,\"==\",f.ok)}function x(t,e,r,n){if(t===e)return!0;if(i(t)&&i(e))return 0===a(t,e);if(o.isDate(t)&&o.isDate(e))return t.getTime()===e.getTime();if(o.isRegExp(t)&&o.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&\"object\"==typeof t||null!==e&&\"object\"==typeof e){if(h(t)&&h(e)&&u(t)===u(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===a(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var s=(n=n||{actual:[],expected:[]}).actual.indexOf(t);return-1!==s&&s===n.expected.indexOf(e)||(n.actual.push(t),n.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(o.isPrimitive(t)||o.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var a=b(t),i=b(e);if(a&&!i||!a&&i)return!1;if(a)return t=l.call(t),e=l.call(e),x(t,e,r);var s,c,u=k(t),h=k(e);if(u.length!==h.length)return!1;for(u.sort(),h.sort(),c=u.length-1;c>=0;c--)if(u[c]!==h[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var a;if(\"function\"!=typeof e)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof r&&(n=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!a&&m(a,r,\"Missing expected exception\"+n);var i=\"string\"==typeof n,s=!t&&a&&!r;if((!t&&o.isError(a)&&i&&_(a,r)||s)&&m(a,r,\"Got unwanted exception\"+n),t&&a&&r&&!_(a,r)||!t&&a)throw a}f.AssertionError=function(t){var e;this.name=\"AssertionError\",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=g(v((e=this).actual),128)+\" \"+e.operator+\" \"+g(v(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var a=n.stack,i=d(r),o=a.indexOf(\"\\n\"+i);if(o>=0){var s=a.indexOf(\"\\n\",o+1);a=a.substring(s+1)}this.stack=a}}},o.inherits(f.AssertionError,Error),f.fail=m,f.ok=y,f.equal=function(t,e,r){t!=e&&m(t,e,r,\"==\",f.equal)},f.notEqual=function(t,e,r){t==e&&m(t,e,r,\"!=\",f.notEqual)},f.deepEqual=function(t,e,r){x(t,e,!1)||m(t,e,r,\"deepEqual\",f.deepEqual)},f.deepStrictEqual=function(t,e,r){x(t,e,!0)||m(t,e,r,\"deepStrictEqual\",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){x(t,e,!1)&&m(t,e,r,\"notDeepEqual\",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&m(e,r,n,\"notDeepStrictEqual\",t)},f.strictEqual=function(t,e,r){t!==e&&m(t,e,r,\"===\",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,\"!==\",f.notStrictEqual)},f.throws=function(t,e,r){w(!0,t,e,r)},f.doesNotThrow=function(t,e,r){w(!1,t,e,r)},f.ifError=function(t){if(t)throw t},f.strict=n(function t(e,r){e||m(e,!0,r,\"==\",t)},f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var k=Object.keys||function(t){var e=[];for(var r in t)s.call(t,r)&&e.push(r);return e}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"object-assign\":456,\"util/\":73}],71:[function(t,e,r){\"function\"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],72:[function(t,e,r){e.exports=function(t){return t&&\"object\"==typeof t&&\"function\"==typeof t.copy&&\"function\"==typeof t.fill&&\"function\"==typeof t.readUInt8}},{}],73:[function(t,e,r){(function(e,n){var a=/%[sdj%]/g;r.format=function(t){if(!m(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(s(arguments[r]));return e.join(\" \")}r=1;for(var n=arguments,i=n.length,o=String(t).replace(a,function(t){if(\"%%\"===t)return\"%\";if(r>=i)return t;switch(t){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(t){return\"[Circular]\"}default:return t}}),l=n[r];r<i;l=n[++r])g(l)||!b(l)?o+=\" \"+l:o+=\" \"+s(l);return o},r.deprecate=function(t,a){if(y(n.process))return function(){return r.deprecate(t,a).apply(this,arguments)};if(!0===e.noDeprecation)return t;var i=!1;return function(){if(!i){if(e.throwDeprecation)throw new Error(a);e.traceDeprecation?console.trace(a):console.error(a),i=!0}return t.apply(this,arguments)}};var i,o={};function s(t,e){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?\"\\x1b[\"+s.colors[r][0]+\"m\"+t+\"\\x1b[\"+s.colors[r][1]+\"m\":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var a=e.inspect(n,t);return m(a)||(a=u(t,a,n)),a}var i=function(t,e){if(y(e))return t.stylize(\"undefined\",\"undefined\");if(m(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}if(v(e))return t.stylize(\"\"+e,\"number\");if(d(e))return t.stylize(\"\"+e,\"boolean\");if(g(e))return t.stylize(\"null\",\"null\")}(t,e);if(i)return i;var o=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return h(e);if(0===o.length){if(k(e)){var l=e.name?\": \"+e.name:\"\";return t.stylize(\"[Function\"+l+\"]\",\"special\")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),\"regexp\");if(_(e))return t.stylize(Date.prototype.toString.call(e),\"date\");if(w(e))return h(e)}var c,b=\"\",T=!1,M=[\"{\",\"}\"];(p(e)&&(T=!0,M=[\"[\",\"]\"]),k(e))&&(b=\" [Function\"+(e.name?\": \"+e.name:\"\")+\"]\");return x(e)&&(b=\" \"+RegExp.prototype.toString.call(e)),_(e)&&(b=\" \"+Date.prototype.toUTCString.call(e)),w(e)&&(b=\" \"+h(e)),0!==o.length||T&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),\"regexp\"):t.stylize(\"[Object]\",\"special\"):(t.seen.push(e),c=T?function(t,e,r,n,a){for(var i=[],o=0,s=e.length;o<s;++o)S(e,String(o))?i.push(f(t,e,r,n,String(o),!0)):i.push(\"\");return a.forEach(function(a){a.match(/^\\d+$/)||i.push(f(t,e,r,n,a,!0))}),i}(t,e,n,s,o):o.map(function(r){return f(t,e,n,s,r,T)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,e.indexOf(\"\\n\")>=0&&0,t+e.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60)return r[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n \")+\" \"+r[1];return r[0]+e+\" \"+t.join(\", \")+\" \"+r[1]}(c,b,M)):M[0]+b+M[1]}function h(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function f(t,e,r,n,a,i){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?s=l.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):l.set&&(s=t.stylize(\"[Setter]\",\"special\")),S(n,a)||(o=\"[\"+a+\"]\"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf(\"\\n\")>-1&&(s=i?s.split(\"\\n\").map(function(t){return\" \"+t}).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map(function(t){return\" \"+t}).join(\"\\n\")):s=t.stylize(\"[Circular]\",\"special\")),y(o)){if(i&&a.match(/^\\d+$/))return s;(o=JSON.stringify(\"\"+a)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=t.stylize(o,\"string\"))}return o+\": \"+s}function p(t){return Array.isArray(t)}function d(t){return\"boolean\"==typeof t}function g(t){return null===t}function v(t){return\"number\"==typeof t}function m(t){return\"string\"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&\"[object RegExp]\"===T(t)}function b(t){return\"object\"==typeof t&&null!==t}function _(t){return b(t)&&\"[object Date]\"===T(t)}function w(t){return b(t)&&(\"[object Error]\"===T(t)||t instanceof Error)}function k(t){return\"function\"==typeof t}function T(t){return Object.prototype.toString.call(t)}function M(t){return t<10?\"0\"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(i)&&(i=e.env.NODE_DEBUG||\"\"),t=t.toUpperCase(),!o[t])if(new RegExp(\"\\\\b\"+t+\"\\\\b\",\"i\").test(i)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error(\"%s %d: %s\",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.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]},s.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=v,r.isString=m,r.isSymbol=function(t){return\"symbol\"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=k,r.isPrimitive=function(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||\"undefined\"==typeof t},r.isBuffer=t(\"./support/isBuffer\");var A=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log(\"%s - %s\",(t=new Date,e=[M(t.getHours()),M(t.getMinutes()),M(t.getSeconds())].join(\":\"),[t.getDate(),A[t.getMonth()],e].join(\" \")),r.format.apply(r,arguments))},r.inherits=t(\"inherits\"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./support/isBuffer\":72,_process:484,inherits:71}],74:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],75:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=e.length,i=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];i[o]=s}i[r]=new Array(r+1);for(var o=0;o<=r;++o)i[r][o]=1;for(var c=new Array(r+1),o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(i,c),h=a(u[r+1]);0===h&&(h=1);for(var f=new Array(r+1),o=0;o<=r;++o)f[o]=a(u[o])/h;return f};var n=t(\"robust-linear-solve\");function a(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{\"robust-linear-solve\":508}],76:[function(t,e,r){\"use strict\";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){var e,r,n=c(t),o=n[0],s=n[1],l=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),u=0,h=s>0?o-4:o;for(r=0;r<h;r+=4)e=a[t.charCodeAt(r)]<<18|a[t.charCodeAt(r+1)]<<12|a[t.charCodeAt(r+2)]<<6|a[t.charCodeAt(r+3)],l[u++]=e>>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,a=r%3,i=[],o=0,s=r-a;o<s;o+=16383)i.push(u(t,o,o+16383>s?s:o+16383));1===a?(e=t[r-1],i.push(n[e>>2]+n[e<<4&63]+\"==\")):2===a&&(e=(t[r-2]<<8)+t[r-1],i.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+\"=\"));return i.join(\"\")};for(var n=[],a=[],i=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,l=o.length;s<l;++s)n[s]=o[s],a[o.charCodeAt(s)]=s;function c(t){var e=t.length;if(e%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=t.indexOf(\"=\");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var a,i,o=[],s=e;s<r;s+=3)a=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(i=a)>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return o.join(\"\")}a[\"-\".charCodeAt(0)]=62,a[\"_\".charCodeAt(0)]=63},{}],77:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{\"./lib/rationalize\":87}],78:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],79:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{\"./lib/rationalize\":87}],80:[function(t,e,r){\"use strict\";var n=t(\"./is-rat\"),a=t(\"./lib/is-bn\"),i=t(\"./lib/num-to-bn\"),o=t(\"./lib/str-to-bn\"),s=t(\"./lib/rationalize\"),l=t(\"./div\");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c=0;var u,h;if(a(e))u=e.clone();else if(\"string\"==typeof e)u=o(e);else{if(0===e)return[i(0),i(1)];if(e===Math.floor(e))u=i(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=i(e)}}if(n(r))u.mul(r[1]),h=r[0].clone();else if(a(r))h=r.clone();else if(\"string\"==typeof r)h=o(r);else if(r)if(r===Math.floor(r))h=i(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;h=i(r)}else h=i(1);c>0?u=u.ushln(c):c<0&&(h=h.ushln(-c));return s(u,h)}},{\"./div\":79,\"./is-rat\":81,\"./lib/is-bn\":85,\"./lib/num-to-bn\":86,\"./lib/rationalize\":87,\"./lib/str-to-bn\":88}],81:[function(t,e,r){\"use strict\";var n=t(\"./lib/is-bn\");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{\"./lib/is-bn\":85}],82:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return t.cmp(new n(0))}},{\"bn.js\":96}],83:[function(t,e,r){\"use strict\";var n=t(\"./bn-sign\");e.exports=function(t){var e=t.length,r=t.words,a=0;if(1===e)a=r[0];else if(2===e)a=r[0]+67108864*r[1];else for(var i=0;i<e;i++){var o=r[i];a+=o*Math.pow(67108864,i)}return n(t)*a}},{\"./bn-sign\":82}],84:[function(t,e,r){\"use strict\";var n=t(\"double-bits\"),a=t(\"bit-twiddle\").countTrailingZeros;e.exports=function(t){var e=a(n.lo(t));if(e<32)return e;var r=a(n.hi(t));if(r>20)return 52;return r+32}},{\"bit-twiddle\":94,\"double-bits\":169}],85:[function(t,e,r){\"use strict\";t(\"bn.js\");e.exports=function(t){return t&&\"object\"==typeof t&&Boolean(t.words)}},{\"bn.js\":96}],86:[function(t,e,r){\"use strict\";var n=t(\"bn.js\"),a=t(\"double-bits\");e.exports=function(t){var e=a.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{\"bn.js\":96,\"double-bits\":169}],87:[function(t,e,r){\"use strict\";var n=t(\"./num-to-bn\"),a=t(\"./bn-sign\");e.exports=function(t,e){var r=a(t),i=a(e);if(0===r)return[n(0),n(1)];if(0===i)return[n(0),n(0)];i<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{\"./bn-sign\":82,\"./num-to-bn\":86}],88:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return new n(t)}},{\"bn.js\":96}],89:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{\"./lib/rationalize\":87}],90:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-sign\");e.exports=function(t){return n(t[0])*n(t[1])}},{\"./lib/bn-sign\":82}],91:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{\"./lib/rationalize\":87}],92:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-to-num\"),a=t(\"./lib/ctz\");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var i=e.abs().divmod(r.abs()),o=i.div,s=n(o),l=i.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=a(s)+4,h=n(l.ushln(u).divRound(r));return c*(s+h*Math.pow(2,-u))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f<1023?c*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),c*h*Math.pow(2,1023-f))}},{\"./lib/bn-to-num\":83,\"./lib/ctz\":84}],93:[function(t,e,r){\"use strict\";function n(t,e,r,n,a,i){var o=[\"function \",t,\"(a,l,h,\",n.join(\",\"),\"){\",i?\"\":\"var i=\",r?\"l-1\":\"h+1\",\";while(l<=h){var m=(l+h)>>>1,x=a\",a?\".get(m)\":\"[m]\"];return i?e.indexOf(\"c\")<0?o.push(\";if(x===y){return m}else if(x<=y){\"):o.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\"):o.push(\";if(\",e,\"){i=m;\"),r?o.push(\"l=m+1}else{h=m-1}\"):o.push(\"h=m-1}else{l=m+1}\"),o.push(\"}\"),i?o.push(\"return -1};\"):o.push(\"return i};\"),o.join(\"\")}function a(t,e,r,a){return new Function([n(\"A\",\"x\"+t+\"y\",e,[\"y\"],!1,a),n(\"B\",\"x\"+t+\"y\",e,[\"y\"],!0,a),n(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!1,a),n(\"Q\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!0,a),\"function dispatchBsearch\",r,\"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch\",r].join(\"\"))()}e.exports={ge:a(\">=\",!1,\"GE\"),gt:a(\">\",!1,\"GT\"),lt:a(\"<\",!0,\"LT\"),le:a(\"<=\",!0,\"LE\"),eq:a(\"-\",!0,\"EQ\",!0)}},{}],94:[function(t,e,r){\"use strict\";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var a=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,a=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--a;t[e]=n<<a&255}}(a),r.reverse=function(t){return a[255&t]<<24|a[t>>>8&255]<<16|a[t>>>16&255]<<8|a[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],95:[function(t,e,r){\"use strict\";var n=t(\"clamp\");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,h,f,p,d,g,v=null==e.cutoff?.25:e.cutoff,m=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error(\"For raw data width and height should be provided by options\");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(h=(f=t).getContext(\"2d\"),r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t.canvas,h=t,r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d<g;d++)l[d]=c[d*u+y]/255;else if(1!==u)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,g=r*o;d<g;d++){var M=l[d];x[d]=1===M?0:0===M?a:Math.pow(Math.max(0,.5-M),2),b[d]=1===M?a:0===M?0:Math.pow(Math.max(0,M-.5),2)}i(x,r,o,_,w,T,k),i(b,r,o,_,w,T,k);var A=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,g=r*o;d<g;d++)A[d]=n(1-((x[d]-b[d])/m+v),0,1);return A};var a=1e20;function i(t,e,r,n,a,i,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,a,i,s,r),c=0;c<r;c++)t[c*e+l]=a[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,a,i,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(a[l])}}function o(t,e,r,n,i){r[0]=0,n[0]=-a,n[1]=+a;for(var o=1,s=0;o<i;o++){for(var l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+a}for(o=0,s=0;o<i;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:117}],96:[function(t,e,r){!function(e,r){\"use strict\";function n(t,e){if(!t)throw new Error(e||\"Assertion failed\")}function a(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&(\"le\"!==e&&\"be\"!==e||(r=e,e=10),this._init(t||0,e||10,r||\"be\"))}var o;\"object\"==typeof e?e.exports=i:r.BN=i,i.BN=i,i.wordSize=26;try{o=t(\"buffer\").Buffer}catch(t){}function s(t,e,r){for(var n=0,a=Math.min(t.length,r),i=e;i<a;i++){var o=t.charCodeAt(i)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var a=0,i=Math.min(t.length,r),o=e;o<i;o++){var s=t.charCodeAt(o)-48;a*=n,a+=s>=49?s-49+10:s>=17?s-17+10:s}return a}i.isBN=function(t){return t instanceof i||null!==t&&\"object\"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,r){if(\"number\"==typeof t)return this._initNumber(t,e,r);if(\"object\"==typeof t)return this._initArray(t,e,r);\"hex\"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var a=0;\"-\"===(t=t.toString().replace(/\\s+/g,\"\"))[0]&&a++,16===e?this._parseHex(t,a):this._parseBase(t,e,a),\"-\"===t[0]&&(this.negative=1),this.strip(),\"le\"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),\"le\"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initArray=function(t,e,r){if(n(\"number\"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var a=0;a<this.length;a++)this.words[a]=0;var i,o,s=0;if(\"be\"===r)for(a=t.length-1,i=0;a>=0;a-=3)o=t[a]|t[a-1]<<8|t[a-2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if(\"le\"===r)for(a=0,i=0;a<t.length;a+=3)o=t[a]|t[a+1]<<8|t[a+2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,a,i=0;for(r=t.length-6,n=0;r>=e;r-=6)a=s(t,r,r+6),this.words[n]|=a<<i&67108863,this.words[n+1]|=a>>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==e&&(a=s(t,e,r+6),this.words[n]|=a<<i&67108863,this.words[n+1]|=a>>>26-i&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,a=1;a<=67108863;a*=e)n++;n--,a=a/e|0;for(var i=t.length-r,o=i%n,s=Math.min(i,i-o)+r,c=0,u=r;u<s;u+=n)c=l(t,u,u+n,e),this.imuln(a),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var h=1;for(c=l(t,u,t.length,e),u=0;u<o;u++)h*=e;this.imuln(h),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},i.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.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\"],u=[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 f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var a=0|t.words[0],i=0|e.words[0],o=a*i,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c<n;c++){for(var u=l>>>26,h=67108863&l,f=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=f;p++){var d=c-p|0;u+=(o=(a=0|t.words[d])*(i=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}i.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||\"hex\"===t){r=\"\";for(var a=0,i=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<a|i)).toString(16);r=0!==(i=s>>>24-a&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(a+=2)>=26&&(a-=26,o--)}for(0!==i&&(r=i.toString(16)+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=u[t],p=h[t];r=\"\";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[f-g.length]+g+r}for(this.isZero()&&(r=\"0\"+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}n(!1,\"Base should be between 2 and 36\")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return n(\"undefined\"!=typeof o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,r){var a=this.byteLength(),i=r||Math.max(1,a);n(a<=i,\"byte array longer than desired length\"),n(i>0,\"Requested array length <= 0\"),this.strip();var o,s,l=\"le\"===e,c=new t(i),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s<i;s++)c[s]=0}else{for(s=0;s<i-a;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[i-s-1]=o}return c},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},i.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},i.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},i.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){n(\"number\"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var a=0;a<e;a++)this.words[a]=67108863&~this.words[a];return r>0&&(this.words[a]=~this.words[a]&67108863>>26-r),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){n(\"number\"==typeof t&&t>=0);var r=t/26|0,a=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<a:this.words[r]&~(1<<a),this.strip()},i.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var a=0,i=0;i<n.length;i++)e=(0|r.words[i])+(0|n.words[i])+a,this.words[i]=67108863&e,a=e>>>26;for(;0!==a&&i<r.length;i++)e=(0|r.words[i])+a,this.words[i]=67108863&e,a=e>>>26;if(this.length=r.length,0!==a)this.words[this.length]=a,this.length++;else if(r!==this)for(;i<r.length;i++)this.words[i]=r.words[i];return this},i.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,a=this.cmp(t);if(0===a)return this.negative=0,this.length=1,this.words[0]=0,this;a>0?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)i=(e=(0|r.words[o])-(0|n.words[o])+i)>>26,this.words[o]=67108863&e;for(;0!==i&&o<r.length;o++)i=(e=(0|r.words[o])+i)>>26,this.words[o]=67108863&e;if(0===i&&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()},i.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,a,i,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],h=8191&u,f=u>>>13,p=0|o[1],d=8191&p,g=p>>>13,v=0|o[2],m=8191&v,y=v>>>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],L=8191&E,C=E>>>13,P=0|o[7],O=8191&P,z=P>>>13,I=0|o[8],D=8191&I,R=I>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,Y=0|s[2],W=8191&Y,X=Y>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,at=0|s[6],it=8191&at,ot=at>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ht=8191&ut,ft=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(c+(n=Math.imul(h,V))|0)+((8191&(a=(a=Math.imul(h,U))+Math.imul(f,V)|0))<<13)|0;c=((i=Math.imul(f,U))+(a>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(d,V),a=(a=Math.imul(d,U))+Math.imul(g,V)|0,i=Math.imul(g,U);var mt=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(a=(a=a+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((i=i+Math.imul(f,G)|0)+(a>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,V),a=(a=Math.imul(m,U))+Math.imul(y,V)|0,i=Math.imul(y,U),n=n+Math.imul(d,H)|0,a=(a=a+Math.imul(d,G)|0)+Math.imul(g,H)|0,i=i+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(h,W)|0)|0)+((8191&(a=(a=a+Math.imul(h,X)|0)+Math.imul(f,W)|0))<<13)|0;c=((i=i+Math.imul(f,X)|0)+(a>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),a=(a=Math.imul(b,U))+Math.imul(_,V)|0,i=Math.imul(_,U),n=n+Math.imul(m,H)|0,a=(a=a+Math.imul(m,G)|0)+Math.imul(y,H)|0,i=i+Math.imul(y,G)|0,n=n+Math.imul(d,W)|0,a=(a=a+Math.imul(d,X)|0)+Math.imul(g,W)|0,i=i+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(h,J)|0)|0)+((8191&(a=(a=a+Math.imul(h,K)|0)+Math.imul(f,J)|0))<<13)|0;c=((i=i+Math.imul(f,K)|0)+(a>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),a=(a=Math.imul(k,U))+Math.imul(T,V)|0,i=Math.imul(T,U),n=n+Math.imul(b,H)|0,a=(a=a+Math.imul(b,G)|0)+Math.imul(_,H)|0,i=i+Math.imul(_,G)|0,n=n+Math.imul(m,W)|0,a=(a=a+Math.imul(m,X)|0)+Math.imul(y,W)|0,i=i+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,a=(a=a+Math.imul(d,K)|0)+Math.imul(g,J)|0,i=i+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(a=(a=a+Math.imul(h,tt)|0)+Math.imul(f,$)|0))<<13)|0;c=((i=i+Math.imul(f,tt)|0)+(a>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(A,V),a=(a=Math.imul(A,U))+Math.imul(S,V)|0,i=Math.imul(S,U),n=n+Math.imul(k,H)|0,a=(a=a+Math.imul(k,G)|0)+Math.imul(T,H)|0,i=i+Math.imul(T,G)|0,n=n+Math.imul(b,W)|0,a=(a=a+Math.imul(b,X)|0)+Math.imul(_,W)|0,i=i+Math.imul(_,X)|0,n=n+Math.imul(m,J)|0,a=(a=a+Math.imul(m,K)|0)+Math.imul(y,J)|0,i=i+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,a=(a=a+Math.imul(d,tt)|0)+Math.imul(g,$)|0,i=i+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(h,rt)|0)|0)+((8191&(a=(a=a+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;c=((i=i+Math.imul(f,nt)|0)+(a>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,V),a=(a=Math.imul(L,U))+Math.imul(C,V)|0,i=Math.imul(C,U),n=n+Math.imul(A,H)|0,a=(a=a+Math.imul(A,G)|0)+Math.imul(S,H)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(k,W)|0,a=(a=a+Math.imul(k,X)|0)+Math.imul(T,W)|0,i=i+Math.imul(T,X)|0,n=n+Math.imul(b,J)|0,a=(a=a+Math.imul(b,K)|0)+Math.imul(_,J)|0,i=i+Math.imul(_,K)|0,n=n+Math.imul(m,$)|0,a=(a=a+Math.imul(m,tt)|0)+Math.imul(y,$)|0,i=i+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,a=(a=a+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,i=i+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(h,it)|0)|0)+((8191&(a=(a=a+Math.imul(h,ot)|0)+Math.imul(f,it)|0))<<13)|0;c=((i=i+Math.imul(f,ot)|0)+(a>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(O,V),a=(a=Math.imul(O,U))+Math.imul(z,V)|0,i=Math.imul(z,U),n=n+Math.imul(L,H)|0,a=(a=a+Math.imul(L,G)|0)+Math.imul(C,H)|0,i=i+Math.imul(C,G)|0,n=n+Math.imul(A,W)|0,a=(a=a+Math.imul(A,X)|0)+Math.imul(S,W)|0,i=i+Math.imul(S,X)|0,n=n+Math.imul(k,J)|0,a=(a=a+Math.imul(k,K)|0)+Math.imul(T,J)|0,i=i+Math.imul(T,K)|0,n=n+Math.imul(b,$)|0,a=(a=a+Math.imul(b,tt)|0)+Math.imul(_,$)|0,i=i+Math.imul(_,tt)|0,n=n+Math.imul(m,rt)|0,a=(a=a+Math.imul(m,nt)|0)+Math.imul(y,rt)|0,i=i+Math.imul(y,nt)|0,n=n+Math.imul(d,it)|0,a=(a=a+Math.imul(d,ot)|0)+Math.imul(g,it)|0,i=i+Math.imul(g,ot)|0;var kt=(c+(n=n+Math.imul(h,lt)|0)|0)+((8191&(a=(a=a+Math.imul(h,ct)|0)+Math.imul(f,lt)|0))<<13)|0;c=((i=i+Math.imul(f,ct)|0)+(a>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(D,V),a=(a=Math.imul(D,U))+Math.imul(R,V)|0,i=Math.imul(R,U),n=n+Math.imul(O,H)|0,a=(a=a+Math.imul(O,G)|0)+Math.imul(z,H)|0,i=i+Math.imul(z,G)|0,n=n+Math.imul(L,W)|0,a=(a=a+Math.imul(L,X)|0)+Math.imul(C,W)|0,i=i+Math.imul(C,X)|0,n=n+Math.imul(A,J)|0,a=(a=a+Math.imul(A,K)|0)+Math.imul(S,J)|0,i=i+Math.imul(S,K)|0,n=n+Math.imul(k,$)|0,a=(a=a+Math.imul(k,tt)|0)+Math.imul(T,$)|0,i=i+Math.imul(T,tt)|0,n=n+Math.imul(b,rt)|0,a=(a=a+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,i=i+Math.imul(_,nt)|0,n=n+Math.imul(m,it)|0,a=(a=a+Math.imul(m,ot)|0)+Math.imul(y,it)|0,i=i+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,a=(a=a+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,i=i+Math.imul(g,ct)|0;var Tt=(c+(n=n+Math.imul(h,ht)|0)|0)+((8191&(a=(a=a+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;c=((i=i+Math.imul(f,ft)|0)+(a>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(B,V),a=(a=Math.imul(B,U))+Math.imul(N,V)|0,i=Math.imul(N,U),n=n+Math.imul(D,H)|0,a=(a=a+Math.imul(D,G)|0)+Math.imul(R,H)|0,i=i+Math.imul(R,G)|0,n=n+Math.imul(O,W)|0,a=(a=a+Math.imul(O,X)|0)+Math.imul(z,W)|0,i=i+Math.imul(z,X)|0,n=n+Math.imul(L,J)|0,a=(a=a+Math.imul(L,K)|0)+Math.imul(C,J)|0,i=i+Math.imul(C,K)|0,n=n+Math.imul(A,$)|0,a=(a=a+Math.imul(A,tt)|0)+Math.imul(S,$)|0,i=i+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,a=(a=a+Math.imul(k,nt)|0)+Math.imul(T,rt)|0,i=i+Math.imul(T,nt)|0,n=n+Math.imul(b,it)|0,a=(a=a+Math.imul(b,ot)|0)+Math.imul(_,it)|0,i=i+Math.imul(_,ot)|0,n=n+Math.imul(m,lt)|0,a=(a=a+Math.imul(m,ct)|0)+Math.imul(y,lt)|0,i=i+Math.imul(y,ct)|0,n=n+Math.imul(d,ht)|0,a=(a=a+Math.imul(d,ft)|0)+Math.imul(g,ht)|0,i=i+Math.imul(g,ft)|0;var Mt=(c+(n=n+Math.imul(h,dt)|0)|0)+((8191&(a=(a=a+Math.imul(h,gt)|0)+Math.imul(f,dt)|0))<<13)|0;c=((i=i+Math.imul(f,gt)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,H),a=(a=Math.imul(B,G))+Math.imul(N,H)|0,i=Math.imul(N,G),n=n+Math.imul(D,W)|0,a=(a=a+Math.imul(D,X)|0)+Math.imul(R,W)|0,i=i+Math.imul(R,X)|0,n=n+Math.imul(O,J)|0,a=(a=a+Math.imul(O,K)|0)+Math.imul(z,J)|0,i=i+Math.imul(z,K)|0,n=n+Math.imul(L,$)|0,a=(a=a+Math.imul(L,tt)|0)+Math.imul(C,$)|0,i=i+Math.imul(C,tt)|0,n=n+Math.imul(A,rt)|0,a=(a=a+Math.imul(A,nt)|0)+Math.imul(S,rt)|0,i=i+Math.imul(S,nt)|0,n=n+Math.imul(k,it)|0,a=(a=a+Math.imul(k,ot)|0)+Math.imul(T,it)|0,i=i+Math.imul(T,ot)|0,n=n+Math.imul(b,lt)|0,a=(a=a+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,i=i+Math.imul(_,ct)|0,n=n+Math.imul(m,ht)|0,a=(a=a+Math.imul(m,ft)|0)+Math.imul(y,ht)|0,i=i+Math.imul(y,ft)|0;var At=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(a=(a=a+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((i=i+Math.imul(g,gt)|0)+(a>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,W),a=(a=Math.imul(B,X))+Math.imul(N,W)|0,i=Math.imul(N,X),n=n+Math.imul(D,J)|0,a=(a=a+Math.imul(D,K)|0)+Math.imul(R,J)|0,i=i+Math.imul(R,K)|0,n=n+Math.imul(O,$)|0,a=(a=a+Math.imul(O,tt)|0)+Math.imul(z,$)|0,i=i+Math.imul(z,tt)|0,n=n+Math.imul(L,rt)|0,a=(a=a+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,i=i+Math.imul(C,nt)|0,n=n+Math.imul(A,it)|0,a=(a=a+Math.imul(A,ot)|0)+Math.imul(S,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,a=(a=a+Math.imul(k,ct)|0)+Math.imul(T,lt)|0,i=i+Math.imul(T,ct)|0,n=n+Math.imul(b,ht)|0,a=(a=a+Math.imul(b,ft)|0)+Math.imul(_,ht)|0,i=i+Math.imul(_,ft)|0;var St=(c+(n=n+Math.imul(m,dt)|0)|0)+((8191&(a=(a=a+Math.imul(m,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((i=i+Math.imul(y,gt)|0)+(a>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),a=(a=Math.imul(B,K))+Math.imul(N,J)|0,i=Math.imul(N,K),n=n+Math.imul(D,$)|0,a=(a=a+Math.imul(D,tt)|0)+Math.imul(R,$)|0,i=i+Math.imul(R,tt)|0,n=n+Math.imul(O,rt)|0,a=(a=a+Math.imul(O,nt)|0)+Math.imul(z,rt)|0,i=i+Math.imul(z,nt)|0,n=n+Math.imul(L,it)|0,a=(a=a+Math.imul(L,ot)|0)+Math.imul(C,it)|0,i=i+Math.imul(C,ot)|0,n=n+Math.imul(A,lt)|0,a=(a=a+Math.imul(A,ct)|0)+Math.imul(S,lt)|0,i=i+Math.imul(S,ct)|0,n=n+Math.imul(k,ht)|0,a=(a=a+Math.imul(k,ft)|0)+Math.imul(T,ht)|0,i=i+Math.imul(T,ft)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(a=(a=a+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((i=i+Math.imul(_,gt)|0)+(a>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),a=(a=Math.imul(B,tt))+Math.imul(N,$)|0,i=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,a=(a=a+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,i=i+Math.imul(R,nt)|0,n=n+Math.imul(O,it)|0,a=(a=a+Math.imul(O,ot)|0)+Math.imul(z,it)|0,i=i+Math.imul(z,ot)|0,n=n+Math.imul(L,lt)|0,a=(a=a+Math.imul(L,ct)|0)+Math.imul(C,lt)|0,i=i+Math.imul(C,ct)|0,n=n+Math.imul(A,ht)|0,a=(a=a+Math.imul(A,ft)|0)+Math.imul(S,ht)|0,i=i+Math.imul(S,ft)|0;var Lt=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(a=(a=a+Math.imul(k,gt)|0)+Math.imul(T,dt)|0))<<13)|0;c=((i=i+Math.imul(T,gt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),a=(a=Math.imul(B,nt))+Math.imul(N,rt)|0,i=Math.imul(N,nt),n=n+Math.imul(D,it)|0,a=(a=a+Math.imul(D,ot)|0)+Math.imul(R,it)|0,i=i+Math.imul(R,ot)|0,n=n+Math.imul(O,lt)|0,a=(a=a+Math.imul(O,ct)|0)+Math.imul(z,lt)|0,i=i+Math.imul(z,ct)|0,n=n+Math.imul(L,ht)|0,a=(a=a+Math.imul(L,ft)|0)+Math.imul(C,ht)|0,i=i+Math.imul(C,ft)|0;var Ct=(c+(n=n+Math.imul(A,dt)|0)|0)+((8191&(a=(a=a+Math.imul(A,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((i=i+Math.imul(S,gt)|0)+(a>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,it),a=(a=Math.imul(B,ot))+Math.imul(N,it)|0,i=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,a=(a=a+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,i=i+Math.imul(R,ct)|0,n=n+Math.imul(O,ht)|0,a=(a=a+Math.imul(O,ft)|0)+Math.imul(z,ht)|0,i=i+Math.imul(z,ft)|0;var Pt=(c+(n=n+Math.imul(L,dt)|0)|0)+((8191&(a=(a=a+Math.imul(L,gt)|0)+Math.imul(C,dt)|0))<<13)|0;c=((i=i+Math.imul(C,gt)|0)+(a>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),a=(a=Math.imul(B,ct))+Math.imul(N,lt)|0,i=Math.imul(N,ct),n=n+Math.imul(D,ht)|0,a=(a=a+Math.imul(D,ft)|0)+Math.imul(R,ht)|0,i=i+Math.imul(R,ft)|0;var Ot=(c+(n=n+Math.imul(O,dt)|0)|0)+((8191&(a=(a=a+Math.imul(O,gt)|0)+Math.imul(z,dt)|0))<<13)|0;c=((i=i+Math.imul(z,gt)|0)+(a>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,ht),a=(a=Math.imul(B,ft))+Math.imul(N,ht)|0,i=Math.imul(N,ft);var zt=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(a=(a=a+Math.imul(D,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((i=i+Math.imul(R,gt)|0)+(a>>>13)|0)+(zt>>>26)|0,zt&=67108863;var It=(c+(n=Math.imul(B,dt))|0)+((8191&(a=(a=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((i=Math.imul(N,gt))+(a>>>13)|0)+(It>>>26)|0,It&=67108863,l[0]=vt,l[1]=mt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=kt,l[8]=Tt,l[9]=Mt,l[10]=At,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Pt,l[16]=Ot,l[17]=zt,l[18]=It,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,a=0,i=0;i<r.length-1;i++){var o=a;a=0;for(var s=67108863&n,l=Math.min(i,e.length-1),c=Math.max(0,i-t.length+1);c<=l;c++){var u=i-c,h=(0|t.words[u])*(0|e.words[c]),f=67108863&h;s=67108863&(f=f+s|0),a+=(o=(o=o+(h/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[i]=s,n=o,o=a}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},g.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,a=0;a<e;a++)n|=(1&t)<<e-a-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,a,i){for(var o=0;o<i;o++)n[o]=e[t[o]],a[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,a,i){this.permute(i,t,e,r,n,a);for(var o=1;o<a;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<a;u+=s)for(var h=l,f=c,p=0;p<o;p++){var d=r[u+p],g=n[u+p],v=r[u+p+o],m=n[u+p+o],y=h*v-f*m;m=h*m+f*v,v=y,r[u+p]=d+v,n[u+p]=g+m,r[u+p+o]=d-v,n[u+p+o]=g-m,p!==s&&(y=l*h-c*f,f=l*f+c*h,h=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,a=0;for(r=r/2|0;r;r>>>=1)a++;return 1<<a+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var a=t[n];t[n]=t[r-n-1],t[r-n-1]=a,a=e[n],e[n]=-e[r-n-1],e[r-n-1]=-a}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var a=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&a,r=a<67108864?0:a/67108864|0}return t},g.prototype.convert13b=function(t,e,r,a){for(var i=0,o=0;o<e;o++)i+=0|t[o],r[2*o]=8191&i,i>>>=13,r[2*o+1]=8191&i,i>>>=13;for(o=2*e;o<a;++o)r[o]=0;n(0===i),n(0==(-8192&i))},g.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},g.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),a=this.makeRBT(n),i=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),h=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,i,s,l,n,a),this.transform(c,i,u,h,n,a);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*h[p];l[p]=s[p]*h[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,f,i,n,a),this.conjugate(f,i,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),d(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){n(\"number\"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var a=(0|this.words[r])*t,i=(67108863&a)+(67108863&e);e>>=26,e+=a/67108864|0,e+=i>>>26,this.words[r]=67108863&i}return 0!==e&&(this.words[r]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,a=r%26;e[r]=(t.words[n]&1<<a)>>>a}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var a=r.sqr();n<e.length;n++,a=a.sqr())0!==e[n]&&(r=r.mul(a));return r},i.prototype.iushln=function(t){n(\"number\"==typeof t&&t>=0);var e,r=t%26,a=(t-r)/26,i=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&i,l=(0|this.words[e])-s<<r;this.words[e]=l|o,o=s>>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==a){for(e=this.length-1;e>=0;e--)this.words[e+a]=this.words[e];for(e=0;e<a;e++)this.words[e]=0;this.length+=a}return this.strip()},i.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,r){var a;n(\"number\"==typeof t&&t>=0),a=e?(e-e%26)/26:0;var i=t%26,o=Math.min((t-i)/26,this.length),s=67108863^67108863>>>i<<i,l=r;if(a-=o,a=Math.max(0,a),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=a);c--){var h=0|this.words[c];this.words[c]=u<<26-i|h>>>i,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,a=1<<e;return!(this.length<=r)&&!!(this.words[r]&a)},i.prototype.imaskn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var a=67108863^67108863>>>e<<e;this.words[this.length-1]&=a}return this.strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return n(\"number\"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(n(\"number\"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,r){var a,i,o=t.length+r;this._expand(o);var s=0;for(a=0;a<t.length;a++){i=(0|this.words[a+r])+s;var l=(0|t.words[a])*e;s=((i-=67108863&l)>>26)-(l/67108864|0),this.words[a+r]=67108863&i}for(;a<this.length-r;a++)s=(i=(0|this.words[a+r])+s)>>26,this.words[a+r]=67108863&i;if(0===s)return this.strip();for(n(-1===s),s=0,a=0;a<this.length;a++)s=(i=-(0|this.words[a])+s)>>26,this.words[a]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),a=t,o=0|a.words[a.length-1];0!==(r=26-this._countBits(o))&&(a=a.ushln(r),n.iushln(r),o=0|a.words[a.length-1]);var s,l=n.length-a.length;if(\"mod\"!==e){(s=new i(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(a,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var h=l-1;h>=0;h--){var f=67108864*(0|n.words[a.length+h])+(0|n.words[a.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(a,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(a,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),\"div\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\"mod\"!==e&&(a=s.div.neg()),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:a,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\"mod\"!==e&&(a=s.div.neg()),{div:a,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?\"div\"===e?{div:this.divn(t.words[0]),mod:null}:\"mod\"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var a,o,s},i.prototype.div=function(t){return this.divmod(t,\"div\",!1).div},i.prototype.mod=function(t){return this.divmod(t,\"mod\",!1).mod},i.prototype.umod=function(t){return this.divmod(t,\"mod\",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),a=t.andln(1),i=r.cmp(n);return i<0||1===a&&0===i?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,a=this.length-1;a>=0;a--)r=(e*r+(0|this.words[a]))%t;return r},i.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var a=(0|this.words[r])+67108864*e;this.words[r]=a/t|0,e=a%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a=new i(1),o=new i(0),s=new i(0),l=new i(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=e.clone();!e.isZero();){for(var f=0,p=1;0==(e.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(u),o.isub(h)),a.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s),o.isub(l)):(r.isub(e),s.isub(a),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},i.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a,o=new i(1),s=new i(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(r.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(a=0===e.cmpn(1)?o:s).cmpn(0)<0&&a.iadd(t),a},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var a=e.cmp(r);if(a<0){var i=e;e=r,r=i}else if(0===a||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){n(\"number\"==typeof t);var e=t%26,r=(t-e)/26,a=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=a,this;for(var i=a,o=r;0!==i&&o<this.length;o++){var s=0|this.words[o];i=(s+=i)>>>26,s&=67108863,this.words[o]=s}return 0!==i&&(this.words[o]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,\"Number is too big\");var a=0|this.words[0];e=a===t?0:a<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],a=0|t.words[r];if(n!==a){n<a?e=-1:n>a&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new w(t)},i.prototype.toRed=function(t){return n(!this.red,\"Already a number in reduction context\"),n(0===this.negative,\"red works only with positives\"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(t)},i.prototype.redAdd=function(t){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,t)},i.prototype.redISub=function(t){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,t)},i.prototype.redShl=function(t){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,t)},i.prototype.redMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return n(this.red&&!t.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){m.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function x(){m.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function b(){m.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function _(){m.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function w(t){if(\"string\"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),\"modulus must be greater than 1\"),this.m=t,this.prime=null}function k(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(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)}m.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):r.strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},a(y,m),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n<r;n++)e.words[n]=t.words[n];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var a=t.words[9];for(e.words[e.length++]=4194303&a,n=10;n<t.length;n++){var i=0|t.words[n];t.words[n-10]=(4194303&i)<<4|a>>>22,a=i}a>>>=22,t.words[n-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},a(x,m),a(b,m),a(_,m),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,a=67108863&n;n>>>=26,t.words[r]=a,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(v[t])return v[t];var e;if(\"k256\"===t)e=new y;else if(\"p224\"===t)e=new x;else if(\"p192\"===t)e=new b;else{if(\"p25519\"!==t)throw new Error(\"Unknown prime \"+t);e=new _}return v[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,\"red works only with positives\"),n(t.red,\"red works only with red numbers\")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),\"red works only with positives\"),n(t.red&&t.red===e.red,\"red works only with red numbers\")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new i(1)).iushrn(2);return this.pow(t,r)}for(var a=this.m.subn(1),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);n(!a.isZero());var s=new i(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,a),f=this.pow(t,a.addn(1).iushrn(1)),p=this.pow(t,a),d=o;0!==p.cmp(s);){for(var g=p,v=0;0!==g.cmp(s);v++)g=g.redSqr();n(v<d);var m=this.pow(h,new i(1).iushln(d-v-1));f=f.redMul(m),h=m.redSqr(),p=p.redMul(h),d=v}return f},w.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},w.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var a=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var h=c>>u&1;a!==r[0]&&(a=this.sqr(a)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===u)&&(a=this.mul(a,r[o]),s=0,o=0)):s=0}l=26}return a},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new k(t)},a(k,w),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),i=a;return a.cmp(this.m)>=0?i=a.isub(this.m):a.cmpn(0)<0&&(i=a.iadd(this.m)),i._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(\"undefined\"==typeof e||e,this)},{buffer:105}],97:[function(t,e,r){\"use strict\";e.exports=function(t){var e,r,n,a=t.length,i=0;for(e=0;e<a;++e)i+=t[e].length;var o=new Array(i),s=0;for(e=0;e<a;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),h=0;for(n=0;n<c;++n)n!==r&&(u[h++]=l[n]);if(1&r){var f=u[1];u[1]=u[0],u[0]=f}}}return o}},{}],98:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){switch(arguments.length){case 1:return n=[],c(a=t,a,u,!0),n;case 2:return\"function\"==typeof e?c(t,t,e,!0):function(t,e){return n=[],c(t,e,u,!1),n}(t,e);case 3:return c(t,e,r,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}var a};var n,a=t(\"typedarray-pool\"),i=t(\"./lib/sweep\"),o=t(\"./lib/intersect\");function s(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function l(t,e,r,n){for(var a=0,i=0,o=0,l=t.length;o<l;++o){var c=t[o];if(!s(e,c)){for(var u=0;u<2*e;++u)r[a++]=c[u];n[i++]=o}}return i}function c(t,e,r,n){var s=t.length,c=e.length;if(!(s<=0||c<=0)){var u=t[0].length>>>1;if(!(u<=0)){var h,f=a.mallocDouble(2*u*s),p=a.mallocInt32(s);if((s=l(t,u,f,p))>0){if(1===u&&n)i.init(s),h=i.sweepComplete(u,r,0,s,f,p,0,s,f,p);else{var d=a.mallocDouble(2*u*c),g=a.mallocInt32(c);(c=l(e,u,d,g))>0&&(i.init(s+c),h=1===u?i.sweepBipartite(u,r,0,s,f,p,0,c,d,g):o(u,r,n,s,f,p,c,d,g),a.free(d),a.free(g))}a.free(f),a.free(p)}return h}}}function u(t,e){n.push([t,e])}},{\"./lib/intersect\":100,\"./lib/sweep\":104,\"typedarray-pool\":544}],99:[function(t,e,r){\"use strict\";var n=\"d\",a=\"ax\",i=\"vv\",o=\"fp\",s=\"es\",l=\"rs\",c=\"re\",u=\"rb\",h=\"ri\",f=\"rp\",p=\"bs\",d=\"be\",g=\"bb\",v=\"bi\",m=\"bp\",y=\"rv\",x=\"Q\",b=[n,a,i,l,c,u,h,p,d,g,v];function _(t){var e=\"bruteForce\"+(t?\"Full\":\"Partial\"),r=[],_=b.slice();t||_.splice(3,0,o);var w=[\"function \"+e+\"(\"+_.join()+\"){\"];function k(e,o){var _=function(t,e,r){var o=\"bruteForce\"+(t?\"Red\":\"Blue\")+(e?\"Flip\":\"\")+(r?\"Full\":\"\"),_=[\"function \",o,\"(\",b.join(),\"){\",\"var \",s,\"=2*\",n,\";\"],w=\"for(var i=\"+l+\",\"+f+\"=\"+s+\"*\"+l+\";i<\"+c+\";++i,\"+f+\"+=\"+s+\"){var x0=\"+u+\"[\"+a+\"+\"+f+\"],x1=\"+u+\"[\"+a+\"+\"+f+\"+\"+n+\"],xi=\"+h+\"[i];\",k=\"for(var j=\"+p+\",\"+m+\"=\"+s+\"*\"+p+\";j<\"+d+\";++j,\"+m+\"+=\"+s+\"){var y0=\"+g+\"[\"+a+\"+\"+m+\"],\"+(r?\"y1=\"+g+\"[\"+a+\"+\"+m+\"+\"+n+\"],\":\"\")+\"yi=\"+v+\"[j];\";return t?_.push(w,x,\":\",k):_.push(k,x,\":\",w),r?_.push(\"if(y1<x0||x1<y0)continue;\"):e?_.push(\"if(y0<=x0||x1<y0)continue;\"):_.push(\"if(y0<x0||x1<y0)continue;\"),_.push(\"for(var k=\"+a+\"+1;k<\"+n+\";++k){var r0=\"+u+\"[k+\"+f+\"],r1=\"+u+\"[k+\"+n+\"+\"+f+\"],b0=\"+g+\"[k+\"+m+\"],b1=\"+g+\"[k+\"+n+\"+\"+m+\"];if(r1<b0||b1<r0)continue \"+x+\";}var \"+y+\"=\"+i+\"(\"),e?_.push(\"yi,xi\"):_.push(\"xi,yi\"),_.push(\");if(\"+y+\"!==void 0)return \"+y+\";}}}\"),{name:o,code:_.join(\"\")}}(e,o,t);r.push(_.code),w.push(\"return \"+_.name+\"(\"+b.join()+\");\")}w.push(\"if(\"+c+\"-\"+l+\">\"+d+\"-\"+p+\"){\"),t?(k(!0,!1),w.push(\"}else{\"),k(!1,!1)):(w.push(\"if(\"+o+\"){\"),k(!0,!0),w.push(\"}else{\"),k(!0,!1),w.push(\"}}else{if(\"+o+\"){\"),k(!1,!0),w.push(\"}else{\"),k(!1,!1),w.push(\"}\")),w.push(\"}}return \"+e);var T=r.join(\"\")+w.join(\"\");return new Function(T)()}r.partial=_(!1),r.full=_(!0)},{}],100:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i,u,S,E,L,C){!function(t,e){var r=8*a.log2(e+1)*(t+1)|0,i=a.nextPow2(b*r);w.length<i&&(n.free(w),w=n.mallocInt32(i));var o=a.nextPow2(_*r);k<o&&(n.free(k),k=n.mallocDouble(o))}(t,i+E);var P,O=0,z=2*t;T(O++,0,0,i,0,E,r?16:0,-1/0,1/0),r||T(O++,0,0,E,0,i,1,-1/0,1/0);for(;O>0;){var I=(O-=1)*b,D=w[I],R=w[I+1],F=w[I+2],B=w[I+3],N=w[I+4],j=w[I+5],V=O*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),Y=u,W=S,X=L,Z=C;if(H&&(Y=L,W=C,X=u,Z=S),!(2&j&&(F=v(t,D,R,F,Y,W,q),R>=F)||4&j&&(R=m(t,D,R,F,Y,W,U))>=F)){var J=F-R,K=N-B;if(G){if(t*J*(J+K)<p){if(void 0!==(P=l.scanComplete(t,D,e,R,F,Y,W,B,N,X,Z)))return P;continue}}else{if(t*Math.min(J,K)<h){if(void 0!==(P=o(t,D,e,H,R,F,Y,W,B,N,X,Z)))return P;continue}if(t*J*K<f){if(void 0!==(P=l.scanBipartite(t,D,e,H,R,F,Y,W,B,N,X,Z)))return P;continue}}var Q=d(t,D,R,F,Y,W,U,q);if(R<Q)if(t*(Q-R)<h){if(void 0!==(P=s(t,D+1,e,R,Q,Y,W,B,N,X,Z)))return P}else if(D===t-2){if(void 0!==(P=H?l.sweepBipartite(t,e,B,N,X,Z,R,Q,Y,W):l.sweepBipartite(t,e,R,Q,Y,W,B,N,X,Z)))return P}else T(O++,D+1,R,Q,B,N,H,-1/0,1/0),T(O++,D+1,B,N,R,Q,1^H,-1/0,1/0);if(Q<F){var $=c(t,D,B,N,X,Z),tt=X[z*$+D],et=g(t,D,$,N,X,Z,tt);if(et<N&&T(O++,D,Q,F,et,N,(4|H)+(G?16:0),tt,q),B<$&&T(O++,D,Q,F,B,$,(2|H)+(G?16:0),U,tt),$+1===et){if(void 0!==(P=G?A(t,D,e,Q,F,Y,W,$,X,Z[$]):M(t,D,e,H,Q,F,Y,W,$,X,Z[$])))return P}else if($<et){var rt;if(G){if(rt=y(t,D,Q,F,Y,W,tt),Q<rt){var nt=g(t,D,Q,rt,Y,W,tt);if(D===t-2){if(Q<nt&&void 0!==(P=l.sweepComplete(t,e,Q,nt,Y,W,$,et,X,Z)))return P;if(nt<rt&&void 0!==(P=l.sweepBipartite(t,e,nt,rt,Y,W,$,et,X,Z)))return P}else Q<nt&&T(O++,D+1,Q,nt,$,et,16,-1/0,1/0),nt<rt&&(T(O++,D+1,nt,rt,$,et,0,-1/0,1/0),T(O++,D+1,$,et,nt,rt,1,-1/0,1/0))}}else rt=H?x(t,D,Q,F,Y,W,tt):y(t,D,Q,F,Y,W,tt),Q<rt&&(D===t-2?P=H?l.sweepBipartite(t,e,$,et,X,Z,Q,rt,Y,W):l.sweepBipartite(t,e,Q,rt,Y,W,$,et,X,Z):(T(O++,D+1,Q,rt,$,et,H,-1/0,1/0),T(O++,D+1,$,et,Q,rt,1^H,-1/0,1/0)))}}}}};var n=t(\"typedarray-pool\"),a=t(\"bit-twiddle\"),i=t(\"./brute\"),o=i.partial,s=i.full,l=t(\"./sweep\"),c=t(\"./median\"),u=t(\"./partition\"),h=128,f=1<<22,p=1<<22,d=u(\"!(lo>=p0)&&!(p1>=hi)\",[\"p0\",\"p1\"]),g=u(\"lo===p0\",[\"p0\"]),v=u(\"lo<p0\",[\"p0\"]),m=u(\"hi<=p0\",[\"p0\"]),y=u(\"lo<=p0&&p0<=hi\",[\"p0\"]),x=u(\"lo<p0&&p0<=hi\",[\"p0\"]),b=6,_=2,w=n.mallocInt32(1024),k=n.mallocDouble(1024);function T(t,e,r,n,a,i,o,s,l){var c=b*t;w[c]=e,w[c+1]=r,w[c+2]=n,w[c+3]=a,w[c+4]=i,w[c+5]=o;var u=_*t;k[u]=s,k[u+1]=l}function M(t,e,r,n,a,i,o,s,l,c,u){var h=2*t,f=l*h,p=c[f+e];t:for(var d=a,g=a*h;d<i;++d,g+=h){var v=o[g+e],m=o[g+e+t];if(!(p<v||m<p)&&(!n||p!==v)){for(var y,x=s[d],b=e+1;b<t;++b){v=o[g+b],m=o[g+b+t];var _=c[f+b],w=c[f+b+t];if(m<_||w<v)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function A(t,e,r,n,a,i,o,s,l,c){var u=2*t,h=s*u,f=l[h+e];t:for(var p=n,d=n*u;p<a;++p,d+=u){var g=o[p];if(g!==c){var v=i[d+e],m=i[d+e+t];if(!(f<v||m<f)){for(var y=e+1;y<t;++y){v=i[d+y],m=i[d+y+t];var x=l[h+y],b=l[h+y+t];if(m<x||b<v)continue t}var _=r(g,c);if(void 0!==_)return _}}}}},{\"./brute\":99,\"./median\":101,\"./partition\":102,\"./sweep\":104,\"bit-twiddle\":94,\"typedarray-pool\":544}],101:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,o,s,l){if(o<=r+1)return r;var c=r,u=o,h=o+r>>>1,f=2*t,p=h,d=s[f*h+e];for(;c<u;){if(u-c<a){i(t,e,c,u,s,l),d=s[f*h+e];break}var g=u-c,v=Math.random()*g+c|0,m=s[f*v+e],y=Math.random()*g+c|0,x=s[f*y+e],b=Math.random()*g+c|0,_=s[f*b+e];m<=x?_>=x?(p=y,d=x):m>=_?(p=v,d=m):(p=b,d=_):x>=_?(p=y,d=x):_>=m?(p=v,d=m):(p=b,d=_);for(var w=f*(u-1),k=f*p,T=0;T<f;++T,++w,++k){var M=s[w];s[w]=s[k],s[k]=M}var A=l[u-1];l[u-1]=l[p],l[p]=A,p=n(t,e,c,u-1,s,l,d);for(var w=f*(u-1),k=f*p,T=0;T<f;++T,++w,++k){var M=s[w];s[w]=s[k],s[k]=M}var A=l[u-1];if(l[u-1]=l[p],l[p]=A,h<p){for(u=p-1;c<u&&s[f*(u-1)+e]===d;)u-=1;u+=1}else{if(!(p<h))break;for(c=p+1;c<u&&s[f*c+e]===d;)c+=1}}return n(t,e,r,h,s,l,s[f*h+e])};var n=t(\"./partition\")(\"lo<p0\",[\"p0\"]),a=8;function i(t,e,r,n,a,i){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=a[s],u=l,h=o*(l-1);u>r&&a[h+e]>c;--u,h-=o){for(var f=h,p=h+o,d=0;d<o;++d,++f,++p){var g=a[f];a[f]=a[p],a[p]=g}var v=i[u];i[u]=i[u-1],i[u-1]=v}}},{\"./partition\":102}],102:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=\"abcdef\".split(\"\").concat(e),a=[];t.indexOf(\"lo\")>=0&&a.push(\"lo=e[k+n]\");t.indexOf(\"hi\")>=0&&a.push(\"hi=e[k+o]\");return r.push(n.replace(\"_\",a.join()).replace(\"$\",t)),Function.apply(void 0,r)};var n=\"for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m\"},{}],103:[function(t,e,r){\"use strict\";e.exports=function(t,e){e<=4*n?a(0,e-1,t):function t(e,r,h){var f=(r-e+1)/6|0,p=e+f,d=r-f,g=e+r>>1,v=g-f,m=g+f,y=p,x=v,b=g,_=m,w=d,k=e+1,T=r-1,M=0;c(y,x,h)&&(M=y,y=x,x=M);c(_,w,h)&&(M=_,_=w,w=M);c(y,b,h)&&(M=y,y=b,b=M);c(x,b,h)&&(M=x,x=b,b=M);c(y,_,h)&&(M=y,y=_,_=M);c(b,_,h)&&(M=b,b=_,_=M);c(x,w,h)&&(M=x,x=w,w=M);c(x,b,h)&&(M=x,x=b,b=M);c(_,w,h)&&(M=_,_=w,w=M);var A=h[2*x];var S=h[2*x+1];var E=h[2*_];var L=h[2*_+1];var C=2*y;var P=2*b;var O=2*w;var z=2*p;var I=2*g;var D=2*d;for(var R=0;R<2;++R){var F=h[C+R],B=h[P+R],N=h[O+R];h[z+R]=F,h[I+R]=B,h[D+R]=N}o(v,e,h);o(m,r,h);for(var j=k;j<=T;++j)if(u(j,A,S,h))j!==k&&i(j,k,h),++k;else if(!u(j,E,L,h))for(;;){if(u(T,E,L,h)){u(T,A,S,h)?(s(j,k,T,h),++k,--T):(i(j,T,h),--T);break}if(--T<j)break}l(e,k-1,A,S,h);l(r,T+1,E,L,h);k-2-e<=n?a(e,k-2,h):t(e,k-2,h);r-(T+2)<=n?a(T+2,r,h):t(T+2,r,h);T-k<=n?a(k,T,h):t(k,T,h)}(0,e-1,t)};var n=32;function a(t,e,r){for(var n=2*(t+1),a=t+1;a<=e;++a){for(var i=r[n++],o=r[n++],s=a,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(c<i)break;if(c===i&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=i,r[l+1]=o}}function i(t,e,r){e*=2;var n=r[t*=2],a=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=a}function o(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){e*=2,r*=2;var a=n[t*=2],i=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=a,n[r+1]=i}function l(t,e,r,n,a){e*=2,a[t*=2]=a[e],a[e]=r,a[t+1]=a[e+1],a[e+1]=n}function c(t,e,r){e*=2;var n=r[t*=2],a=r[e];return!(n<a)&&(n!==a||r[t+1]>r[e+1])}function u(t,e,r,n){var a=n[t*=2];return a<e||a===e&&n[t+1]<r}},{}],104:[function(t,e,r){\"use strict\";e.exports={init:function(t){var e=a.nextPow2(t);s.length<e&&(n.free(s),s=n.mallocInt32(e));l.length<e&&(n.free(l),l=n.mallocInt32(e));c.length<e&&(n.free(c),c=n.mallocInt32(e));u.length<e&&(n.free(u),u=n.mallocInt32(e));h.length<e&&(n.free(h),h=n.mallocInt32(e));f.length<e&&(n.free(f),f=n.mallocInt32(e));var r=8*e;p.length<r&&(n.free(p),p=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,a,h,f,v,m,y){for(var x=0,b=2*t,_=t-1,w=b-1,k=r;k<n;++k){var T=h[k],M=b*k;p[x++]=a[M+_],p[x++]=-(T+1),p[x++]=a[M+w],p[x++]=T}for(var k=f;k<v;++k){var T=y[k]+o,A=b*k;p[x++]=m[A+_],p[x++]=-T,p[x++]=m[A+w],p[x++]=T}var S=x>>>1;i(p,S);for(var E=0,L=0,k=0;k<S;++k){var C=0|p[2*k+1];if(C>=o)d(c,u,L--,C=C-o|0);else if(C>=0)d(s,l,E--,C);else if(C<=-o){C=-C-o|0;for(var P=0;P<E;++P){var O=e(s[P],C);if(void 0!==O)return O}g(c,u,L++,C)}else{C=-C-1|0;for(var P=0;P<L;++P){var O=e(C,c[P]);if(void 0!==O)return O}g(s,l,E++,C)}}},sweepComplete:function(t,e,r,n,a,o,v,m,y,x){for(var b=0,_=2*t,w=t-1,k=_-1,T=r;T<n;++T){var M=o[T]+1<<1,A=_*T;p[b++]=a[A+w],p[b++]=-M,p[b++]=a[A+k],p[b++]=M}for(var T=v;T<m;++T){var M=x[T]+1<<1,S=_*T;p[b++]=y[S+w],p[b++]=1|-M,p[b++]=y[S+k],p[b++]=1|M}var E=b>>>1;i(p,E);for(var L=0,C=0,P=0,T=0;T<E;++T){var O=0|p[2*T+1],z=1&O;if(T<E-1&&O>>1==p[2*T+3]>>1&&(z=2,T+=1),O<0){for(var I=-(O>>1)-1,D=0;D<P;++D){var R=e(h[D],I);if(void 0!==R)return R}if(0!==z)for(var D=0;D<L;++D){var R=e(s[D],I);if(void 0!==R)return R}if(1!==z)for(var D=0;D<C;++D){var R=e(c[D],I);if(void 0!==R)return R}0===z?g(s,l,L++,I):1===z?g(c,u,C++,I):2===z&&g(h,f,P++,I)}else{var I=(O>>1)-1;0===z?d(s,l,L--,I):1===z?d(c,u,C--,I):2===z&&d(h,f,P--,I)}}},scanBipartite:function(t,e,r,n,a,c,u,h,f,v,m,y){var x=0,b=2*t,_=e,w=e+t,k=1,T=1;n?T=o:k=o;for(var M=a;M<c;++M){var A=M+k,S=b*M;p[x++]=u[S+_],p[x++]=-A,p[x++]=u[S+w],p[x++]=A}for(var M=f;M<v;++M){var A=M+T,E=b*M;p[x++]=m[E+_],p[x++]=-A}var L=x>>>1;i(p,L);for(var C=0,M=0;M<L;++M){var P=0|p[2*M+1];if(P<0){var A=-P,O=!1;if(A>=o?(O=!n,A-=o):(O=!!n,A-=1),O)g(s,l,C++,A);else{var z=y[A],I=b*A,D=m[I+e+1],R=m[I+e+1+t];t:for(var F=0;F<C;++F){var B=s[F],N=b*B;if(!(R<u[N+e+1]||u[N+e+1+t]<D)){for(var j=e+2;j<t;++j)if(m[I+j+t]<u[N+j]||u[N+j+t]<m[I+j])continue t;var V,U=h[B];if(void 0!==(V=n?r(z,U):r(U,z)))return V}}}}else d(s,l,C--,P-k)}},scanComplete:function(t,e,r,n,a,l,c,u,h,f,d){for(var g=0,v=2*t,m=e,y=e+t,x=n;x<a;++x){var b=x+o,_=v*x;p[g++]=l[_+m],p[g++]=-b,p[g++]=l[_+y],p[g++]=b}for(var x=u;x<h;++x){var b=x+1,w=v*x;p[g++]=f[w+m],p[g++]=-b}var k=g>>>1;i(p,k);for(var T=0,x=0;x<k;++x){var M=0|p[2*x+1];if(M<0){var b=-M;if(b>=o)s[T++]=b-o;else{var A=d[b-=1],S=v*b,E=f[S+e+1],L=f[S+e+1+t];t:for(var C=0;C<T;++C){var P=s[C],O=c[P];if(O===A)break;var z=v*P;if(!(L<l[z+e+1]||l[z+e+1+t]<E)){for(var I=e+2;I<t;++I)if(f[S+I+t]<l[z+I]||l[z+I+t]<f[S+I])continue t;var D=r(O,A);if(void 0!==D)return D}}}}else{for(var b=M-o,C=T-1;C>=0;--C)if(s[C]===b){for(var I=C+1;I<T;++I)s[I-1]=s[I];break}--T}}}};var n=t(\"typedarray-pool\"),a=t(\"bit-twiddle\"),i=t(\"./sort\"),o=1<<28,s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),h=n.mallocInt32(1024),f=n.mallocInt32(1024),p=n.mallocDouble(8192);function d(t,e,r,n){var a=e[n],i=t[r-1];t[a]=i,e[i]=a}function g(t,e,r,n){t[r]=n,e[n]=r}},{\"./sort\":103,\"bit-twiddle\":94,\"typedarray-pool\":544}],105:[function(t,e,r){},{}],106:[function(t,e,r){var n=Object.create||function(t){var e=function(){};return e.prototype=t,new e},a=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return r},i=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,\"_events\")||(this._events=n(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var s,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,\"x\",{value:0}),s=0===c.x}catch(t){s=!1}function u(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function h(t,e,r,a){var i,o,s;if(\"function\"!=typeof r)throw new TypeError('\"listener\" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit(\"newListener\",e,r.listener?r.listener:r),o=t._events),s=o[e]):(o=t._events=n(null),t._eventsCount=0),s){if(\"function\"==typeof s?s=o[e]=a?[r,s]:[s,r]:a?s.unshift(r):s.push(r),!s.warned&&(i=u(t))&&i>0&&s.length>i){s.warned=!0;var l=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+' \"'+String(e)+'\" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name=\"MaxListenersExceededWarning\",l.emitter=t,l.type=e,l.count=s.length,\"object\"==typeof console&&console.warn&&console.warn(\"%s: %s\",l.name,l.message)}}else s=o[e]=r,++t._eventsCount;return t}function f(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e<t.length;++e)t[e]=arguments[e];this.listener.apply(this.target,t)}}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},a=i.call(f,n);return a.listener=r,n.wrapFn=a,a}function d(t,e,r){var n=t._events;if(!n)return[];var a=n[e];return a?\"function\"==typeof a?r?[a.listener||a]:[a]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(a):v(a,a.length):[]}function g(t){var e=this._events;if(e){var r=e[t];if(\"function\"==typeof r)return 1;if(r)return r.length}return 0}function v(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}s?Object.defineProperty(o,\"defaultMaxListeners\",{enumerable:!0,get:function(){return l},set:function(t){if(\"number\"!=typeof t||t<0||t!=t)throw new TypeError('\"defaultMaxListeners\" must be a positive number');l=t}}):o.defaultMaxListeners=l,o.prototype.setMaxListeners=function(t){if(\"number\"!=typeof t||t<0||isNaN(t))throw new TypeError('\"n\" argument must be a positive number');return this._maxListeners=t,this},o.prototype.getMaxListeners=function(){return u(this)},o.prototype.emit=function(t){var e,r,n,a,i,o,s=\"error\"===t;if(o=this._events)s=s&&null==o.error;else if(!s)return!1;if(s){if(arguments.length>1&&(e=arguments[1]),e instanceof Error)throw e;var l=new Error('Unhandled \"error\" event. ('+e+\")\");throw l.context=e,l}if(!(r=o[t]))return!1;var c=\"function\"==typeof r;switch(n=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var n=t.length,a=v(t,n),i=0;i<n;++i)a[i].call(r)}(r,c,this);break;case 2:!function(t,e,r,n){if(e)t.call(r,n);else for(var a=t.length,i=v(t,a),o=0;o<a;++o)i[o].call(r,n)}(r,c,this,arguments[1]);break;case 3:!function(t,e,r,n,a){if(e)t.call(r,n,a);else for(var i=t.length,o=v(t,i),s=0;s<i;++s)o[s].call(r,n,a)}(r,c,this,arguments[1],arguments[2]);break;case 4:!function(t,e,r,n,a,i){if(e)t.call(r,n,a,i);else for(var o=t.length,s=v(t,o),l=0;l<o;++l)s[l].call(r,n,a,i)}(r,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(a=new Array(n-1),i=1;i<n;i++)a[i-1]=arguments[i];!function(t,e,r,n){if(e)t.apply(r,n);else for(var a=t.length,i=v(t,a),o=0;o<a;++o)i[o].apply(r,n)}(r,c,this,a)}return!0},o.prototype.addListener=function(t,e){return h(this,t,e,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(t,e){return h(this,t,e,!0)},o.prototype.once=function(t,e){if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');return this.on(t,p(this,t,e)),this},o.prototype.prependOnceListener=function(t,e){if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');return this.prependListener(t,p(this,t,e)),this},o.prototype.removeListener=function(t,e){var r,a,i,o,s;if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');if(!(a=this._events))return this;if(!(r=a[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=n(null):(delete a[t],a.removeListener&&this.emit(\"removeListener\",t,r.listener||e));else if(\"function\"!=typeof r){for(i=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(var r=e,n=r+1,a=t.length;n<a;r+=1,n+=1)t[r]=t[n];t.pop()}(r,i),1===r.length&&(a[t]=r[0]),a.removeListener&&this.emit(\"removeListener\",t,s||e)}return this},o.prototype.removeAllListeners=function(t){var e,r,i;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=n(null),this._eventsCount=0):r[t]&&(0==--this._eventsCount?this._events=n(null):delete r[t]),this;if(0===arguments.length){var o,s=a(r);for(i=0;i<s.length;++i)\"removeListener\"!==(o=s[i])&&this.removeAllListeners(o);return this.removeAllListeners(\"removeListener\"),this._events=n(null),this._eventsCount=0,this}if(\"function\"==typeof(e=r[t]))this.removeListener(t,e);else if(e)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this},o.prototype.listeners=function(t){return d(this,t,!0)},o.prototype.rawListeners=function(t){return d(this,t,!1)},o.listenerCount=function(t,e){return\"function\"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},o.prototype.listenerCount=g,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],107:[function(t,e,r){(function(e){\"use strict\";var n=t(\"base64-js\"),a=t(\"ieee754\"),i=\"function\"==typeof Symbol&&\"function\"==typeof Symbol.for?Symbol.for(\"nodejs.util.inspect.custom\"):null;r.Buffer=e,r.SlowBuffer=function(t){+t!=t&&(t=0);return e.alloc(+t)},r.INSPECT_MAX_BYTES=50;var o=2147483647;function s(t){if(t>o)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var r=new Uint8Array(t);return Object.setPrototypeOf(r,e.prototype),r}function e(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return u(t)}return l(t,e,r)}function l(t,r,n){if(\"string\"==typeof t)return function(t,r){\"string\"==typeof r&&\"\"!==r||(r=\"utf8\");if(!e.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r);var n=0|p(t,r),a=s(n),i=a.write(t,r);i!==n&&(a=a.slice(0,i));return a}(t,r);if(ArrayBuffer.isView(t))return h(t);if(null==t)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(j(t,ArrayBuffer)||t&&j(t.buffer,ArrayBuffer))return function(t,r,n){if(r<0||t.byteLength<r)throw new RangeError('\"offset\" is outside of buffer bounds');if(t.byteLength<r+(n||0))throw new RangeError('\"length\" is outside of buffer bounds');var a;a=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);return Object.setPrototypeOf(a,e.prototype),a}(t,r,n);if(\"number\"==typeof t)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var a=t.valueOf&&t.valueOf();if(null!=a&&a!==t)return e.from(a,r,n);var i=function(t){if(e.isBuffer(t)){var r=0|f(t.length),n=s(r);return 0===n.length?n:(t.copy(n,0,0,r),n)}if(void 0!==t.length)return\"number\"!=typeof t.length||V(t.length)?s(0):h(t);if(\"Buffer\"===t.type&&Array.isArray(t.data))return h(t.data)}(t);if(i)return i;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return e.from(t[Symbol.toPrimitive](\"string\"),r,n);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t)}function c(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be of type number');if(t<0)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"')}function u(t){return c(t),s(t<0?0:0|f(t))}function h(t){for(var e=t.length<0?0:0|f(t.length),r=s(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function f(t){if(t>=o)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+o.toString(16)+\" bytes\");return 0|t}function p(t,r){if(e.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||j(t,ArrayBuffer))return t.byteLength;if(\"string\"!=typeof t)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,a=arguments.length>2&&!0===arguments[2];if(!a&&0===n)return 0;for(var i=!1;;)switch(r){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":return F(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return B(t).length;default:if(i)return a?-1:F(t).length;r=(\"\"+r).toLowerCase(),i=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,r,n,a,i){if(0===t.length)return-1;if(\"string\"==typeof n?(a=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if(\"string\"==typeof r&&(r=e.from(r,a)),e.isBuffer(r))return 0===r.length?-1:v(t,r,n,a,i);if(\"number\"==typeof r)return r&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,r,n):Uint8Array.prototype.lastIndexOf.call(t,r,n):v(t,[r],n,a,i);throw new TypeError(\"val must be string, number or Buffer\")}function v(t,e,r,n,a){var i,o=1,s=t.length,l=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(a){var u=-1;for(i=r;i<s;i++)if(c(t,i)===c(e,-1===u?0:i-u)){if(-1===u&&(u=i),i-u+1===l)return u*o}else-1!==u&&(i-=i-u),u=-1}else for(r+l>s&&(r=s-l),i=r;i>=0;i--){for(var h=!0,f=0;f<l;f++)if(c(t,i+f)!==c(e,f)){h=!1;break}if(h)return i}return-1}function m(t,e,r,n){r=Number(r)||0;var a=t.length-r;n?(n=Number(n))>a&&(n=a):n=a;var i=e.length;n>i/2&&(n=i/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(V(s))return o;t[r+o]=s}return o}function y(t,e,r,n){return N(F(e,t.length-r),t,r,n)}function x(t,e,r,n){return N(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function b(t,e,r,n){return x(t,e,r,n)}function _(t,e,r,n){return N(B(e),t,r,n)}function w(t,e,r,n){return N(function(t,e){for(var r,n,a,i=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,a=r%256,i.push(a),i.push(n);return i}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],a=e;a<r;){var i,o,s,l,c=t[a],u=null,h=c>239?4:c>223?3:c>191?2:1;if(a+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(i=t[a+1]))&&(l=(31&c)<<6|63&i)>127&&(u=l);break;case 3:i=t[a+1],o=t[a+2],128==(192&i)&&128==(192&o)&&(l=(15&c)<<12|(63&i)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=t[a+1],o=t[a+2],s=t[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&i)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),a+=h}return function(t){var e=t.length;if(e<=M)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=M));return r}(n)}r.kMaxLength=o,e.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),e.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(e.prototype,\"parent\",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.buffer}}),Object.defineProperty(e.prototype,\"offset\",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.byteOffset}}),\"undefined\"!=typeof Symbol&&null!=Symbol.species&&e[Symbol.species]===e&&Object.defineProperty(e,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),e.poolSize=8192,e.from=function(t,e,r){return l(t,e,r)},Object.setPrototypeOf(e.prototype,Uint8Array.prototype),Object.setPrototypeOf(e,Uint8Array),e.alloc=function(t,e,r){return function(t,e,r){return c(t),t<=0?s(t):void 0!==e?\"string\"==typeof r?s(t).fill(e,r):s(t).fill(e):s(t)}(t,e,r)},e.allocUnsafe=function(t){return u(t)},e.allocUnsafeSlow=function(t){return u(t)},e.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==e.prototype},e.compare=function(t,r){if(j(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),j(r,Uint8Array)&&(r=e.from(r,r.offset,r.byteLength)),!e.isBuffer(t)||!e.isBuffer(r))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;for(var n=t.length,a=r.length,i=0,o=Math.min(n,a);i<o;++i)if(t[i]!==r[i]){n=t[i],a=r[i];break}return n<a?-1:a<n?1:0},e.isEncoding=function(t){switch(String(t).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}},e.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===t.length)return e.alloc(0);var n;if(void 0===r)for(r=0,n=0;n<t.length;++n)r+=t[n].length;var a=e.allocUnsafe(r),i=0;for(n=0;n<t.length;++n){var o=t[n];if(j(o,Uint8Array)&&(o=e.from(o)),!e.isBuffer(o))throw new TypeError('\"list\" argument must be an Array of Buffers');o.copy(a,i),i+=o.length}return a},e.byteLength=p,e.prototype._isBuffer=!0,e.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var e=0;e<t;e+=2)d(this,e,e+1);return this},e.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var e=0;e<t;e+=4)d(this,e,e+3),d(this,e+1,e+2);return this},e.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var e=0;e<t;e+=8)d(this,e,e+7),d(this,e+1,e+6),d(this,e+2,e+5),d(this,e+3,e+4);return this},e.prototype.toString=function(){var t=this.length;return 0===t?\"\":0===arguments.length?T(this,0,t):function(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return E(this,e,r);case\"utf8\":case\"utf-8\":return T(this,e,r);case\"ascii\":return A(this,e,r);case\"latin1\":case\"binary\":return S(this,e,r);case\"base64\":return k(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return L(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}.apply(this,arguments)},e.prototype.toLocaleString=e.prototype.toString,e.prototype.equals=function(t){if(!e.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t||0===e.compare(this,t)},e.prototype.inspect=function(){var t=\"\",e=r.INSPECT_MAX_BYTES;return t=this.toString(\"hex\",0,e).replace(/(.{2})/g,\"$1 \").trim(),this.length>e&&(t+=\" ... \"),\"<Buffer \"+t+\">\"},i&&(e.prototype[i]=e.prototype.inspect),e.prototype.compare=function(t,r,n,a,i){if(j(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),!e.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===r&&(r=0),void 0===n&&(n=t?t.length:0),void 0===a&&(a=0),void 0===i&&(i=this.length),r<0||n>t.length||a<0||i>this.length)throw new RangeError(\"out of range index\");if(a>=i&&r>=n)return 0;if(a>=i)return-1;if(r>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(a>>>=0),s=(n>>>=0)-(r>>>=0),l=Math.min(o,s),c=this.slice(a,i),u=t.slice(r,n),h=0;h<l;++h)if(c[h]!==u[h]){o=c[h],s=u[h];break}return o<s?-1:s<o?1:0},e.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},e.prototype.indexOf=function(t,e,r){return g(this,t,e,r,!0)},e.prototype.lastIndexOf=function(t,e,r){return g(this,t,e,r,!1)},e.prototype.write=function(t,e,r,n){if(void 0===e)n=\"utf8\",r=this.length,e=0;else if(void 0===r&&\"string\"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var a=this.length-e;if((void 0===r||r>a)&&(r=a),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var i=!1;;)switch(n){case\"hex\":return m(this,t,e,r);case\"utf8\":case\"utf-8\":return y(this,t,e,r);case\"ascii\":return x(this,t,e,r);case\"latin1\":case\"binary\":return b(this,t,e,r);case\"base64\":return _(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return w(this,t,e,r);default:if(i)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),i=!0}},e.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var M=4096;function A(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var a=e;a<r;++a)n+=String.fromCharCode(127&t[a]);return n}function S(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var a=e;a<r;++a)n+=String.fromCharCode(t[a]);return n}function E(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var a=\"\",i=e;i<r;++i)a+=R(t[i]);return a}function L(t,e,r){for(var n=t.slice(e,r),a=\"\",i=0;i<n.length;i+=2)a+=String.fromCharCode(n[i]+256*n[i+1]);return a}function C(t,e,r){if(t%1!=0||t<0)throw new RangeError(\"offset is not uint\");if(t+e>r)throw new RangeError(\"Trying to access beyond buffer length\")}function P(t,r,n,a,i,o){if(!e.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(r>i||r<o)throw new RangeError('\"value\" argument is out of bounds');if(n+a>t.length)throw new RangeError(\"Index out of range\")}function O(t,e,r,n,a,i){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function z(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,0,r,4),a.write(t,e,r,n,23,4),r+4}function I(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,0,r,8),a.write(t,e,r,n,52,8),r+8}e.prototype.slice=function(t,r){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(r=void 0===r?n:~~r)<0?(r+=n)<0&&(r=0):r>n&&(r=n),r<t&&(r=t);var a=this.subarray(t,r);return Object.setPrototypeOf(a,e.prototype),a},e.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t],a=1,i=0;++i<e&&(a*=256);)n+=this[t+i]*a;return n},e.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t+--e],a=1;e>0&&(a*=256);)n+=this[t+--e]*a;return n},e.prototype.readUInt8=function(t,e){return t>>>=0,e||C(t,1,this.length),this[t]},e.prototype.readUInt16LE=function(t,e){return t>>>=0,e||C(t,2,this.length),this[t]|this[t+1]<<8},e.prototype.readUInt16BE=function(t,e){return t>>>=0,e||C(t,2,this.length),this[t]<<8|this[t+1]},e.prototype.readUInt32LE=function(t,e){return t>>>=0,e||C(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},e.prototype.readUInt32BE=function(t,e){return t>>>=0,e||C(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},e.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t],a=1,i=0;++i<e&&(a*=256);)n+=this[t+i]*a;return n>=(a*=128)&&(n-=Math.pow(2,8*e)),n},e.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=e,a=1,i=this[t+--n];n>0&&(a*=256);)i+=this[t+--n]*a;return i>=(a*=128)&&(i-=Math.pow(2,8*e)),i},e.prototype.readInt8=function(t,e){return t>>>=0,e||C(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},e.prototype.readInt16LE=function(t,e){t>>>=0,e||C(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt16BE=function(t,e){t>>>=0,e||C(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt32LE=function(t,e){return t>>>=0,e||C(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},e.prototype.readInt32BE=function(t,e){return t>>>=0,e||C(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},e.prototype.readFloatLE=function(t,e){return t>>>=0,e||C(t,4,this.length),a.read(this,t,!0,23,4)},e.prototype.readFloatBE=function(t,e){return t>>>=0,e||C(t,4,this.length),a.read(this,t,!1,23,4)},e.prototype.readDoubleLE=function(t,e){return t>>>=0,e||C(t,8,this.length),a.read(this,t,!0,52,8)},e.prototype.readDoubleBE=function(t,e){return t>>>=0,e||C(t,8,this.length),a.read(this,t,!1,52,8)},e.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var a=1,i=0;for(this[e]=255&t;++i<r&&(a*=256);)this[e+i]=t/a&255;return e+r},e.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var a=r-1,i=1;for(this[e+a]=255&t;--a>=0&&(i*=256);)this[e+a]=t/i&255;return e+r},e.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,255,0),this[e]=255&t,e+1},e.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},e.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);P(this,t,e,r,a-1,-a)}var i=0,o=1,s=0;for(this[e]=255&t;++i<r&&(o*=256);)t<0&&0===s&&0!==this[e+i-1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},e.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);P(this,t,e,r,a-1,-a)}var i=r-1,o=1,s=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},e.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},e.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},e.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeFloatLE=function(t,e,r){return z(this,t,e,!0,r)},e.prototype.writeFloatBE=function(t,e,r){return z(this,t,e,!1,r)},e.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},e.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},e.prototype.copy=function(t,r,n,a){if(!e.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(n||(n=0),a||0===a||(a=this.length),r>=t.length&&(r=t.length),r||(r=0),a>0&&a<n&&(a=n),a===n)return 0;if(0===t.length||0===this.length)return 0;if(r<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"Index out of range\");if(a<0)throw new RangeError(\"sourceEnd out of bounds\");a>this.length&&(a=this.length),t.length-r<a-n&&(a=t.length-r+n);var i=a-n;if(this===t&&\"function\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(r,n,a);else if(this===t&&n<r&&r<a)for(var o=i-1;o>=0;--o)t[o+r]=this[o+n];else Uint8Array.prototype.set.call(t,this.subarray(n,a),r);return i},e.prototype.fill=function(t,r,n,a){if(\"string\"==typeof t){if(\"string\"==typeof r?(a=r,r=0,n=this.length):\"string\"==typeof n&&(a=n,n=this.length),void 0!==a&&\"string\"!=typeof a)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof a&&!e.isEncoding(a))throw new TypeError(\"Unknown encoding: \"+a);if(1===t.length){var i=t.charCodeAt(0);(\"utf8\"===a&&i<128||\"latin1\"===a)&&(t=i)}}else\"number\"==typeof t?t&=255:\"boolean\"==typeof t&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError(\"Out of range index\");if(n<=r)return this;var o;if(r>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),\"number\"==typeof t)for(o=r;o<n;++o)this[o]=t;else{var s=e.isBuffer(t)?t:e.from(t,a),l=s.length;if(0===l)throw new TypeError('The value \"'+t+'\" is invalid for argument \"value\"');for(o=0;o<n-r;++o)this[o+r]=s[o%l]}return this};var D=/[^+/0-9A-Za-z-_]/g;function R(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function F(t,e){var r;e=e||1/0;for(var n=t.length,a=null,i=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!a){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&i.push(239,191,189);continue}a=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),a=r;continue}r=65536+(a-55296<<10|r-56320)}else a&&(e-=3)>-1&&i.push(239,191,189);if(a=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function B(t){return n.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(D,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function N(t,e,r,n){for(var a=0;a<n&&!(a+r>=e.length||a>=t.length);++a)e[a+r]=t[a];return a}function j(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}}).call(this,t(\"buffer\").Buffer)},{\"base64-js\":76,buffer:107,ieee754:414}],108:[function(t,e,r){\"use strict\";var n=t(\"./lib/monotone\"),a=t(\"./lib/triangulation\"),i=t(\"./lib/delaunay\"),o=t(\"./lib/filter\");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,\"delaunay\",!0),h=!!c(r,\"interior\",!0),f=!!c(r,\"exterior\",!0),p=!!c(r,\"infinity\",!1);if(!h&&!f||0===t.length)return[];var d=n(t,e);if(u||h!==f||p){for(var g=a(t.length,function(t){return t.map(s).sort(l)}(e)),v=0;v<d.length;++v){var m=d[v];g.addTriangle(m[0],m[1],m[2])}return u&&i(t,g),f?h?p?o(g,0,p):g.cells():o(g,1,p):o(g,-1)}return d}},{\"./lib/delaunay\":109,\"./lib/filter\":110,\"./lib/monotone\":111,\"./lib/triangulation\":112}],109:[function(t,e,r){\"use strict\";var n=t(\"robust-in-sphere\")[4];t(\"binary-search-bounds\");function a(t,e,r,a,i,o){var s=e.opposite(a,i);if(!(s<0)){if(i<a){var l=a;a=i,i=l,l=o,o=s,s=l}e.isConstraint(a,i)||n(t[a],t[i],t[o],t[s])<0&&r.push(a,i)}}e.exports=function(t,e){for(var r=[],i=t.length,o=e.stars,s=0;s<i;++s)for(var l=o[s],c=1;c<l.length;c+=2){var u=l[c];if(!(u<s)&&!e.isConstraint(s,u)){for(var h=l[c-1],f=-1,p=1;p<l.length;p+=2)if(l[p-1]===u){f=l[p];break}f<0||n(t[s],t[u],t[h],t[f])<0&&r.push(s,u)}}for(;r.length>0;){for(var u=r.pop(),s=r.pop(),h=-1,f=-1,l=o[s],d=1;d<l.length;d+=2){var g=l[d-1],v=l[d];g===u?f=v:v===u&&(h=g)}h<0||f<0||(n(t[s],t[u],t[h],t[f])>=0||(e.flip(s,u),a(t,e,r,h,s,f),a(t,e,r,s,f,h),a(t,e,r,f,u,h),a(t,e,r,u,h,f)))}}},{\"binary-search-bounds\":113,\"robust-in-sphere\":507}],110:[function(t,e,r){\"use strict\";var n,a=t(\"binary-search-bounds\");function i(t,e,r,n,a,i,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=a,this.next=i,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,a=0;a<n;++a){var s=r[a],l=s[0],c=s[1],u=s[2];c<u?c<l&&(s[0]=c,s[1]=u,s[2]=l):u<l&&(s[0]=u,s[1]=l,s[2]=c)}r.sort(o);for(var h=new Array(n),a=0;a<h.length;++a)h[a]=0;var f=[],p=[],d=new Array(3*n),g=new Array(3*n),v=null;e&&(v=[]);for(var m=new i(r,d,g,h,f,p,v),a=0;a<n;++a)for(var s=r[a],y=0;y<3;++y){var l=s[y],c=s[(y+1)%3],x=d[3*a+y]=m.locate(c,l,t.opposite(c,l)),b=g[3*a+y]=t.isConstraint(l,c);x<0&&(b?p.push(a):(f.push(a),h[a]=1),e&&v.push([c,l,-1]))}return m}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var a=1,s=n.active,l=n.next,c=n.flags,u=n.cells,h=n.constraint,f=n.neighbor;for(;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-a){c[p]=a;u[p];for(var d=0;d<3;++d){var g=f[3*p+d];g>=0&&0===c[g]&&(h[3*p+d]?l.push(g):(s.push(g),c[g]=a))}}}var v=l;l=s,s=v,l.length=0,a=-a}var m=function(t,e,r){for(var n=0,a=0;a<t.length;++a)e[a]===r&&(t[n++]=t[a]);return t.length=n,t}(u,c,e);if(r)return m.concat(n.boundary);return m},i.prototype.locate=(n=[0,0,0],function(t,e,r){var i=t,s=e,l=r;return e<r?e<t&&(i=e,s=r,l=t):r<t&&(i=r,s=t,l=e),i<0?-1:(n[0]=i,n[1]=s,n[2]=l,a.eq(this.cells,n,o))})},{\"binary-search-bounds\":113}],111:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),a=t(\"robust-orientation\")[3],i=0,o=1,s=2;function l(t,e,r,n,a){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=a}function c(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function u(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==i&&(r=a(t.a,t.b,e.b))?r:t.idx-e.idx)}function h(t,e){return a(t.a,t.b,e)}function f(t,e,r,i,o){for(var s=n.lt(e,i,h),l=n.gt(e,i,h),c=s;c<l;++c){for(var u=e[c],f=u.lowerIds,p=f.length;p>1&&a(r[f[p-2]],r[f[p-1]],i)>0;)t.push([f[p-1],f[p-2],o]),p-=1;f.length=p,f.push(o);var d=u.upperIds;for(p=d.length;p>1&&a(r[d[p-2]],r[d[p-1]],i)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function p(t,e){var r;return(r=t.a[0]<e.a[0]?a(t.a,t.b,e.a):a(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?a(t.a,t.b,e.b):a(e.b,e.a,t.b))||t.idx-e.idx}function d(t,e,r){var a=n.le(t,r,p),i=t[a],o=i.upperIds,s=o[o.length-1];i.upperIds=[s],t.splice(a+1,0,new l(r.a,r.b,r.idx,[s],o))}function g(t,e,r){var a=r.a;r.a=r.b,r.b=a;var i=n.eq(t,r,p),o=t[i];t[i-1].upperIds=o.upperIds,t.splice(i,1)}e.exports=function(t,e){for(var r=t.length,n=e.length,a=[],h=0;h<r;++h)a.push(new c(t[h],null,i,h));for(var h=0;h<n;++h){var p=e[h],v=t[p[0]],m=t[p[1]];v[0]<m[0]?a.push(new c(v,m,s,h),new c(m,v,o,h)):v[0]>m[0]&&a.push(new c(m,v,s,h),new c(v,m,o,h))}a.sort(u);for(var y=a[0].a[0]-(1+Math.abs(a[0].a[0]))*Math.pow(2,-52),x=[new l([y,1],[y,0],-1,[],[],[],[])],b=[],h=0,_=a.length;h<_;++h){var w=a[h],k=w.type;k===i?f(b,x,t,w.a,w.idx):k===s?d(x,t,w):g(x,t,w)}return b}},{\"binary-search-bounds\":113,\"robust-orientation\":509}],112:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\");function a(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new a(r,e)};var i=a.prototype;function o(t,e,r){for(var n=1,a=t.length;n<a;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[a-2],t[n]=t[a-1],void(t.length=a-2)}i.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,a){return t[0]=Math.min(r,a),t[1]=Math.max(r,a),n.eq(this.edges,t,e)>=0}}(),i.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},i.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},i.opposite=function(t,e){for(var r=this.stars[e],n=1,a=r.length;n<a;n+=2)if(r[n]===t)return r[n-1];return-1},i.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},i.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;i+=2)e.push([a[i],a[i+1]]);return e},i.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;i+=2){var s=a[i],l=a[i+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{\"binary-search-bounds\":113}],113:[function(t,e,r){\"use strict\";function n(t,e,r,n,a){var i=[\"function \",t,\"(a,l,h,\",n.join(\",\"),\"){\",a?\"\":\"var i=\",r?\"l-1\":\"h+1\",\";while(l<=h){var m=(l+h)>>>1,x=a[m]\"];return a?e.indexOf(\"c\")<0?i.push(\";if(x===y){return m}else if(x<=y){\"):i.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\"):i.push(\";if(\",e,\"){i=m;\"),r?i.push(\"l=m+1}else{h=m-1}\"):i.push(\"h=m-1}else{l=m+1}\"),i.push(\"}\"),a?i.push(\"return -1};\"):i.push(\"return i};\"),i.join(\"\")}function a(t,e,r,a){return new Function([n(\"A\",\"x\"+t+\"y\",e,[\"y\"],a),n(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],a),\"function dispatchBsearch\",r,\"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch\",r].join(\"\"))()}e.exports={ge:a(\">=\",!1,\"GE\"),gt:a(\">\",!1,\"GT\"),lt:a(\"<\",!0,\"LT\"),le:a(\"<=\",!0,\"LE\"),eq:a(\"-\",!0,\"EQ\",!0)}},{}],114:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],115:[function(t,e,r){\"use strict\";var n=t(\"dup\"),a=t(\"robust-linear-solve\");function i(t,e){for(var r=0,n=t.length,a=0;a<n;++a)r+=t[a]*e[a];return r}function o(t){var e=t.length;if(0===e)return[];t[0].length;var r=n([t.length+1,t.length+1],1),o=n([t.length+1],1);r[e][e]=0;for(var s=0;s<e;++s){for(var l=0;l<=s;++l)r[l][s]=r[s][l]=2*i(t[s],t[l]);o[s]=i(t[s],t[s])}var c=a(r,o),u=0,h=c[e+1];for(s=0;s<h.length;++s)u+=h[s];var f=new Array(e);for(s=0;s<e;++s){h=c[s];var p=0;for(l=0;l<h.length;++l)p+=h[l];f[s]=p/u}return f}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),a=o(t),i=0;i<t.length;++i)for(var s=0;s<e;++s)r[s]+=t[i][s]*a[i];return r}s.barycenetric=o,e.exports=s},{dup:172,\"robust-linear-solve\":508}],116:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,a=0;a<t.length;++a)for(var i=t[a],o=0;o<e.length;++o)r+=Math.pow(i[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t(\"circumcenter\")},{circumcenter:115}],117:[function(t,e,r){e.exports=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}},{}],118:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n;if(r){n=e;for(var a=new Array(e.length),i=0;i<e.length;++i){var o=e[i];a[i]=[o[0],o[1],r[i]]}e=a}var s=function(t,e,r){var n=d(t,[],p(t));return m(e,n,r),!!n}(t,e,!!r);for(;y(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(var i=0;i<e.length;++i){var o=e[i];n.push([o[0],o[1]]),r.push(o[2])}}return s};var n=t(\"union-find\"),a=t(\"box-intersect\"),i=t(\"robust-segment-intersect\"),o=t(\"big-rat\"),s=t(\"big-rat/cmp\"),l=t(\"big-rat/to-float\"),c=t(\"rat-vec\"),u=t(\"nextafter\"),h=t(\"./lib/rat-seg-intersect\");function f(t){var e=l(t);return[u(e,-1/0),u(e,1/0)]}function p(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[u(n[0],-1/0),u(n[1],-1/0),u(n[0],1/0),u(n[1],1/0)]}return e}function d(t,e,r){for(var i=e.length,o=new n(i),s=[],l=0;l<e.length;++l){var c=e[l],h=f(c[0]),p=f(c[1]);s.push([u(h[0],-1/0),u(p[0],-1/0),u(h[1],1/0),u(p[1],1/0)])}a(s,function(t,e){o.link(t,e)});var d=!0,g=new Array(i);for(l=0;l<i;++l){(m=o.find(l))!==l&&(d=!1,t[m]=[Math.min(t[l][0],t[m][0]),Math.min(t[l][1],t[m][1])])}if(d)return null;var v=0;for(l=0;l<i;++l){var m;(m=o.find(l))===l?(g[l]=v,t[v++]=t[l]):g[l]=-1}t.length=v;for(l=0;l<i;++l)g[l]<0&&(g[l]=g[o.find(l)]);return g}function g(t,e){return t[0]-e[0]||t[1]-e[1]}function v(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function m(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var a=e[(o=t[n])[0]],i=e[o[1]];o[0]=Math.min(a,i),o[1]=Math.max(a,i)}else for(n=0;n<t.length;++n){var o;a=(o=t[n])[0],i=o[1];o[0]=Math.min(a,i),o[1]=Math.max(a,i)}r?t.sort(v):t.sort(g);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],c=t[n];(c[0]!==l[0]||c[1]!==l[1]||r&&c[2]!==l[2])&&(t[s++]=c)}t.length=s}}function y(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var a=e[n],i=t[a[0]],o=t[a[1]];r[n]=[u(Math.min(i[0],o[0]),-1/0),u(Math.min(i[1],o[1]),-1/0),u(Math.max(i[0],o[0]),1/0),u(Math.max(i[1],o[1]),1/0)]}return r}(t,e),f=function(t,e,r){var n=[];return a(r,function(r,a){var o=e[r],s=e[a];if(o[0]!==s[0]&&o[0]!==s[1]&&o[1]!==s[0]&&o[1]!==s[1]){var l=t[o[0]],c=t[o[1]],u=t[s[0]],h=t[s[1]];i(l,c,u,h)&&n.push([r,a])}}),n}(t,e,n),g=p(t),v=function(t,e,r,n){var o=[];return a(r,n,function(r,n){var a=e[r];if(a[0]!==n&&a[1]!==n){var s=t[n],l=t[a[0]],c=t[a[1]];i(l,c,s,s)&&o.push([r,n])}}),o}(t,e,n,g),y=d(t,function(t,e,r,n,a){var i,u,f=t.map(function(t){return[o(t[0]),o(t[1])]});for(i=0;i<r.length;++i){var p=r[i];u=p[0];var d=p[1],g=e[u],v=e[d],m=h(c(t[g[0]]),c(t[g[1]]),c(t[v[0]]),c(t[v[1]]));if(m){var y=t.length;t.push([l(m[0]),l(m[1])]),f.push(m),n.push([u,y],[d,y])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=f[t[1]],n=f[e[1]];return s(r[0],n[0])||s(r[1],n[1])}),i=n.length-1;i>=0;--i){var x=e[u=(S=n[i])[0]],b=x[0],_=x[1],w=t[b],k=t[_];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(a&&(M=x[2]);i>0&&n[i-1][0]===u;){var S,E=(S=n[--i])[1];a?e.push([A,E,M]):e.push([A,E]),A=E}a?e.push([A,_,M]):e.push([A,_])}return f}(t,e,f,v,r));return m(e,y,r),!!y||(f.length>0||v.length>0)}},{\"./lib/rat-seg-intersect\":119,\"big-rat\":80,\"big-rat/cmp\":78,\"big-rat/to-float\":92,\"box-intersect\":98,nextafter:453,\"rat-vec\":488,\"robust-segment-intersect\":512,\"union-find\":545}],119:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i=s(e,t),h=s(n,r),f=u(i,h);if(0===o(f))return null;var p=s(t,r),d=u(h,p),g=a(d,f),v=c(i,g);return l(t,v)};var n=t(\"big-rat/mul\"),a=t(\"big-rat/div\"),i=t(\"big-rat/sub\"),o=t(\"big-rat/sign\"),s=t(\"rat-vec/sub\"),l=t(\"rat-vec/add\"),c=t(\"rat-vec/muls\");function u(t,e){return i(n(t[0],e[1]),n(t[1],e[0]))}},{\"big-rat/div\":79,\"big-rat/mul\":89,\"big-rat/sign\":90,\"big-rat/sub\":91,\"rat-vec/add\":487,\"rat-vec/muls\":489,\"rat-vec/sub\":490}],120:[function(t,e,r){\"use strict\";var n=t(\"clamp\");function a(t,e){null==e&&(e=!0);var r=t[0],a=t[1],i=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,a*=255,i*=255,o*=255),16777216*(r=255&n(r,0,255))+((a=255&n(a,0,255))<<16)+((i=255&n(i,0,255))<<8)+(o=255&n(o,0,255))}e.exports=a,e.exports.to=a,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,a=(65280&t)>>>8,i=255&t;return!1===e?[r,n,a,i]:[r/255,n/255,a/255,i/255]}},{clamp:117}],121:[function(t,e,r){\"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]}},{}],122:[function(t,e,r){\"use strict\";var n=t(\"color-rgba\"),a=t(\"clamp\"),i=t(\"dtype\");e.exports=function(t,e){\"float\"!==e&&e||(e=\"array\"),\"uint\"===e&&(e=\"uint8\"),\"uint_clamped\"===e&&(e=\"uint8_clamped\");var r=new(i(e))(4),o=\"uint8\"!==e&&\"uint8_clamped\"!==e;return t.length&&\"string\"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=a(Math.floor(255*t[0]),0,255),r[1]=a(Math.floor(255*t[1]),0,255),r[2]=a(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:a(Math.floor(255*t[3]),0,255)),r)}},{clamp:117,\"color-rgba\":124,dtype:171}],123:[function(t,e,r){(function(r){\"use strict\";var n=t(\"color-name\"),a=t(\"is-plain-obj\"),i=t(\"defined\");e.exports=function(t){var e,s,l=[],c=1;if(\"string\"==typeof t)if(n[t])l=n[t].slice(),s=\"rgb\";else if(\"transparent\"===t)c=0,s=\"rgb\",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1),h=u.length,f=h<=4;c=1,f?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===h&&(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===h&&(c=parseInt(u[6]+u[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s=\"rgb\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(t)){var p=e[1],d=\"rgb\"===p,u=p.replace(/a$/,\"\");s=u;var h=\"cmyk\"===u?4:\"gray\"===u?1:3;l=e[2].trim().split(/\\s*,\\s*/).map(function(t,e){if(/%$/.test(t))return e===h?parseFloat(t)/100:\"rgb\"===u?255*parseFloat(t)/100:parseFloat(t);if(\"h\"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),p===u&&l.push(1),c=d?1:void 0===l[h]?1:l[h],l=l.slice(0,h)}else t.length>10&&/[0-9](?:\\s|\\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),s=t.match(/([a-z])/gi).join(\"\").toLowerCase());else if(isNaN(t))if(a(t)){var g=i(t.r,t.red,t.R,null);null!==g?(s=\"rgb\",l=[g,i(t.g,t.green,t.G),i(t.b,t.blue,t.B)]):(s=\"hsl\",l=[i(t.h,t.hue,t.H),i(t.s,t.saturation,t.S),i(t.l,t.lightness,t.L,t.b,t.brightness)]),c=i(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s=\"rgb\",c=4===t.length?t[3]:1);else s=\"rgb\",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"color-name\":121,defined:166,\"is-plain-obj\":424}],124:[function(t,e,r){\"use strict\";var n=t(\"color-parse\"),a=t(\"color-space/hsl\"),i=t(\"clamp\");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=i(r.values[0],0,255),e[1]=i(r.values[1],0,255),e[2]=i(r.values[2],0,255),\"h\"===r.space[0]&&(e=a.rgb(e)),e.push(i(r.alpha,0,1)),e):[]}},{clamp:117,\"color-parse\":123,\"color-space/hsl\":125}],125:[function(t,e,r){\"use strict\";var n=t(\"./rgb\");e.exports={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(t){var e,r,n,a,i,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[i=255*l,i,i];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,i=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,a[c]=255*i;return a}},n.hsl=function(t){var e,r,n=t[0]/255,a=t[1]/255,i=t[2]/255,o=Math.min(n,a,i),s=Math.max(n,a,i),l=s-o;return s===o?e=0:n===s?e=(a-i)/l:a===s?e=2+(i-n)/l:i===s&&(e=4+(n-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{\"./rgb\":126}],126:[function(t,e,r){\"use strict\";e.exports={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}},{}],127:[function(t,e,r){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]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,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]}]}},{}],128:[function(t,e,r){\"use strict\";var n=t(\"./colorScale\"),a=t(\"lerp\");function i(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r=\"#\",n=0;n<3;++n)r+=(\"00\"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return\"rgba(\"+t.join(\",\")+\")\"}e.exports=function(t){var e,r,l,c,u,h,f,p,d,g;t||(t={});p=(t.nshades||72)-1,f=t.format||\"hex\",(h=t.colormap)||(h=\"jet\");if(\"string\"==typeof h){if(h=h.toLowerCase(),!n[h])throw Error(h+\" not a supported colorscale\");u=n[h]}else{if(!Array.isArray(h))throw Error(\"unsupported colormap option\",h);u=h.slice()}if(u.length>p+1)throw new Error(h+\" map requires nshades to be at least size \"+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():\"number\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map(function(t){return Math.round(t.index*p)}),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var v=u.map(function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=d[0]+(d[1]-d[0])*r,n)}),m=[];for(g=0;g<e.length-1;++g){c=e[g+1]-e[g],r=v[g],l=v[g+1];for(var y=0;y<c;y++){var x=y/c;m.push([Math.round(a(r[0],l[0],x)),Math.round(a(r[1],l[1],x)),Math.round(a(r[2],l[2],x)),a(r[3],l[3],x)])}}m.push(u[u.length-1].rgb.concat(d[1])),\"hex\"===f?m=m.map(o):\"rgbaString\"===f?m=m.map(s):\"float\"===f&&(m=m.map(i));return m}},{\"./colorScale\":127,lerp:427}],129:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i){var o=n(e,r,i);if(0===o){var s=a(n(t,e,r)),c=a(n(t,e,i));if(s===c){if(0===s){var u=l(t,e,r),h=l(t,e,i);return u===h?0:u?1:-1}return 0}return 0===c?s>0?-1:l(t,e,i)?-1:1:0===s?c>0?1:l(t,e,r)?1:-1:a(c-s)}var f=n(t,e,r);if(f>0)return o>0&&n(t,e,i)>0?1:-1;if(f<0)return o>0||n(t,e,i)>0?1:-1;var p=n(t,e,i);return p>0?1:l(t,e,r)?1:-1};var n=t(\"robust-orientation\"),a=t(\"signum\"),i=t(\"two-sum\"),o=t(\"robust-product\"),s=t(\"robust-sum\");function l(t,e,r){var n=i(t[0],-e[0]),a=i(t[1],-e[1]),l=i(r[0],-e[0]),c=i(r[1],-e[1]),u=s(o(n,l),o(a,c));return u[u.length-1]>=0}},{\"robust-orientation\":509,\"robust-product\":510,\"robust-sum\":514,signum:515,\"two-sum\":543}],130:[function(t,e,r){e.exports=function(t,e){var r=t.length,i=t.length-e.length;if(i)return i;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(i=o+t[2]-(s+e[2]))return i;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],h=t[1],f=t[2],p=t[3],d=e[0],g=e[1],v=e[2],m=e[3];return u+h+f+p-(d+g+v+m)||n(u,h,f,p)-n(d,g,v,m,d)||n(u+h,u+f,u+p,h+f,h+p,f+p)-n(d+g,d+v,d+m,g+v,g+m,v+m)||n(u+h+f,u+h+p,u+f+p,h+f+p)-n(d+g+v,d+g+m,d+v+m,g+v+m);default:for(var y=t.slice().sort(a),x=e.slice().sort(a),b=0;b<r;++b)if(i=y[b]-x[b])return i;return 0}};var n=Math.min;function a(t,e){return t-e}},{}],131:[function(t,e,r){\"use strict\";var n=t(\"compare-cell\"),a=t(\"cell-orientation\");e.exports=function(t,e){return n(t,e)||a(t)-a(e)}},{\"cell-orientation\":114,\"compare-cell\":130}],132:[function(t,e,r){\"use strict\";var n=t(\"./lib/ch1d\"),a=t(\"./lib/ch2d\"),i=t(\"./lib/chnd\");e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;if(0===r)return[];if(1===r)return n(t);if(2===r)return a(t);return i(t,r)}},{\"./lib/ch1d\":133,\"./lib/ch2d\":134,\"./lib/chnd\":135}],133:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}},{}],134:[function(t,e,r){\"use strict\";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var a=new Array(r),i=e[r-1],o=0;o<r;++o){var s=e[o];a[o]=[i,s],i=s}return a};var n=t(\"monotone-convex-hull-2d\")},{\"monotone-convex-hull-2d\":436}],135:[function(t,e,r){\"use strict\";e.exports=function(t,e){try{return n(t,!0)}catch(s){var r=a(t);if(r.length<=e)return[];var i=function(t,e){for(var r=t.length,n=new Array(r),a=0;a<e.length;++a)n[a]=t[e[a]];for(var i=e.length,a=0;a<r;++a)e.indexOf(a)<0&&(n[i++]=t[a]);return n}(t,r),o=n(i,!0);return function(t,e){for(var r=t.length,n=e.length,a=0;a<r;++a)for(var i=t[a],o=0;o<i.length;++o){var s=i[o];if(s<n)i[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);i[o]=s}}return t}(o,r)}};var n=t(\"incremental-convex-hull\"),a=t(\"affine-hull\")},{\"affine-hull\":65,\"incremental-convex-hull\":415}],136:[function(t,e,r){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|\\xe7)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|\\xe9)union\",ROU:\"r(o|u|ou)mania\",RUS:\"\\\\brussia|soviet.?union|u\\\\.?s\\\\.?s\\\\.?r|socialist.?republics\",RWA:\"rwanda\",BLM:\"barth(e|\\xe9)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|\\xe3)o.?tom(e|\\xe9)\",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\"}},{}],137:[function(t,e,r){e.exports=[\"xx-small\",\"x-small\",\"small\",\"medium\",\"large\",\"x-large\",\"xx-large\",\"larger\",\"smaller\"]},{}],138:[function(t,e,r){e.exports=[\"normal\",\"condensed\",\"semi-condensed\",\"extra-condensed\",\"ultra-condensed\",\"expanded\",\"semi-expanded\",\"extra-expanded\",\"ultra-expanded\"]},{}],139:[function(t,e,r){e.exports=[\"normal\",\"italic\",\"oblique\"]},{}],140:[function(t,e,r){e.exports=[\"normal\",\"bold\",\"bolder\",\"lighter\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"]},{}],141:[function(t,e,r){\"use strict\";e.exports={parse:t(\"./parse\"),stringify:t(\"./stringify\")}},{\"./parse\":143,\"./stringify\":144}],142:[function(t,e,r){\"use strict\";var n=t(\"css-font-size-keywords\");e.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||-1!==t.indexOf(\"/\")||-1!==n.indexOf(t)}}},{\"css-font-size-keywords\":137}],143:[function(t,e,r){\"use strict\";var n=t(\"unquote\"),a=t(\"css-global-keywords\"),i=t(\"css-system-font-keywords\"),o=t(\"css-font-weight-keywords\"),s=t(\"css-font-style-keywords\"),l=t(\"css-font-stretch-keywords\"),c=t(\"string-split-by\"),u=t(\"./lib/util\").isSize;e.exports=f;var h=f.cache={};function f(t){if(\"string\"!=typeof t)throw new Error(\"Font argument must be a string.\");if(h[t])return h[t];if(\"\"===t)throw new Error(\"Cannot parse an empty string.\");if(-1!==i.indexOf(t))return h[t]={system:t};for(var e,r={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},f=c(t,/\\s+/);e=f.shift();){if(-1!==a.indexOf(e))return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach(function(t){r[t]=e}),h[t]=r;if(-1===s.indexOf(e))if(\"normal\"!==e&&\"small-caps\"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,\"/\");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):\"/\"===f[0]&&(f.shift(),r.lineHeight=p(f.shift())),!f.length)throw new Error(\"Missing required font-family.\");return r.family=c(f.join(\" \"),/\\s*,\\s*/).map(n),h[t]=r}throw new Error(\"Unknown or unsupported font token: \"+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error(\"Missing required font-size.\")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},{\"./lib/util\":142,\"css-font-stretch-keywords\":138,\"css-font-style-keywords\":139,\"css-font-weight-keywords\":140,\"css-global-keywords\":145,\"css-system-font-keywords\":146,\"string-split-by\":528,unquote:547}],144:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\"),a=t(\"./lib/util\").isSize,i=g(t(\"css-global-keywords\")),o=g(t(\"css-system-font-keywords\")),s=g(t(\"css-font-weight-keywords\")),l=g(t(\"css-font-style-keywords\")),c=g(t(\"css-font-stretch-keywords\")),u={normal:1,\"small-caps\":1},h={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},f=\"1rem\",p=\"serif\";function d(t,e){if(t&&!e[t]&&!i[t])throw Error(\"Unknown keyword `\"+t+\"`\");return t}function g(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t){if((t=n(t,{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 t.system&&d(t.system,o),t.system;if(d(t.style,l),d(t.variant,u),d(t.weight,s),d(t.stretch,c),null==t.size&&(t.size=f),\"number\"==typeof t.size&&(t.size+=\"px\"),!a)throw Error(\"Bad size value `\"+t.size+\"`\");t.family||(t.family=p),Array.isArray(t.family)&&(t.family.length||(t.family=[p]),t.family=t.family.map(function(t){return h[t]?t:'\"'+t+'\"'}).join(\", \"));var e=[];return e.push(t.style),t.variant!==t.style&&e.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&e.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&e.push(t.stretch),e.push(t.size+(null==t.lineHeight||\"normal\"===t.lineHeight||t.lineHeight+\"\"==\"1\"?\"\":\"/\"+t.lineHeight)),e.push(t.family),e.filter(Boolean).join(\" \")}},{\"./lib/util\":142,\"css-font-stretch-keywords\":138,\"css-font-style-keywords\":139,\"css-font-weight-keywords\":140,\"css-global-keywords\":145,\"css-system-font-keywords\":146,\"pick-by-alias\":467}],145:[function(t,e,r){e.exports=[\"inherit\",\"initial\",\"unset\"]},{}],146:[function(t,e,r){e.exports=[\"caption\",\"icon\",\"menu\",\"message-box\",\"small-caption\",\"status-bar\"]},{}],147:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,a,i){var o=a-1,s=a*a,l=o*o,c=(1+2*a)*l,u=a*l,h=s*(3-2*a),f=s*o;if(t.length){i||(i=new Array(t.length));for(var p=t.length-1;p>=0;--p)i[p]=c*t[p]+u*e[p]+h*r[p]+f*n[p];return i}return c*t+u*e+h*r+f*n},e.exports.derivative=function(t,e,r,n,a,i){var o=6*a*a-6*a,s=3*a*a-4*a+1,l=-6*a*a+6*a,c=3*a*a-2*a;if(t.length){i||(i=new Array(t.length));for(var u=t.length-1;u>=0;--u)i[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return i}return o*t+s*e+l*r[u]+c*n}},{}],148:[function(t,e,r){\"use strict\";var n=t(\"./lib/thunk.js\");function a(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName=\"\",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new a;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i<r.length;++i){var o=r[i];if(\"array\"===o||\"object\"==typeof o&&o.blockIndices){if(e.argTypes[i]=\"array\",e.arrayArgs.push(i),e.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),e.shimArgs.push(\"array\"+i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error(\"cwise: pre() block may not reference array args\");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error(\"cwise: post() block may not reference array args\")}else if(\"scalar\"===o)e.scalarArgs.push(i),e.shimArgs.push(\"scalar\"+i);else if(\"index\"===o){if(e.indexArgs.push(i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error(\"cwise: pre() block may not reference array index\");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error(\"cwise: body() block may not write to array index\");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error(\"cwise: post() block may not reference array index\")}else if(\"shape\"===o){if(e.shapeArgs.push(i),i<e.pre.args.length&&e.pre.args[i].lvalue)throw new Error(\"cwise: pre() block may not write to array shape\");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error(\"cwise: body() block may not write to array shape\");if(i<e.post.args.length&&e.post.args[i].lvalue)throw new Error(\"cwise: post() block may not write to array shape\")}else{if(\"object\"!=typeof o||!o.offset)throw new Error(\"cwise: Unknown argument type \"+r[i]);e.argTypes[i]=\"offset\",e.offsetArgs.push({array:o.array,offset:o.offset}),e.offsetArgIndex.push(i)}}if(e.arrayArgs.length<=0)throw new Error(\"cwise: No array arguments specified\");if(e.pre.args.length>r.length)throw new Error(\"cwise: Too many arguments in pre() block\");if(e.body.args.length>r.length)throw new Error(\"cwise: Too many arguments in body() block\");if(e.post.args.length>r.length)throw new Error(\"cwise: Too many arguments in post() block\");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||\"cwise\",e.blockSize=t.blockSize||64,n(e)}},{\"./lib/thunk.js\":150}],149:[function(t,e,r){\"use strict\";var n=t(\"uniq\");function a(t,e,r){var n,a,i=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,h=0;for(n=0;n<i;++n)c.push([\"i\",n,\"=0\"].join(\"\"));for(a=0;a<o;++a)for(n=0;n<i;++n)h=u,u=t[n],0===n?c.push([\"d\",a,\"s\",n,\"=t\",a,\"p\",u].join(\"\")):c.push([\"d\",a,\"s\",n,\"=(t\",a,\"p\",u,\"-s\",h,\"*t\",a,\"p\",h,\")\"].join(\"\"));for(c.length>0&&l.push(\"var \"+c.join(\",\")),n=i-1;n>=0;--n)u=t[n],l.push([\"for(i\",n,\"=0;i\",n,\"<s\",u,\";++i\",n,\"){\"].join(\"\"));for(l.push(r),n=0;n<i;++n){for(h=u,u=t[n],a=0;a<o;++a)l.push([\"p\",a,\"+=d\",a,\"s\",n].join(\"\"));s&&(n>0&&l.push([\"index[\",h,\"]-=s\",h].join(\"\")),l.push([\"++index[\",u,\"]\"].join(\"\"))),l.push(\"}\")}return l.join(\"\\n\")}function i(t,e,r){for(var n=t.body,a=[],i=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,\"g\"),c=\"\",u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case\"offset\":var h=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[h].array,c=\"+q\"+h;case\"array\":c=\"p\"+u+c;var f=\"l\"+o,p=\"a\"+u;if(0===e.arrayBlockIndices[u])1===s.count?\"generic\"===r[u]?s.lvalue?(a.push([\"var \",f,\"=\",p,\".get(\",c,\")\"].join(\"\")),n=n.replace(l,f),i.push([p,\".set(\",c,\",\",f,\")\"].join(\"\"))):n=n.replace(l,[p,\".get(\",c,\")\"].join(\"\")):n=n.replace(l,[p,\"[\",c,\"]\"].join(\"\")):\"generic\"===r[u]?(a.push([\"var \",f,\"=\",p,\".get(\",c,\")\"].join(\"\")),n=n.replace(l,f),s.lvalue&&i.push([p,\".set(\",c,\",\",f,\")\"].join(\"\"))):(a.push([\"var \",f,\"=\",p,\"[\",c,\"]\"].join(\"\")),n=n.replace(l,f),s.lvalue&&i.push([p,\"[\",c,\"]=\",f].join(\"\")));else{for(var d=[s.name],g=[c],v=0;v<Math.abs(e.arrayBlockIndices[u]);v++)d.push(\"\\\\s*\\\\[([^\\\\]]+)\\\\]\"),g.push(\"$\"+(v+1)+\"*t\"+u+\"b\"+v);if(l=new RegExp(d.join(\"\"),\"g\"),c=g.join(\"+\"),\"generic\"===r[u])throw new Error(\"cwise: Generic arrays not supported in combination with blocks!\");n=n.replace(l,[p,\"[\",c,\"]\"].join(\"\"))}break;case\"scalar\":n=n.replace(l,\"Y\"+e.scalarArgs.indexOf(o));break;case\"index\":n=n.replace(l,\"index\");break;case\"shape\":n=n.replace(l,\"shape\")}}}return[a.join(\"\\n\"),n,i.join(\"\\n\")].join(\"\\n\").trim()}function o(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var a=t[n],i=a.match(/\\d+/);i=i?i[0]:\"\",0===a.charAt(0)?e[n]=\"u\"+a.charAt(1)+i:e[n]=a.charAt(0)+i,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join(\"\")}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,s=new Array(t.arrayArgs.length),l=new Array(t.arrayArgs.length),c=0;c<t.arrayArgs.length;++c)l[c]=e[2*c],s[c]=e[2*c+1];var u=[],h=[],f=[],p=[],d=[];for(c=0;c<t.arrayArgs.length;++c){t.arrayBlockIndices[c]<0?(f.push(0),p.push(r),u.push(r),h.push(r+t.arrayBlockIndices[c])):(f.push(t.arrayBlockIndices[c]),p.push(t.arrayBlockIndices[c]+r),u.push(0),h.push(t.arrayBlockIndices[c]));for(var g=[],v=0;v<s[c].length;v++)f[c]<=s[c][v]&&s[c][v]<p[c]&&g.push(s[c][v]-f[c]);d.push(g)}var m=[\"SS\"],y=[\"'use strict'\"],x=[];for(v=0;v<r;++v)x.push([\"s\",v,\"=SS[\",v,\"]\"].join(\"\"));for(c=0;c<t.arrayArgs.length;++c){for(m.push(\"a\"+c),m.push(\"t\"+c),m.push(\"p\"+c),v=0;v<r;++v)x.push([\"t\",c,\"p\",v,\"=t\",c,\"[\",f[c]+v,\"]\"].join(\"\"));for(v=0;v<Math.abs(t.arrayBlockIndices[c]);++v)x.push([\"t\",c,\"b\",v,\"=t\",c,\"[\",u[c]+v,\"]\"].join(\"\"))}for(c=0;c<t.scalarArgs.length;++c)m.push(\"Y\"+c);if(t.shapeArgs.length>0&&x.push(\"shape=SS.slice(0)\"),t.indexArgs.length>0){var b=new Array(r);for(c=0;c<r;++c)b[c]=\"0\";x.push([\"index=[\",b.join(\",\"),\"]\"].join(\"\"))}for(c=0;c<t.offsetArgs.length;++c){var _=t.offsetArgs[c],w=[];for(v=0;v<_.offset.length;++v)0!==_.offset[v]&&(1===_.offset[v]?w.push([\"t\",_.array,\"p\",v].join(\"\")):w.push([_.offset[v],\"*t\",_.array,\"p\",v].join(\"\")));0===w.length?x.push(\"q\"+c+\"=0\"):x.push([\"q\",c,\"=\",w.join(\"+\")].join(\"\"))}var k=n([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((x=x.concat(k)).length>0&&y.push(\"var \"+x.join(\",\")),c=0;c<t.arrayArgs.length;++c)y.push(\"p\"+c+\"|=0\");t.pre.body.length>3&&y.push(i(t.pre,t,l));var T=i(t.body,t,l),M=function(t){for(var e=0,r=t[0].length;e<r;){for(var n=1;n<t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(d);M<r?y.push(function(t,e,r,n){for(var i=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,c=[],u=0;u<o;++u)c.push([\"var offset\",u,\"=p\",u].join(\"\"));for(u=t;u<i;++u)c.push([\"for(var j\"+u+\"=SS[\",e[u],\"]|0;j\",u,\">0;){\"].join(\"\")),c.push([\"if(j\",u,\"<\",s,\"){\"].join(\"\")),c.push([\"s\",e[u],\"=j\",u].join(\"\")),c.push([\"j\",u,\"=0\"].join(\"\")),c.push([\"}else{s\",e[u],\"=\",s].join(\"\")),c.push([\"j\",u,\"-=\",s,\"}\"].join(\"\")),l&&c.push([\"index[\",e[u],\"]=j\",u].join(\"\"));for(u=0;u<o;++u){for(var h=[\"offset\"+u],f=t;f<i;++f)h.push([\"j\",f,\"*t\",u,\"p\",e[f]].join(\"\"));c.push([\"p\",u,\"=(\",h.join(\"+\"),\")\"].join(\"\"))}for(c.push(a(e,r,n)),u=t;u<i;++u)c.push(\"}\");return c.join(\"\\n\")}(M,d[0],t,T)):y.push(a(d[0],t,T)),t.post.body.length>3&&y.push(i(t.post,t,l)),t.debug&&console.log(\"-----Generated cwise routine for \",e,\":\\n\"+y.join(\"\\n\")+\"\\n----------\");var A=[t.funcName||\"unnamed\",\"_cwise_loop_\",s[0].join(\"s\"),\"m\",M,o(l)].join(\"\");return new Function([\"function \",A,\"(\",m.join(\",\"),\"){\",y.join(\"\\n\"),\"} return \",A].join(\"\"))()}},{uniq:546}],150:[function(t,e,r){\"use strict\";var n=t(\"./compile.js\");e.exports=function(t){var e=[\"'use strict'\",\"var CACHED={}\"],r=[],a=t.funcName+\"_cwise_thunk\";e.push([\"return function \",a,\"(\",t.shimArgs.join(\",\"),\"){\"].join(\"\"));for(var i=[],o=[],s=[[\"array\",t.arrayArgs[0],\".shape.slice(\",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?\",\"+t.arrayBlockIndices[0]+\")\":\")\"].join(\"\")],l=[],c=[],u=0;u<t.arrayArgs.length;++u){var h=t.arrayArgs[u];r.push([\"t\",h,\"=array\",h,\".dtype,\",\"r\",h,\"=array\",h,\".order\"].join(\"\")),i.push(\"t\"+h),i.push(\"r\"+h),o.push(\"t\"+h),o.push(\"r\"+h+\".join()\"),s.push(\"array\"+h+\".data\"),s.push(\"array\"+h+\".stride\"),s.push(\"array\"+h+\".offset|0\"),u>0&&(l.push(\"array\"+t.arrayArgs[0]+\".shape.length===array\"+h+\".shape.length+\"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push(\"array\"+t.arrayArgs[0]+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[0])+\"]===array\"+h+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[u])+\"]\"))}for(t.arrayArgs.length>1&&(e.push(\"if (!(\"+l.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same dimensionality!')\"),e.push(\"for(var shapeIndex=array\"+t.arrayArgs[0]+\".shape.length-\"+Math.abs(t.arrayBlockIndices[0])+\"; shapeIndex--\\x3e0;) {\"),e.push(\"if (!(\"+c.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same shape!')\"),e.push(\"}\")),u=0;u<t.scalarArgs.length;++u)s.push(\"scalar\"+t.scalarArgs[u]);return r.push([\"type=[\",o.join(\",\"),\"].join()\"].join(\"\")),r.push(\"proc=CACHED[type]\"),e.push(\"var \"+r.join(\",\")),e.push([\"if(!proc){\",\"CACHED[type]=proc=compile([\",i.join(\",\"),\"])}\",\"return proc(\",s.join(\",\"),\")}\"].join(\"\")),t.debug&&console.log(\"-----Generated thunk:\\n\"+e.join(\"\\n\")+\"\\n----------\"),new Function(\"compile\",e.join(\"\\n\"))(n.bind(void 0,t))}},{\"./compile.js\":149}],151:[function(t,e,r){e.exports=t(\"cwise-compiler\")},{\"cwise-compiler\":148}],152:[function(t,e,r){\"use strict\";var n,a=t(\"es5-ext/object/copy\"),i=t(\"es5-ext/object/normalize-options\"),o=t(\"es5-ext/object/valid-callable\"),s=t(\"es5-ext/object/map\"),l=t(\"es5-ext/object/valid-callable\"),c=t(\"es5-ext/object/valid-value\"),u=Function.prototype.bind,h=Object.defineProperty,f=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,i=c(e)&&l(e.value);return delete(n=a(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&f.call(this,t)?i:(e.value=u.call(i,r.resolveContext?r.resolveContext(this):this),h(this,t,e),this[t])},n},e.exports=function(t){var e=i(arguments[1]);return null!=e.resolveContext&&o(e.resolveContext),s(t,function(t,r){return n(r,t,e)})}},{\"es5-ext/object/copy\":192,\"es5-ext/object/map\":201,\"es5-ext/object/normalize-options\":202,\"es5-ext/object/valid-callable\":206,\"es5-ext/object/valid-value\":208}],153:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/object/assign\"),a=t(\"es5-ext/object/normalize-options\"),i=t(\"es5-ext/object/is-callable\"),o=t(\"es5-ext/string/#/contains\");(e.exports=function(t,e){var r,i,s,l,c;return arguments.length<2||\"string\"!=typeof t?(l=e,e=t,t=null):l=arguments[2],null==t?(r=s=!0,i=!1):(r=o.call(t,\"c\"),i=o.call(t,\"e\"),s=o.call(t,\"w\")),c={value:e,configurable:r,enumerable:i,writable:s},l?n(a(l),c):c}).gs=function(t,e,r){var s,l,c,u;return\"string\"!=typeof t?(c=r,r=e,e=t,t=null):c=arguments[3],null==e?e=void 0:i(e)?null==r?r=void 0:i(r)||(c=r,r=void 0):(c=e,e=r=void 0),null==t?(s=!0,l=!1):(s=o.call(t,\"c\"),l=o.call(t,\"e\")),u={get:e,set:r,configurable:s,enumerable:l},c?n(a(c),u):u}},{\"es5-ext/object/assign\":189,\"es5-ext/object/is-callable\":195,\"es5-ext/object/normalize-options\":202,\"es5-ext/string/#/contains\":209}],154:[function(t,e,r){var n;n=this,function(t){\"use strict\";function e(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function r(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}var n=r(e),a=n.right,i=n.left;function o(t,e){return[t,e]}function s(t){return null===t?NaN:+t}function l(t,e){var r,n,a=t.length,i=0,o=-1,l=0,c=0;if(null==e)for(;++o<a;)isNaN(r=s(t[o]))||(c+=(n=r-l)*(r-(l+=n/++i)));else for(;++o<a;)isNaN(r=s(e(t[o],o,t)))||(c+=(n=r-l)*(r-(l+=n/++i)));if(i>1)return c/(i-1)}function c(t,e){var r=l(t,e);return r?Math.sqrt(r):r}function u(t,e){var r,n,a,i=t.length,o=-1;if(null==e){for(;++o<i;)if(null!=(r=t[o])&&r>=r)for(n=a=r;++o<i;)null!=(r=t[o])&&(n>r&&(n=r),a<r&&(a=r))}else for(;++o<i;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=a=r;++o<i;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),a<r&&(a=r));return[n,a]}var h=Array.prototype,f=h.slice,p=h.map;function d(t){return function(){return t}}function g(t){return t}function v(t,e,r){t=+t,e=+e,r=(a=arguments.length)<2?(e=t,t=0,1):a<3?1:+r;for(var n=-1,a=0|Math.max(0,Math.ceil((e-t)/r)),i=new Array(a);++n<a;)i[n]=t+n*r;return i}var m=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),a=Math.floor(Math.log(n)/Math.LN10),i=n/Math.pow(10,a);return a>=0?(i>=m?10:i>=y?5:i>=x?2:1)*Math.pow(10,a):-Math.pow(10,-a)/(i>=m?10:i>=y?5:i>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),a=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),i=n/a;return i>=m?a*=10:i>=y?a*=5:i>=x&&(a*=2),e<t?-a:a}function w(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}function k(t,e,r){if(null==r&&(r=s),n=t.length){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,a=(n-1)*e,i=Math.floor(a),o=+r(t[i],i,t);return o+(+r(t[i+1],i+1,t)-o)*(a-i)}}function T(t,e){var r,n,a=t.length,i=-1;if(null==e){for(;++i<a;)if(null!=(r=t[i])&&r>=r)for(n=r;++i<a;)null!=(r=t[i])&&n>r&&(n=r)}else for(;++i<a;)if(null!=(r=e(t[i],i,t))&&r>=r)for(n=r;++i<a;)null!=(r=e(t[i],i,t))&&n>r&&(n=r);return n}function M(t){if(!(a=t.length))return[];for(var e=-1,r=T(t,A),n=new Array(r);++e<r;)for(var a,i=-1,o=n[e]=new Array(a);++i<a;)o[i]=t[i][e];return n}function A(t){return t.length}t.bisect=a,t.bisectRight=a,t.bisectLeft=i,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,a,i,s,l=t.length,c=e.length,u=new Array(l*c);for(null==r&&(r=o),n=i=0;n<l;++n)for(s=t[n],a=0;a<c;++a,++i)u[i]=r(s,e[a]);return u},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var i,o,s=n.length,l=new Array(s);for(i=0;i<s;++i)l[i]=t(n[i],i,n);var c=e(l),u=c[0],h=c[1],f=r(l,u,h);Array.isArray(f)||(f=_(u,h,f),f=v(Math.ceil(u/f)*f,h,f));for(var p=f.length;f[0]<=u;)f.shift(),--p;for(;f[p-1]>h;)f.pop(),--p;var d,g=new Array(p+1);for(i=0;i<=p;++i)(d=g[i]=[]).x0=i>0?f[i-1]:u,d.x1=i<p?f[i]:h;for(i=0;i<s;++i)u<=(o=l[i])&&o<=h&&g[a(f,o,0,p)].push(n[i]);return g}return n.value=function(e){return arguments.length?(t=\"function\"==typeof e?e:d(e),n):t},n.domain=function(t){return arguments.length?(e=\"function\"==typeof t?t:d([t[0],t[1]]),n):e},n.thresholds=function(t){return arguments.length?(r=\"function\"==typeof t?t:Array.isArray(t)?d(f.call(t)):d(t),n):r},n},t.thresholdFreedmanDiaconis=function(t,r,n){return t=p.call(t,s).sort(e),Math.ceil((n-r)/(2*(k(t,.75)-k(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*c(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,a=t.length,i=-1;if(null==e){for(;++i<a;)if(null!=(r=t[i])&&r>=r)for(n=r;++i<a;)null!=(r=t[i])&&r>n&&(n=r)}else for(;++i<a;)if(null!=(r=e(t[i],i,t))&&r>=r)for(n=r;++i<a;)null!=(r=e(t[i],i,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,a=n,i=-1,o=0;if(null==e)for(;++i<n;)isNaN(r=s(t[i]))?--a:o+=r;else for(;++i<n;)isNaN(r=s(e(t[i],i,t)))?--a:o+=r;if(a)return o/a},t.median=function(t,r){var n,a=t.length,i=-1,o=[];if(null==r)for(;++i<a;)isNaN(n=s(t[i]))||o.push(n);else for(;++i<a;)isNaN(n=s(r(t[i],i,t)))||o.push(n);return k(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,a=t.length,i=-1,o=0;++i<a;)o+=t[i].length;for(r=new Array(o);--a>=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r},t.min=T,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,a=t[0],i=new Array(n<0?0:n);r<n;)i[r]=e(a,a=t[++r]);return i},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=k,t.range=v,t.scan=function(t,r){if(n=t.length){var n,a,i=0,o=0,s=t[o];for(null==r&&(r=e);++i<n;)(r(a=t[i],s)<0||0!==r(s,s))&&(s=a,o=i);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,a,i=(null==r?t.length:r)-(e=null==e?0:+e);i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+e]=n;return t},t.sum=function(t,e){var r,n=t.length,a=-1,i=0;if(null==e)for(;++a<n;)(r=+t[a])&&(i+=r);else for(;++a<n;)(r=+e(t[a],a,t))&&(i+=r);return i},t.ticks=function(t,e,r){var n,a,i,o,s=-1;if(r=+r,(t=+t)==(e=+e)&&r>0)return[t];if((n=e<t)&&(a=t,t=e,e=a),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),i=new Array(a=Math.ceil(e-t+1));++s<a;)i[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),i=new Array(a=Math.ceil(t-e+1));++s<a;)i[s]=(t-s)/o;return n&&i.reverse(),i},t.tickIncrement=b,t.tickStep=_,t.transpose=M,t.variance=l,t.zip=function(){return M(arguments)},Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],155:[function(t,e,r){var n;n=this,function(t){\"use strict\";function e(){}function r(t,r){var n=new e;if(t instanceof e)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var a,i=-1,o=t.length;if(null==r)for(;++i<o;)n.set(i,t[i]);else for(;++i<o;)n.set(r(a=t[i],i,t),a)}else if(t)for(var s in t)n.set(s,t[s]);return n}function n(){return{}}function a(t,e,r){t[e]=r}function i(){return r()}function o(t,e,r){t.set(e,r)}function s(){}e.prototype=r.prototype={constructor:e,has:function(t){return\"$\"+t in this},get:function(t){return this[\"$\"+t]},set:function(t,e){return this[\"$\"+t]=e,this},remove:function(t){var e=\"$\"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)\"$\"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)\"$\"===e[0]&&++t;return t},empty:function(){for(var t in this)if(\"$\"===t[0])return!1;return!0},each:function(t){for(var e in this)\"$\"===e[0]&&t(this[e],e.slice(1),this)}};var l=r.prototype;function c(t,e){var r=new s;if(t instanceof s)t.each(function(t){r.add(t)});else if(t){var n=-1,a=t.length;if(null==e)for(;++n<a;)r.add(t[n]);else for(;++n<a;)r.add(e(t[n],n,t))}return r}s.prototype=c.prototype={constructor:s,has:l.has,add:function(t){return this[\"$\"+(t+=\"\")]=t,this},remove:l.remove,clear:l.clear,values:l.keys,size:l.size,empty:l.empty,each:l.each},t.nest=function(){var t,e,s,l=[],c=[];function u(n,a,i,o){if(a>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,h,f=-1,p=n.length,d=l[a++],g=r(),v=i();++f<p;)(h=g.get(s=d(c=n[f])+\"\"))?h.push(c):g.set(s,[c]);return g.each(function(t,e){o(v,e,u(t,a,i,o))}),v}return s={object:function(t){return u(t,0,n,a)},map:function(t){return u(t,0,i,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var a,i=c[n-1];return null!=e&&n>=l.length?a=r.entries():(a=[],r.each(function(e,r){a.push({key:r,values:t(e,n)})})),null!=i?a.sort(function(t,e){return i(t.key,e.key)}):a}(u(t,0,i,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],156:[function(t,e,r){var n;n=this,function(t){\"use strict\";function e(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var a=\"\\\\s*([+-]?\\\\d+)\\\\s*\",i=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",o=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",s=/^#([0-9a-f]{3,8})$/,l=new RegExp(\"^rgb\\\\(\"+[a,a,a]+\"\\\\)$\"),c=new RegExp(\"^rgb\\\\(\"+[o,o,o]+\"\\\\)$\"),u=new RegExp(\"^rgba\\\\(\"+[a,a,a,i]+\"\\\\)$\"),h=new RegExp(\"^rgba\\\\(\"+[o,o,o,i]+\"\\\\)$\"),f=new RegExp(\"^hsl\\\\(\"+[i,o,o]+\"\\\\)$\"),p=new RegExp(\"^hsla\\\\(\"+[i,o,o,i]+\"\\\\)$\"),d={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 g(){return this.rgb().formatHex()}function v(){return this.rgb().formatRgb()}function m(t){var e,r;return t=(t+\"\").trim().toLowerCase(),(e=s.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?y(e):3===r?new w(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?new w(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?new w(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=l.exec(t))?new w(e[1],e[2],e[3],1):(e=c.exec(t))?new w(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=u.exec(t))?x(e[1],e[2],e[3],e[4]):(e=h.exec(t))?x(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=f.exec(t))?A(e[1],e[2]/100,e[3]/100,1):(e=p.exec(t))?A(e[1],e[2]/100,e[3]/100,e[4]):d.hasOwnProperty(t)?y(d[t]):\"transparent\"===t?new w(NaN,NaN,NaN,0):null}function y(t){return new w(t>>16&255,t>>8&255,255&t,1)}function x(t,e,r,n){return n<=0&&(t=e=r=NaN),new w(t,e,r,n)}function b(t){return t instanceof n||(t=m(t)),t?new w((t=t.rgb()).r,t.g,t.b,t.opacity):new w}function _(t,e,r,n){return 1===arguments.length?b(t):new w(t,e,r,null==n?1:n)}function w(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function k(){return\"#\"+M(this.r)+M(this.g)+M(this.b)}function T(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(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+\")\")}function M(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?\"0\":\"\")+t.toString(16)}function A(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new L(t,e,r,n)}function S(t){if(t instanceof L)return new L(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=m(t)),!t)return new L;if(t instanceof L)return t;var e=(t=t.rgb()).r/255,r=t.g/255,a=t.b/255,i=Math.min(e,r,a),o=Math.max(e,r,a),s=NaN,l=o-i,c=(o+i)/2;return l?(s=e===o?(r-a)/l+6*(r<a):r===o?(a-e)/l+2:(e-r)/l+4,l/=c<.5?o+i:2-o-i,s*=60):l=c>0&&c<1?0:s,new L(s,l,c,t.opacity)}function E(t,e,r,n){return 1===arguments.length?S(t):new L(t,e,r,null==n?1:n)}function L(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function C(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,m,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:g,formatHex:g,formatHsl:function(){return S(this).formatHsl()},formatRgb:v,toString:v}),e(w,_,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},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:k,formatHex:k,formatRgb:T,toString:T})),e(L,E,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new L(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new L(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,r=this.l,n=r+(r<.5?r:1-r)*e,a=2*r-n;return new w(C(t>=240?t-240:t+120,a,n),C(t,a,n),C(t<120?t+240:t-120,a,n),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 t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"hsl(\":\"hsla(\")+(this.h||0)+\", \"+100*(this.s||0)+\"%, \"+100*(this.l||0)+\"%\"+(1===t?\")\":\", \"+t+\")\")}}));var P=Math.PI/180,O=180/Math.PI,z=.96422,I=1,D=.82521,R=4/29,F=6/29,B=3*F*F,N=F*F*F;function j(t){if(t instanceof U)return new U(t.l,t.a,t.b,t.opacity);if(t instanceof Z)return J(t);t instanceof w||(t=b(t));var e,r,n=Y(t.r),a=Y(t.g),i=Y(t.b),o=q((.2225045*n+.7168786*a+.0606169*i)/I);return n===a&&a===i?e=r=o:(e=q((.4360747*n+.3850649*a+.1430804*i)/z),r=q((.0139322*n+.0971045*a+.7141733*i)/D)),new U(116*o-16,500*(e-o),200*(o-r),t.opacity)}function V(t,e,r,n){return 1===arguments.length?j(t):new U(t,e,r,null==n?1:n)}function U(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function q(t){return t>N?Math.pow(t,1/3):t/B+R}function H(t){return t>F?t*t*t:B*(t-R)}function G(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Y(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function W(t){if(t instanceof Z)return new Z(t.h,t.c,t.l,t.opacity);if(t instanceof U||(t=j(t)),0===t.a&&0===t.b)return new Z(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*O;return new Z(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function X(t,e,r,n){return 1===arguments.length?W(t):new Z(t,e,r,null==n?1:n)}function Z(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}function J(t){if(isNaN(t.h))return new U(t.l,0,0,t.opacity);var e=t.h*P;return new U(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}e(U,V,r(n,{brighter:function(t){return new U(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new U(this.l-18*(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,r=isNaN(this.b)?t:t-this.b/200;return new w(G(3.1338561*(e=z*H(e))-1.6168667*(t=I*H(t))-.4906146*(r=D*H(r))),G(-.9787684*e+1.9161415*t+.033454*r),G(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(Z,X,r(n,{brighter:function(t){return new Z(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new Z(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return J(this).rgb()}}));var K=-.14861,Q=1.78277,$=-.29227,tt=-.90649,et=1.97294,rt=et*tt,nt=et*Q,at=Q*$-tt*K;function it(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof ot)return new ot(t.h,t.s,t.l,t.opacity);t instanceof w||(t=b(t));var e=t.r/255,r=t.g/255,n=t.b/255,a=(at*n+rt*e-nt*r)/(at+rt-nt),i=n-a,o=(et*(r-a)-$*i)/tt,s=Math.sqrt(o*o+i*i)/(et*a*(1-a)),l=s?Math.atan2(o,i)*O-120:NaN;return new ot(l<0?l+360:l,s,a,t.opacity)}(t):new ot(t,e,r,null==n?1:n)}function ot(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(ot,it,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new ot(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new ot(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*P,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),a=Math.sin(t);return new w(255*(e+r*(K*n+Q*a)),255*(e+r*($*n+tt*a)),255*(e+r*(et*n)),this.opacity)}})),t.color=m,t.cubehelix=it,t.gray=function(t,e){return new U(t,0,0,null==e?1:e)},t.hcl=X,t.hsl=E,t.lab=V,t.lch=function(t,e,r,n){return 1===arguments.length?W(t):new Z(r,e,t,null==n?1:n)},t.rgb=_,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:(n=n||self).d3=n.d3||{})},{}],157:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,a={};e<r;++e){if(!(t=arguments[e]+\"\")||t in a)throw new Error(\"illegal type: \"+t);a[t]=[]}return new n(a)}function n(t){this._=t}function a(t,e){for(var r,n=0,a=t.length;n<a;++n)if((r=t[n]).name===e)return r.value}function i(t,r,n){for(var a=0,i=t.length;a<i;++a)if(t[a].name===r){t[a]=e,t=t.slice(0,a).concat(t.slice(a+1));break}return null!=n&&t.push({name:r,value:n}),t}n.prototype=r.prototype={constructor:n,on:function(t,e){var r,n,o=this._,s=(n=o,(t+\"\").trim().split(/^|\\s+/).map(function(t){var e=\"\",r=t.indexOf(\".\");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);return{type:t,name:e}})),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&\"function\"!=typeof e)throw new Error(\"invalid callback: \"+e);for(;++l<c;)if(r=(t=s[l]).type)o[r]=i(o[r],t.name,e);else if(null==e)for(r in o)o[r]=i(o[r],t.name,null);return this}for(;++l<c;)if((r=(t=s[l]).type)&&(r=a(o[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new n(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,a=new Array(r),i=0;i<r;++i)a[i]=arguments[i+2];if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(i=0,r=(n=this._[t]).length;i<r;++i)n[i].value.apply(e,a)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(var n=this._[t],a=0,i=n.length;a<i;++a)n[a].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],158:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n,a){\"use strict\";var i=function(t){return function(){return t}},o=function(){return 1e-6*(Math.random()-.5)};function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function c(t){return t.index}function u(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function h(t){return t.x}function f(t){return t.y}var p=10,d=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,a,i=r.length,o=0,s=0;for(n=0;n<i;++n)o+=(a=r[n]).x,s+=a.y;for(o=o/i-t,s=s/i-e,n=0;n<i;++n)(a=r[n]).x-=o,a.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n},t.forceCollide=function(t){var r,n,a=1,c=1;function u(){for(var t,i,u,f,p,d,g,v=r.length,m=0;m<c;++m)for(i=e.quadtree(r,s,l).visitAfter(h),t=0;t<v;++t)u=r[t],d=n[u.index],g=d*d,f=u.x+u.vx,p=u.y+u.vy,i.visit(y);function y(t,e,r,n,i){var s=t.data,l=t.r,c=d+l;if(!s)return e>f+c||n<f-c||r>p+c||i<p-c;if(s.index>u.index){var h=f-s.x-s.vx,v=p-s.y-s.vy,m=h*h+v*v;m<c*c&&(0===h&&(m+=(h=o())*h),0===v&&(m+=(v=o())*v),m=(c-(m=Math.sqrt(m)))/m*a,u.vx+=(h*=m)*(c=(l*=l)/(g+l)),u.vy+=(v*=m)*c,s.vx-=h*(c=1-c),s.vy-=v*c)}}}function h(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function f(){if(r){var e,a,i=r.length;for(n=new Array(i),e=0;e<i;++e)a=r[e],n[a.index]=+t(a,e,r)}}return\"function\"!=typeof t&&(t=i(null==t?1:+t)),u.initialize=function(t){r=t,f()},u.iterations=function(t){return arguments.length?(c=+t,u):c},u.strength=function(t){return arguments.length?(a=+t,u):a},u.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:i(+e),f(),u):t},u},t.forceLink=function(t){var e,n,a,s,l,h=c,f=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=i(30),d=1;function g(r){for(var a=0,i=t.length;a<d;++a)for(var s,c,u,h,f,p,g,v=0;v<i;++v)c=(s=t[v]).source,h=(u=s.target).x+u.vx-c.x-c.vx||o(),f=u.y+u.vy-c.y-c.vy||o(),h*=p=((p=Math.sqrt(h*h+f*f))-n[v])/p*r*e[v],f*=p,u.vx-=h*(g=l[v]),u.vy-=f*g,c.vx+=h*(g=1-g),c.vy+=f*g}function v(){if(a){var i,o,c=a.length,f=t.length,p=r.map(a,h);for(i=0,s=new Array(c);i<f;++i)(o=t[i]).index=i,\"object\"!=typeof o.source&&(o.source=u(p,o.source)),\"object\"!=typeof o.target&&(o.target=u(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(i=0,l=new Array(f);i<f;++i)o=t[i],l[i]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(f),m(),n=new Array(f),y()}}function m(){if(a)for(var r=0,n=t.length;r<n;++r)e[r]=+f(t[r],r,t)}function y(){if(a)for(var e=0,r=t.length;e<r;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t){a=t,v()},g.links=function(e){return arguments.length?(t=e,v(),g):t},g.id=function(t){return arguments.length?(h=t,g):h},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(f=\"function\"==typeof t?t:i(+t),m(),g):f},g.distance=function(t){return arguments.length?(p=\"function\"==typeof t?t:i(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,a,s=i(-30),l=1,c=1/0,u=.81;function p(a){var i,o=t.length,s=e.quadtree(t,h,f).visitAfter(g);for(n=a,i=0;i<o;++i)r=t[i],s.visit(v)}function d(){if(t){var e,r,n=t.length;for(a=new Array(n),e=0;e<n;++e)r=t[e],a[r.index]=+s(r,e,t)}}function g(t){var e,r,n,i,o,s=0,l=0;if(t.length){for(n=i=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,i+=r*e.y);t.x=n/l,t.y=i/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=a[e.data.index]}while(e=e.next)}t.value=s}function v(t,e,i,s){if(!t.value)return!0;var h=t.x-r.x,f=t.y-r.y,p=s-e,d=h*h+f*f;if(p*p/u<d)return d<c&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)),r.vx+=h*t.value*n/d,r.vy+=f*t.value*n/d),!0;if(!(t.length||d>=c)){(t.data!==r||t.next)&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=a[t.data.index]*n/d,r.vx+=h*p,r.vy+=f*p)}while(t=t.next)}}return p.initialize=function(e){t=e,d()},p.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:i(+t),d(),p):s},p.distanceMin=function(t){return arguments.length?(l=t*t,p):Math.sqrt(l)},p.distanceMax=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p.theta=function(t){return arguments.length?(u=t*t,p):Math.sqrt(u)},p},t.forceRadial=function(t,e,r){var n,a,o,s=i(.1);function l(t){for(var i=0,s=n.length;i<s;++i){var l=n[i],c=l.x-e||1e-6,u=l.y-r||1e-6,h=Math.sqrt(c*c+u*u),f=(o[i]-h)*a[i]*t/h;l.vx+=c*f,l.vy+=u*f}}function c(){if(n){var e,r=n.length;for(a=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),a[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return\"function\"!=typeof t&&(t=i(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,c()},l.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:i(+t),c(),l):s},l.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:i(+e),c(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l},t.forceSimulation=function(t){var e,i=1,o=.001,s=1-Math.pow(o,1/300),l=0,c=.6,u=r.map(),h=a.timer(g),f=n.dispatch(\"tick\",\"end\");function g(){v(),f.call(\"tick\",e),i<o&&(h.stop(),f.call(\"end\",e))}function v(){var e,r,n=t.length;for(i+=(l-i)*s,u.each(function(t){t(i)}),e=0;e<n;++e)null==(r=t[e]).fx?r.x+=r.vx*=c:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=c:(r.y=r.fy,r.vy=0)}function m(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,isNaN(e.x)||isNaN(e.y)){var a=p*Math.sqrt(r),i=r*d;e.x=a*Math.cos(i),e.y=a*Math.sin(i)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function y(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),m(),e={tick:v,restart:function(){return h.restart(g),e},stop:function(){return h.stop(),e},nodes:function(r){return arguments.length?(t=r,m(),u.each(y),e):t},alpha:function(t){return arguments.length?(i=+t,e):i},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(s=+t,e):+s},alphaTarget:function(t){return arguments.length?(l=+t,e):l},velocityDecay:function(t){return arguments.length?(c=1-t,e):1-c},force:function(t,r){return arguments.length>1?(null==r?u.remove(t):u.set(t,y(r)),e):u.get(t)},find:function(e,r,n){var a,i,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c<u;++c)(o=(a=e-(s=t[c]).x)*a+(i=r-s.y)*i)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(f.on(t,r),e):f.on(t)}}},t.forceX=function(t){var e,r,n,a=i(.1);function o(t){for(var a,i=0,o=e.length;i<o;++i)(a=e[i]).vx+=(n[i]-a.x)*r[i]*t}function s(){if(e){var i,o=e.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+t(e[i],i,e))?0:+a(e[i],i,e)}}return\"function\"!=typeof t&&(t=i(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(a=\"function\"==typeof t?t:i(+t),s(),o):a},o.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:i(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,a=i(.1);function o(t){for(var a,i=0,o=e.length;i<o;++i)(a=e[i]).vy+=(n[i]-a.y)*r[i]*t}function s(){if(e){var i,o=e.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+t(e[i],i,e))?0:+a(e[i],i,e)}}return\"function\"!=typeof t&&(t=i(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(a=\"function\"==typeof t?t:i(+t),s(),o):a},o.y=function(e){return arguments.length?(t=\"function\"==typeof e?e:i(+e),s(),o):t},o},Object.defineProperty(t,\"__esModule\",{value:!0})},\"object\"==typeof r&&\"undefined\"!=typeof e?a(r,t(\"d3-quadtree\"),t(\"d3-collection\"),t(\"d3-dispatch\"),t(\"d3-timer\")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)},{\"d3-collection\":155,\"d3-dispatch\":157,\"d3-quadtree\":162,\"d3-timer\":164}],159:[function(t,e,r){var n;n=this,function(t){\"use strict\";function e(t,e){return t.parent===e.parent?1:2}function r(t,e){return t+e.x}function n(t,e){return Math.max(t,e.y)}function a(t){var e=0,r=t.children,n=r&&r.length;if(n)for(;--n>=0;)e+=r[n].value;else e=1;t.value=e}function i(t,e){var r,n,a,i,s,u=new c(t),h=+t.value&&(u.value=t.value),f=[u];for(null==e&&(e=o);r=f.pop();)if(h&&(r.value=+r.data.value),(a=e(r.data))&&(s=a.length))for(r.children=new Array(s),i=s-1;i>=0;--i)f.push(n=r.children[i]=new c(a[i])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(t){return t.children}function s(t){t.data=t.data.data}function l(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function c(t){this.data=t,this.depth=this.height=0,this.parent=null}c.prototype=i.prototype={constructor:c,count:function(){return this.eachAfter(a)},each:function(t){var e,r,n,a,i=this,o=[i];do{for(e=o.reverse(),o=[];i=e.pop();)if(t(i),r=i.children)for(n=0,a=r.length;n<a;++n)o.push(r[n])}while(o.length);return this},eachAfter:function(t){for(var e,r,n,a=this,i=[a],o=[];a=i.pop();)if(o.push(a),e=a.children)for(r=0,n=e.length;r<n;++r)i.push(e[r]);for(;a=o.pop();)t(a);return this},eachBefore:function(t){for(var e,r,n=this,a=[n];n=a.pop();)if(t(n),e=n.children)for(r=e.length-1;r>=0;--r)a.push(e[r]);return this},sum:function(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,n=e.children,a=n&&n.length;--a>=0;)r+=n[a].value;e.value=r})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),a=null;for(t=r.pop(),e=n.pop();t===e;)a=t,t=r.pop(),e=n.pop();return a}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var a=n.length;t!==r;)n.splice(a,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each(function(e){t.push(e)}),t},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e},copy:function(){return i(this).eachBefore(s)}};var u=Array.prototype.slice;function h(t){for(var e,r,n=0,a=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(u.call(t))).length,i=[];n<a;)e=t[n],r&&d(r,e)?++n:(r=v(i=f(i,e)),n=0);return r}function f(t,e){var r,n;if(g(e,t))return[e];for(r=0;r<t.length;++r)if(p(e,t[r])&&g(m(t[r],e),t))return[t[r],e];for(r=0;r<t.length-1;++r)for(n=r+1;n<t.length;++n)if(p(m(t[r],t[n]),e)&&p(m(t[r],e),t[n])&&p(m(t[n],e),t[r])&&g(y(t[r],t[n],e),t))return[t[r],t[n],e];throw new Error}function p(t,e){var r=t.r-e.r,n=e.x-t.x,a=e.y-t.y;return r<0||r*r<n*n+a*a}function d(t,e){var r=t.r-e.r+1e-6,n=e.x-t.x,a=e.y-t.y;return r>0&&r*r>n*n+a*a}function g(t,e){for(var r=0;r<e.length;++r)if(!d(t,e[r]))return!1;return!0}function v(t){switch(t.length){case 1:return{x:(e=t[0]).x,y:e.y,r:e.r};case 2:return m(t[0],t[1]);case 3:return y(t[0],t[1],t[2])}var e}function m(t,e){var r=t.x,n=t.y,a=t.r,i=e.x,o=e.y,s=e.r,l=i-r,c=o-n,u=s-a,h=Math.sqrt(l*l+c*c);return{x:(r+i+l/h*u)/2,y:(n+o+c/h*u)/2,r:(h+a+s)/2}}function y(t,e,r){var n=t.x,a=t.y,i=t.r,o=e.x,s=e.y,l=e.r,c=r.x,u=r.y,h=r.r,f=n-o,p=n-c,d=a-s,g=a-u,v=l-i,m=h-i,y=n*n+a*a-i*i,x=y-o*o-s*s+l*l,b=y-c*c-u*u+h*h,_=p*d-f*g,w=(d*b-g*x)/(2*_)-n,k=(g*v-d*m)/_,T=(p*x-f*b)/(2*_)-a,M=(f*m-p*v)/_,A=k*k+M*M-1,S=2*(i+w*k+T*M),E=w*w+T*T-i*i,L=-(A?(S+Math.sqrt(S*S-4*A*E))/(2*A):E/S);return{x:n+w+k*L,y:a+T+M*L,r:L}}function x(t,e,r){var n,a,i,o,s=t.x-e.x,l=t.y-e.y,c=s*s+l*l;c?(a=e.r+r.r,a*=a,o=t.r+r.r,a>(o*=o)?(n=(c+o-a)/(2*c),i=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-i*l,r.y=t.y-n*l+i*s):(n=(c+a-o)/(2*c),i=Math.sqrt(Math.max(0,a/c-n*n)),r.x=e.x+n*s-i*l,r.y=e.y+n*l+i*s)):(r.x=e.x+r.r,r.y=e.y)}function b(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,a=e.y-t.y;return r>0&&r*r>n*n+a*a}function _(t){var e=t._,r=t.next._,n=e.r+r.r,a=(e.x*r.r+r.x*e.r)/n,i=(e.y*r.r+r.y*e.r)/n;return a*a+i*i}function w(t){this._=t,this.next=null,this.previous=null}function k(t){if(!(a=t.length))return 0;var e,r,n,a,i,o,s,l,c,u,f;if((e=t[0]).x=0,e.y=0,!(a>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(a>2))return e.r+r.r;x(r,e,n=t[2]),e=new w(e),r=new w(r),n=new w(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s<a;++s){x(e._,r._,n=t[s]),n=new w(n),l=r.next,c=e.previous,u=r._.r,f=e._.r;do{if(u<=f){if(b(l._,n._)){r=l,e.next=r,r.previous=e,--s;continue t}u+=l._.r,l=l.next}else{if(b(c._,n._)){(e=c).next=r,r.previous=e,--s;continue t}f+=c._.r,c=c.previous}}while(l!==c.next);for(n.previous=e,n.next=r,e.next=r.previous=r=n,i=_(e);(n=n.next)!==r;)(o=_(n))<i&&(e=n,i=o);r=e.next}for(e=[r._],n=r;(n=n.next)!==r;)e.push(n._);for(n=h(e),s=0;s<a;++s)(e=t[s]).x-=n.x,e.y-=n.y;return n.r}function T(t){if(\"function\"!=typeof t)throw new Error;return t}function M(){return 0}function A(t){return function(){return t}}function S(t){return Math.sqrt(t.value)}function E(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function L(t,e){return function(r){if(n=r.children){var n,a,i,o=n.length,s=t(r)*e||0;if(s)for(a=0;a<o;++a)n[a].r+=s;if(i=k(n),s)for(a=0;a<o;++a)n[a].r-=s;r.r=i+s}}}function C(t){return function(e){var r=e.parent;e.r*=t,r&&(e.x=r.x+t*e.x,e.y=r.y+t*e.y)}}function P(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function O(t,e,r,n,a){for(var i,o=t.children,s=-1,l=o.length,c=t.value&&(n-e)/t.value;++s<l;)(i=o[s]).y0=r,i.y1=a,i.x0=e,i.x1=e+=i.value*c}var z=\"$\",I={depth:-1},D={};function R(t){return t.id}function F(t){return t.parentId}function B(t,e){return t.parent===e.parent?1:2}function N(t){var e=t.children;return e?e[0]:t.t}function j(t){var e=t.children;return e?e[e.length-1]:t.t}function V(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function U(t,e,r){return t.a.parent===e.parent?t.a:r}function q(t,e){this._=t,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=e}function H(t,e,r,n,a){for(var i,o=t.children,s=-1,l=o.length,c=t.value&&(a-r)/t.value;++s<l;)(i=o[s]).x0=e,i.x1=n,i.y0=r,i.y1=r+=i.value*c}q.prototype=Object.create(c.prototype);var G=(1+Math.sqrt(5))/2;function Y(t,e,r,n,a,i){for(var o,s,l,c,u,h,f,p,d,g,v,m=[],y=e.children,x=0,b=0,_=y.length,w=e.value;x<_;){l=a-r,c=i-n;do{u=y[b++].value}while(!u&&b<_);for(h=f=u,v=u*u*(g=Math.max(c/l,l/c)/(w*t)),d=Math.max(f/v,v/h);b<_;++b){if(u+=s=y[b].value,s<h&&(h=s),s>f&&(f=s),v=u*u*g,(p=Math.max(f/v,v/h))>d){u-=s;break}d=p}m.push(o={value:u,dice:l<c,children:y.slice(x,b)}),o.dice?O(o,r,n,a,w?n+=c*u/w:i):H(o,r,n,w?r+=l*u/w:a,i),w-=u,x=b}return m}var W=function t(e){function r(t,r,n,a,i){Y(e,t,r,n,a,i)}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G),X=function t(e){function r(t,r,n,a,i){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,h=-1,f=o.length,p=t.value;++h<f;){for(l=(s=o[h]).children,c=s.value=0,u=l.length;c<u;++c)s.value+=l[c].value;s.dice?O(s,r,n,a,n+=(i-n)*s.value/p):H(s,r,n,r+=(a-r)*s.value/p,i),p-=s.value}else t._squarify=o=Y(e,t,r,n,a,i),o.ratio=e}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);t.cluster=function(){var t=e,a=1,i=1,o=!1;function s(e){var s,l=0;e.eachAfter(function(e){var a=e.children;a?(e.x=function(t){return t.reduce(r,0)/t.length}(a),e.y=function(t){return 1+t.reduce(n,0)}(a)):(e.x=s?l+=t(e,s):0,e.y=0,s=e)});var c=function(t){for(var e;e=t.children;)t=e[0];return t}(e),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(e),h=c.x-t(c,u)/2,f=u.x+t(u,c)/2;return e.eachAfter(o?function(t){t.x=(t.x-e.x)*a,t.y=(e.y-t.y)*i}:function(t){t.x=(t.x-h)/(f-h)*a,t.y=(1-(e.y?t.y/e.y:1))*i})}return s.separation=function(e){return arguments.length?(t=e,s):t},s.size=function(t){return arguments.length?(o=!1,a=+t[0],i=+t[1],s):o?null:[a,i]},s.nodeSize=function(t){return arguments.length?(o=!0,a=+t[0],i=+t[1],s):o?[a,i]:null},s},t.hierarchy=i,t.pack=function(){var t=null,e=1,r=1,n=M;function a(a){return a.x=e/2,a.y=r/2,t?a.eachBefore(E(t)).eachAfter(L(n,.5)).eachBefore(C(1)):a.eachBefore(E(S)).eachAfter(L(M,1)).eachAfter(L(n,a.r/Math.min(e,r))).eachBefore(C(Math.min(e,r)/(2*a.r))),a}return a.radius=function(e){return arguments.length?(t=null==(r=e)?null:T(r),a):t;var r},a.size=function(t){return arguments.length?(e=+t[0],r=+t[1],a):[e,r]},a.padding=function(t){return arguments.length?(n=\"function\"==typeof t?t:A(+t),a):n},a},t.packEnclose=h,t.packSiblings=function(t){return k(t),t},t.partition=function(){var t=1,e=1,r=0,n=!1;function a(a){var i=a.height+1;return a.x0=a.y0=r,a.x1=t,a.y1=e/i,a.eachBefore(function(t,e){return function(n){n.children&&O(n,n.x0,t*(n.depth+1)/e,n.x1,t*(n.depth+2)/e);var a=n.x0,i=n.y0,o=n.x1-r,s=n.y1-r;o<a&&(a=o=(a+o)/2),s<i&&(i=s=(i+s)/2),n.x0=a,n.y0=i,n.x1=o,n.y1=s}}(e,i)),n&&a.eachBefore(P),a}return a.round=function(t){return arguments.length?(n=!!t,a):n},a.size=function(r){return arguments.length?(t=+r[0],e=+r[1],a):[t,e]},a.padding=function(t){return arguments.length?(r=+t,a):r},a},t.stratify=function(){var t=R,e=F;function r(r){var n,a,i,o,s,u,h,f=r.length,p=new Array(f),d={};for(a=0;a<f;++a)n=r[a],s=p[a]=new c(n),null!=(u=t(n,a,r))&&(u+=\"\")&&(d[h=z+(s.id=u)]=h in d?D:s);for(a=0;a<f;++a)if(s=p[a],null!=(u=e(r[a],a,r))&&(u+=\"\")){if(!(o=d[z+u]))throw new Error(\"missing: \"+u);if(o===D)throw new Error(\"ambiguous: \"+u);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(i)throw new Error(\"multiple roots\");i=s}if(!i)throw new Error(\"no root\");if(i.parent=I,i.eachBefore(function(t){t.depth=t.parent.depth+1,--f}).eachBefore(l),i.parent=null,f>0)throw new Error(\"cycle\");return i}return r.id=function(e){return arguments.length?(t=T(e),r):t},r.parentId=function(t){return arguments.length?(e=T(t),r):e},r},t.tree=function(){var t=B,e=1,r=1,n=null;function a(a){var l=function(t){for(var e,r,n,a,i,o=new q(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(i=n.length),a=i-1;a>=0;--a)s.push(r=e.children[a]=new q(n[a],a)),r.parent=e;return(o.parent=new q(null,0)).children=[o],o}(a);if(l.eachAfter(i),l.parent.m=-l.z,l.eachBefore(o),n)a.eachBefore(s);else{var c=a,u=a,h=a;a.eachBefore(function(t){t.x<c.x&&(c=t),t.x>u.x&&(u=t),t.depth>h.depth&&(h=t)});var f=c===u?1:t(c,u)/2,p=f-c.x,d=e/(u.x+f+p),g=r/(h.depth||1);a.eachBefore(function(t){t.x=(t.x+p)*d,t.y=t.depth*g})}return a}function i(e){var r=e.children,n=e.parent.children,a=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,a=t.children,i=a.length;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var i=(r[0].z+r[r.length-1].z)/2;a?(e.z=a.z+t(e._,a._),e.m=e.z-i):e.z=i}else a&&(e.z=a.z+t(e._,a._));e.parent.A=function(e,r,n){if(r){for(var a,i=e,o=e,s=r,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=j(s),i=N(i),s&&i;)l=N(l),(o=j(o)).a=e,(a=s.z+h-i.z-c+t(s._,i._))>0&&(V(U(s,e,n),e,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=h-u),i&&!N(l)&&(l.t=i,l.m+=c-f,n=e)}return n}(e,a,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return a.separation=function(e){return arguments.length?(t=e,a):t},a.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],a):n?null:[e,r]},a.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],a):n?[e,r]:null},a},t.treemap=function(){var t=W,e=!1,r=1,n=1,a=[0],i=M,o=M,s=M,l=M,c=M;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(h),a=[0],e&&t.eachBefore(P),t}function h(e){var r=a[e.depth],n=e.x0+r,u=e.y0+r,h=e.x1-r,f=e.y1-r;h<n&&(n=h=(n+h)/2),f<u&&(u=f=(u+f)/2),e.x0=n,e.y0=u,e.x1=h,e.y1=f,e.children&&(r=a[e.depth+1]=i(e)/2,n+=c(e)-r,u+=o(e)-r,(h-=s(e)-r)<n&&(n=h=(n+h)/2),(f-=l(e)-r)<u&&(u=f=(u+f)/2),t(e,n,u,h,f))}return u.round=function(t){return arguments.length?(e=!!t,u):e},u.size=function(t){return arguments.length?(r=+t[0],n=+t[1],u):[r,n]},u.tile=function(e){return arguments.length?(t=T(e),u):t},u.padding=function(t){return arguments.length?u.paddingInner(t).paddingOuter(t):u.paddingInner()},u.paddingInner=function(t){return arguments.length?(i=\"function\"==typeof t?t:A(+t),u):i},u.paddingOuter=function(t){return arguments.length?u.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):u.paddingTop()},u.paddingTop=function(t){return arguments.length?(o=\"function\"==typeof t?t:A(+t),u):o},u.paddingRight=function(t){return arguments.length?(s=\"function\"==typeof t?t:A(+t),u):s},u.paddingBottom=function(t){return arguments.length?(l=\"function\"==typeof t?t:A(+t),u):l},u.paddingLeft=function(t){return arguments.length?(c=\"function\"==typeof t?t:A(+t),u):c},u},t.treemapBinary=function(t,e,r,n,a){var i,o,s=t.children,l=s.length,c=new Array(l+1);for(c[0]=o=i=0;i<l;++i)c[i+1]=o+=s[i].value;!function t(e,r,n,a,i,o,l){if(e>=r-1){var u=s[e];return u.x0=a,u.y0=i,u.x1=o,void(u.y1=l)}for(var h=c[e],f=n/2+h,p=e+1,d=r-1;p<d;){var g=p+d>>>1;c[g]<f?p=g+1:d=g}f-c[p-1]<c[p]-f&&e+1<p&&--p;var v=c[p]-h,m=n-v;if(o-a>l-i){var y=(a*m+o*v)/n;t(e,p,v,a,i,y,l),t(p,r,m,y,i,o,l)}else{var x=(i*m+l*v)/n;t(e,p,v,a,i,o,x),t(p,r,m,a,x,o,l)}}(0,l,t.value,e,r,n,a)},t.treemapDice=O,t.treemapResquarify=X,t.treemapSlice=H,t.treemapSliceDice=function(t,e,r,n,a){(1&t.depth?H:O)(t,e,r,n,a)},t.treemapSquarify=W,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:(n=n||self).d3=n.d3||{})},{}],160:[function(t,e,r){var n,a;n=this,a=function(t,e){\"use strict\";function r(t,e,r,n,a){var i=t*t,o=i*t;return((1-3*t+3*i-o)*e+(4-6*i+3*o)*r+(1+3*t+3*i-3*o)*n+o*a)/6}function n(t){var e=t.length-1;return function(n){var a=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[a],o=t[a+1],s=a>0?t[a-1]:2*i-o,l=a<e-1?t[a+2]:2*o-i;return r((n-a/e)*e,s,i,o,l)}}function a(t){var e=t.length;return function(n){var a=Math.floor(((n%=1)<0?++n:n)*e),i=t[(a+e-1)%e],o=t[a%e],s=t[(a+1)%e],l=t[(a+2)%e];return r((n-a/e)*e,i,o,s,l)}}function i(t){return function(){return t}}function o(t,e){return function(r){return t+r*e}}function s(t,e){var r=e-t;return r?o(t,r>180||r<-180?r-360*Math.round(r/360):r):i(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):i(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):i(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function a(t,r){var a=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),i=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=a(e),t.g=i(e),t.b=o(e),t.opacity=s(e),t+\"\"}}return a.gamma=t,a}(1);function h(t){return function(r){var n,a,i=r.length,o=new Array(i),s=new Array(i),l=new Array(i);for(n=0;n<i;++n)a=e.rgb(r[n]),o[n]=a.r||0,s[n]=a.g||0,l[n]=a.b||0;return o=t(o),s=t(s),l=t(l),a.opacity=1,function(t){return a.r=o(t),a.g=s(t),a.b=l(t),a+\"\"}}}var f=h(n),p=h(a);function d(t,e){e||(e=[]);var r,n=t?Math.min(e.length,t.length):0,a=e.slice();return function(i){for(r=0;r<n;++r)a[r]=t[r]*(1-i)+e[r]*i;return a}}function g(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function v(t,e){var r,n=e?e.length:0,a=t?Math.min(n,t.length):0,i=new Array(a),o=new Array(n);for(r=0;r<a;++r)i[r]=k(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<a;++r)o[r]=i[r](t);return o}}function m(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function y(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function x(t,e){var r,n={},a={};for(r in null!==t&&\"object\"==typeof t||(t={}),null!==e&&\"object\"==typeof e||(e={}),e)r in t?n[r]=k(t[r],e[r]):a[r]=e[r];return function(t){for(r in n)a[r]=n[r](t);return a}}var b=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,_=new RegExp(b.source,\"g\");function w(t,e){var r,n,a,i=b.lastIndex=_.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=b.exec(t))&&(n=_.exec(e));)(a=n.index)>i&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:y(r,n)})),i=_.lastIndex;return i<e.length&&(a=e.slice(i),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?function(t){return function(e){return t(e)+\"\"}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join(\"\")})}function k(t,r){var n,a=typeof r;return null==r||\"boolean\"===a?i(r):(\"number\"===a?y:\"string\"===a?(n=e.color(r))?(r=n,u):w:r instanceof e.color?u:r instanceof Date?m:g(r)?d:Array.isArray(r)?v:\"function\"!=typeof r.valueOf&&\"function\"!=typeof r.toString||isNaN(r)?x:y)(t,r)}var T,M,A,S,E=180/Math.PI,L={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function C(t,e,r,n,a,i){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,o=-o),{translateX:a,translateY:i,rotate:Math.atan2(e,t)*E,skewX:Math.atan(l)*E,scaleX:o,scaleY:s}}function P(t,e,r,n){function a(t){return t.length?t.pop()+\" \":\"\"}return function(i,o){var s=[],l=[];return i=t(i),o=t(o),function(t,n,a,i,o,s){if(t!==a||n!==i){var l=o.push(\"translate(\",null,e,null,r);s.push({i:l-4,x:y(t,a)},{i:l-2,x:y(n,i)})}else(a||i)&&o.push(\"translate(\"+a+e+i+r)}(i.translateX,i.translateY,o.translateX,o.translateY,s,l),function(t,e,r,i){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),i.push({i:r.push(a(r)+\"rotate(\",null,n)-2,x:y(t,e)})):e&&r.push(a(r)+\"rotate(\"+e+n)}(i.rotate,o.rotate,s,l),function(t,e,r,i){t!==e?i.push({i:r.push(a(r)+\"skewX(\",null,n)-2,x:y(t,e)}):e&&r.push(a(r)+\"skewX(\"+e+n)}(i.skewX,o.skewX,s,l),function(t,e,r,n,i,o){if(t!==r||e!==n){var s=i.push(a(i)+\"scale(\",null,\",\",null,\")\");o.push({i:s-4,x:y(t,r)},{i:s-2,x:y(e,n)})}else 1===r&&1===n||i.push(a(i)+\"scale(\"+r+\",\"+n+\")\")}(i.scaleX,i.scaleY,o.scaleX,o.scaleY,s,l),i=o=null,function(t){for(var e,r=-1,n=l.length;++r<n;)s[(e=l[r]).i]=e.x(t);return s.join(\"\")}}}var O=P(function(t){return\"none\"===t?L:(T||(T=document.createElement(\"DIV\"),M=document.documentElement,A=document.defaultView),T.style.transform=t,t=A.getComputedStyle(M.appendChild(T),null).getPropertyValue(\"transform\"),M.removeChild(T),C(+(t=t.slice(7,-1).split(\",\"))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},\"px, \",\"px)\",\"deg)\"),z=P(function(t){return null==t?L:(S||(S=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),S.setAttribute(\"transform\",t),(t=S.transform.baseVal.consolidate())?C((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):L)},\", \",\")\",\")\"),I=Math.SQRT2,D=2,R=4,F=1e-12;function B(t){return((t=Math.exp(t))+1/t)/2}function N(t){return function(r,n){var a=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),i=c(r.s,n.s),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=a(t),r.s=i(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var j=N(s),V=N(c);function U(t){return function(r,n){var a=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),i=c(r.c,n.c),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=a(t),r.c=i(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var q=U(s),H=U(c);function G(t){return function r(n){function a(r,a){var i=t((r=e.cubehelix(r)).h,(a=e.cubehelix(a)).h),o=c(r.s,a.s),s=c(r.l,a.l),l=c(r.opacity,a.opacity);return function(t){return r.h=i(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+\"\"}}return n=+n,a.gamma=r,a}(1)}var Y=G(s),W=G(c);t.interpolate=k,t.interpolateArray=function(t,e){return(g(e)?d:v)(t,e)},t.interpolateBasis=n,t.interpolateBasisClosed=a,t.interpolateCubehelix=Y,t.interpolateCubehelixLong=W,t.interpolateDate=m,t.interpolateDiscrete=function(t){var e=t.length;return function(r){return t[Math.max(0,Math.min(e-1,Math.floor(r*e)))]}},t.interpolateHcl=q,t.interpolateHclLong=H,t.interpolateHsl=j,t.interpolateHslLong=V,t.interpolateHue=function(t,e){var r=s(+t,+e);return function(t){var e=r(t);return e-360*Math.floor(e/360)}},t.interpolateLab=function(t,r){var n=c((t=e.lab(t)).l,(r=e.lab(r)).l),a=c(t.a,r.a),i=c(t.b,r.b),o=c(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=a(e),t.b=i(e),t.opacity=o(e),t+\"\"}},t.interpolateNumber=y,t.interpolateNumberArray=d,t.interpolateObject=x,t.interpolateRgb=u,t.interpolateRgbBasis=f,t.interpolateRgbBasisClosed=p,t.interpolateRound=function(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}},t.interpolateString=w,t.interpolateTransformCss=O,t.interpolateTransformSvg=z,t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-a,h=l-i,f=u*u+h*h;if(f<F)n=Math.log(c/o)/I,r=function(t){return[a+t*u,i+t*h,o*Math.exp(I*t*n)]};else{var p=Math.sqrt(f),d=(c*c-o*o+R*f)/(2*o*D*p),g=(c*c-o*o-R*f)/(2*c*D*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/I,r=function(t){var e,r=t*n,s=B(v),l=o/(D*p)*(s*(e=I*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[a+l*u,i+l*h,o*s/B(I*r+v)]}}return r.duration=1e3*n,r},t.piecewise=function(t,e){for(var r=0,n=e.length-1,a=e[0],i=new Array(n<0?0:n);r<n;)i[r]=t(a,a=e[++r]);return function(t){var e=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return i[e](t-e)}},t.quantize=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,\"__esModule\",{value:!0})},\"object\"==typeof r&&\"undefined\"!=typeof e?a(r,t(\"d3-color\")):a((n=n||self).d3=n.d3||{},n.d3)},{\"d3-color\":156}],161:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e=Math.PI,r=2*e,n=r-1e-6;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function i(){return new a}a.prototype=i.prototype={constructor:a,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,r,n){this._+=\"Q\"+ +t+\",\"+ +e+\",\"+(this._x1=+r)+\",\"+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,a,i){this._+=\"C\"+ +t+\",\"+ +e+\",\"+ +r+\",\"+ +n+\",\"+(this._x1=+a)+\",\"+(this._y1=+i)},arcTo:function(t,r,n,a,i){t=+t,r=+r,n=+n,a=+a,i=+i;var o=this._x1,s=this._y1,l=n-t,c=a-r,u=o-t,h=s-r,f=u*u+h*h;if(i<0)throw new Error(\"negative radius: \"+i);if(null===this._x1)this._+=\"M\"+(this._x1=t)+\",\"+(this._y1=r);else if(f>1e-6)if(Math.abs(h*l-c*u)>1e-6&&i){var p=n-o,d=a-s,g=l*l+c*c,v=p*p+d*d,m=Math.sqrt(g),y=Math.sqrt(f),x=i*Math.tan((e-Math.acos((g+f-v)/(2*m*y)))/2),b=x/y,_=x/m;Math.abs(b-1)>1e-6&&(this._+=\"L\"+(t+b*u)+\",\"+(r+b*h)),this._+=\"A\"+i+\",\"+i+\",0,0,\"+ +(h*p>u*d)+\",\"+(this._x1=t+_*l)+\",\"+(this._y1=r+_*c)}else this._+=\"L\"+(this._x1=t)+\",\"+(this._y1=r);else;},arc:function(t,a,i,o,s,l){t=+t,a=+a;var c=(i=+i)*Math.cos(o),u=i*Math.sin(o),h=t+c,f=a+u,p=1^l,d=l?o-s:s-o;if(i<0)throw new Error(\"negative radius: \"+i);null===this._x1?this._+=\"M\"+h+\",\"+f:(Math.abs(this._x1-h)>1e-6||Math.abs(this._y1-f)>1e-6)&&(this._+=\"L\"+h+\",\"+f),i&&(d<0&&(d=d%r+r),d>n?this._+=\"A\"+i+\",\"+i+\",0,1,\"+p+\",\"+(t-c)+\",\"+(a-u)+\"A\"+i+\",\"+i+\",0,1,\"+p+\",\"+(this._x1=h)+\",\"+(this._y1=f):d>1e-6&&(this._+=\"A\"+i+\",\"+i+\",0,\"+ +(d>=e)+\",\"+p+\",\"+(this._x1=t+i*Math.cos(s))+\",\"+(this._y1=a+i*Math.sin(s))))},rect:function(t,e,r,n){this._+=\"M\"+(this._x0=this._x1=+t)+\",\"+(this._y0=this._y1=+e)+\"h\"+ +r+\"v\"+ +n+\"h\"+-r+\"Z\"},toString:function(){return this._}},t.path=i,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],162:[function(t,e,r){var n;n=this,function(t){\"use strict\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var a,i,o,s,l,c,u,h,f,p=t._root,d={data:n},g=t._x0,v=t._y0,m=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(i=(g+m)/2))?g=i:m=i,(u=r>=(o=(v+y)/2))?v=o:y=o,a=p,!(p=p[h=u<<1|c]))return a[h]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,a?a[h]=d:t._root=d,t;do{a=a?a[h]=new Array(4):t._root=new Array(4),(c=e>=(i=(g+m)/2))?g=i:m=i,(u=r>=(o=(v+y)/2))?v=o:y=o}while((h=u<<1|c)==(f=(l>=o)<<1|s>=i));return a[f]=p,a[h]=d,t}var r=function(t,e,r,n,a){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=a};function n(t){return t[0]}function a(t){return t[1]}function i(t,e,r){var i=new o(null==e?n:e,null==r?a:r,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function o(t,e,r,n,a,i){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=a,this._y1=i,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=i.prototype=o.prototype;l.copy=function(){var t,e,r=new o(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=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var a=0;a<4;++a)(e=n.source[a])&&(e.length?t.push({source:e,target:n.target[a]=new Array(4)}):n.target[a]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,a,i,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,h=-1/0,f=-1/0;for(n=0;n<o;++n)isNaN(a=+this._x.call(null,r=t[n]))||isNaN(i=+this._y.call(null,r))||(s[n]=a,l[n]=i,a<c&&(c=a),a>h&&(h=a),i<u&&(u=i),i>f&&(f=i));for(h<c&&(c=this._x0,h=this._x1),f<u&&(u=this._y0,f=this._y1),this.cover(c,u).cover(h,f),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,a=this._x1,i=this._y1;if(isNaN(r))a=(r=Math.floor(t))+1,i=(n=Math.floor(e))+1;else{if(!(r>t||t>a||n>e||e>i))return this;var o,s,l=a-r,c=this._root;switch(s=(e<(n+i)/2)<<1|t<(r+a)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(i=n+(l*=2),t>(a=r+l)||e>i);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(i=n+(l*=2),(r=a-l)>t||e>i);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(n=i-(l*=2),t>(a=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(n=i-(l*=2),(r=a-l)>t||n>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=a,this._y1=i,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var a,i,o,s,l,c,u,h=this._x0,f=this._y0,p=this._x1,d=this._y1,g=[],v=this._root;for(v&&g.push(new r(v,h,f,p,d)),null==n?n=1/0:(h=t-n,f=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(v=c.node)||(i=c.x0)>p||(o=c.y0)>d||(s=c.x1)<h||(l=c.y1)<f))if(v.length){var m=(i+s)/2,y=(o+l)/2;g.push(new r(v[3],m,y,s,l),new r(v[2],i,y,m,l),new r(v[1],m,o,s,y),new r(v[0],i,o,m,y)),(u=(e>=y)<<1|t>=m)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,v.data),b=e-+this._y.call(null,v.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);h=t-w,f=e-w,p=t+w,d=e+w,a=v.data}}return a},l.remove=function(t){if(isNaN(i=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,a,i,o,s,l,c,u,h,f,p=this._root,d=this._x0,g=this._y0,v=this._x1,m=this._y1;if(!p)return this;if(p.length)for(;;){if((c=i>=(s=(d+v)/2))?d=s:v=s,(u=o>=(l=(g+m)/2))?g=l:m=l,e=p,!(p=p[h=u<<1|c]))return this;if(!p.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(r=e,f=h)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(a=p.next)&&delete p.next,n?(a?n.next=a:delete n.next,this):e?(a?e[h]=a:delete e[h],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[f]=p:this._root=p),this):(this._root=a,this)},l.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},l.visit=function(t){var e,n,a,i,o,s,l=[],c=this._root;for(c&&l.push(new r(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,a=e.x0,i=e.y0,o=e.x1,s=e.y1)&&c.length){var u=(a+o)/2,h=(i+s)/2;(n=c[3])&&l.push(new r(n,u,h,o,s)),(n=c[2])&&l.push(new r(n,a,h,u,s)),(n=c[1])&&l.push(new r(n,u,i,o,h)),(n=c[0])&&l.push(new r(n,a,i,u,h))}return this},l.visitAfter=function(t){var e,n=[],a=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var i=e.node;if(i.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,h=(s+c)/2,f=(l+u)/2;(o=i[0])&&n.push(new r(o,s,l,h,f)),(o=i[1])&&n.push(new r(o,h,l,c,f)),(o=i[2])&&n.push(new r(o,s,f,h,u)),(o=i[3])&&n.push(new r(o,h,f,c,u))}a.push(e)}for(;e=a.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=i,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],163:[function(t,e,r){var n,a;n=this,a=function(t,e){\"use strict\";function r(t){return function(){return t}}var n=Math.abs,a=Math.atan2,i=Math.cos,o=Math.max,s=Math.min,l=Math.sin,c=Math.sqrt,u=1e-12,h=Math.PI,f=h/2,p=2*h;function d(t){return t>=1?f:t<=-1?-f:Math.asin(t)}function g(t){return t.innerRadius}function v(t){return t.outerRadius}function m(t){return t.startAngle}function y(t){return t.endAngle}function x(t){return t&&t.padAngle}function b(t,e,r,n,a,i,s){var l=t-r,u=e-n,h=(s?i:-i)/c(l*l+u*u),f=h*u,p=-h*l,d=t+f,g=e+p,v=r+f,m=n+p,y=(d+v)/2,x=(g+m)/2,b=v-d,_=m-g,w=b*b+_*_,k=a-i,T=d*m-v*g,M=(_<0?-1:1)*c(o(0,k*k*w-T*T)),A=(T*_-b*M)/w,S=(-T*b-_*M)/w,E=(T*_+b*M)/w,L=(-T*b+_*M)/w,C=A-y,P=S-x,O=E-y,z=L-x;return C*C+P*P>O*O+z*z&&(A=E,S=L),{cx:A,cy:S,x01:-f,y01:-p,x11:A*(a/k-1),y11:S*(a/k-1)}}function _(t){this._context=t}function w(t){return new _(t)}function k(t){return t[0]}function T(t){return t[1]}function M(){var t=k,n=T,a=r(!0),i=null,o=w,s=null;function l(r){var l,c,u,h=r.length,f=!1;for(null==i&&(s=o(u=e.path())),l=0;l<=h;++l)!(l<h&&a(c=r[l],l,r))===f&&((f=!f)?s.lineStart():s.lineEnd()),f&&s.point(+t(c,l,r),+n(c,l,r));if(u)return s=null,u+\"\"||null}return l.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),l):t},l.y=function(t){return arguments.length?(n=\"function\"==typeof t?t:r(+t),l):n},l.defined=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(!!t),l):a},l.curve=function(t){return arguments.length?(o=t,null!=i&&(s=o(i)),l):o},l.context=function(t){return arguments.length?(null==t?i=s=null:s=o(i=t),l):i},l}function A(){var t=k,n=null,a=r(0),i=T,o=r(!0),s=null,l=w,c=null;function u(r){var u,h,f,p,d,g=r.length,v=!1,m=new Array(g),y=new Array(g);for(null==s&&(c=l(d=e.path())),u=0;u<=g;++u){if(!(u<g&&o(p=r[u],u,r))===v)if(v=!v)h=u,c.areaStart(),c.lineStart();else{for(c.lineEnd(),c.lineStart(),f=u-1;f>=h;--f)c.point(m[f],y[f]);c.lineEnd(),c.areaEnd()}v&&(m[u]=+t(p,u,r),y[u]=+a(p,u,r),c.point(n?+n(p,u,r):m[u],i?+i(p,u,r):y[u]))}if(d)return c=null,d+\"\"||null}function h(){return M().defined(o).curve(l).context(s)}return u.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),n=null,u):t},u.x0=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),u):t},u.x1=function(t){return arguments.length?(n=null==t?null:\"function\"==typeof t?t:r(+t),u):n},u.y=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),i=null,u):a},u.y0=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),u):a},u.y1=function(t){return arguments.length?(i=null==t?null:\"function\"==typeof t?t:r(+t),u):i},u.lineX0=u.lineY0=function(){return h().x(t).y(a)},u.lineY1=function(){return h().x(t).y(i)},u.lineX1=function(){return h().x(n).y(a)},u.defined=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(!!t),u):o},u.curve=function(t){return arguments.length?(l=t,null!=s&&(c=l(s)),u):l},u.context=function(t){return arguments.length?(null==t?s=c=null:c=l(s=t),u):s},u}function S(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function E(t){return t}_.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)}}};var L=P(w);function C(t){this._curve=t}function P(t){function e(e){return new C(t(e))}return e._curve=t,e}function O(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(P(t)):e()._curve},t}function z(){return O(M().curve(L))}function I(){var t=A().curve(L),e=t.curve,r=t.lineX0,n=t.lineX1,a=t.lineY0,i=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 O(r())},delete t.lineX0,t.lineEndAngle=function(){return O(n())},delete t.lineX1,t.lineInnerRadius=function(){return O(a())},delete t.lineY0,t.lineOuterRadius=function(){return O(i())},delete t.lineY1,t.curve=function(t){return arguments.length?e(P(t)):e()._curve},t}function D(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}C.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))}};var R=Array.prototype.slice;function F(t){return t.source}function B(t){return t.target}function N(t){var n=F,a=B,i=k,o=T,s=null;function l(){var r,l=R.call(arguments),c=n.apply(this,l),u=a.apply(this,l);if(s||(s=r=e.path()),t(s,+i.apply(this,(l[0]=c,l)),+o.apply(this,l),+i.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+\"\"||null}return l.source=function(t){return arguments.length?(n=t,l):n},l.target=function(t){return arguments.length?(a=t,l):a},l.x=function(t){return arguments.length?(i=\"function\"==typeof t?t:r(+t),l):i},l.y=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(+t),l):o},l.context=function(t){return arguments.length?(s=null==t?null:t,l):s},l}function j(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,a,n,a)}function V(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e,r=(r+a)/2,n,r,n,a)}function U(t,e,r,n,a){var i=D(e,r),o=D(e,r=(r+a)/2),s=D(n,r),l=D(n,a);t.moveTo(i[0],i[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var q={draw:function(t,e){var r=Math.sqrt(e/h);t.moveTo(r,0),t.arc(0,0,r,0,p)}},H={draw:function(t,e){var r=Math.sqrt(e/5)/2;t.moveTo(-3*r,-r),t.lineTo(-r,-r),t.lineTo(-r,-3*r),t.lineTo(r,-3*r),t.lineTo(r,-r),t.lineTo(3*r,-r),t.lineTo(3*r,r),t.lineTo(r,r),t.lineTo(r,3*r),t.lineTo(-r,3*r),t.lineTo(-r,r),t.lineTo(-3*r,r),t.closePath()}},G=Math.sqrt(1/3),Y=2*G,W={draw:function(t,e){var r=Math.sqrt(e/Y),n=r*G;t.moveTo(0,-r),t.lineTo(n,0),t.lineTo(0,r),t.lineTo(-n,0),t.closePath()}},X=Math.sin(h/10)/Math.sin(7*h/10),Z=Math.sin(p/10)*X,J=-Math.cos(p/10)*X,K={draw:function(t,e){var r=Math.sqrt(.8908130915292852*e),n=Z*r,a=J*r;t.moveTo(0,-r),t.lineTo(n,a);for(var i=1;i<5;++i){var o=p*i/5,s=Math.cos(o),l=Math.sin(o);t.lineTo(l*r,-s*r),t.lineTo(s*n-l*a,l*n+s*a)}t.closePath()}},Q={draw:function(t,e){var r=Math.sqrt(e),n=-r/2;t.rect(n,n,r,r)}},$=Math.sqrt(3),tt={draw:function(t,e){var r=-Math.sqrt(e/(3*$));t.moveTo(0,2*r),t.lineTo(-$*r,-r),t.lineTo($*r,-r),t.closePath()}},et=-.5,rt=Math.sqrt(3)/2,nt=1/Math.sqrt(12),at=3*(nt/2+1),it={draw:function(t,e){var r=Math.sqrt(e/at),n=r/2,a=r*nt,i=n,o=r*nt+r,s=-i,l=o;t.moveTo(n,a),t.lineTo(i,o),t.lineTo(s,l),t.lineTo(et*n-rt*a,rt*n+et*a),t.lineTo(et*i-rt*o,rt*i+et*o),t.lineTo(et*s-rt*l,rt*s+et*l),t.lineTo(et*n+rt*a,et*a-rt*n),t.lineTo(et*i+rt*o,et*o-rt*i),t.lineTo(et*s+rt*l,et*l-rt*s),t.closePath()}},ot=[q,H,W,Q,K,tt,it];function st(){}function lt(t,e,r){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+r)/6)}function ct(t){this._context=t}function ut(t){this._context=t}function ht(t){this._context=t}function ft(t,e){this._basis=new ct(t),this._beta=e}ct.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(){switch(this._point){case 3:lt(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:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ut.prototype={areaStart:st,areaEnd:st,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:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ht.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,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ft.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n,a=t[0],i=e[0],o=t[r]-a,s=e[r]-i,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(a+n*o),this._beta*e[l]+(1-this._beta)*(i+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var pt=function t(e){function r(t){return 1===e?new ct(t):new ft(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function dt(t,e,r){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-r),t._x2,t._y2)}function gt(t,e){this._context=t,this._k=(1-e)/6}gt.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:dt(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:dt(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}};var vt=function t(e){function r(t){return new gt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function mt(t,e){this._context=t,this._k=(1-e)/6}mt.prototype={areaStart:st,areaEnd:st,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:dt(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}};var yt=function t(e){function r(t){return new mt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function xt(t,e){this._context=t,this._k=(1-e)/6}xt.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:dt(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}};var bt=function t(e){function r(t){return new xt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function _t(t,e,r){var n=t._x1,a=t._y1,i=t._x2,o=t._y2;if(t._l01_a>u){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,a=(a*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>u){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);i=(i*c+t._x1*t._l23_2a-e*t._l12_2a)/h,o=(o*c+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,a,i,o,t._x2,t._y2)}function wt(t,e){this._context=t,this._alpha=e}wt.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 r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,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:_t(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}};var kt=function t(e){function r(t){return e?new wt(t,e):new gt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Tt(t,e){this._context=t,this._alpha=e}Tt.prototype={areaStart:st,areaEnd:st,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,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,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:_t(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}};var Mt=function t(e){function r(t){return e?new Tt(t,e):new mt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function At(t,e){this._context=t,this._alpha=e}At.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,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,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:_t(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}};var St=function t(e){function r(t){return e?new At(t,e):new xt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Et(t){this._context=t}function Lt(t){return t<0?-1:1}function Ct(t,e,r){var n=t._x1-t._x0,a=e-t._x1,i=(t._y1-t._y0)/(n||a<0&&-0),o=(r-t._y1)/(a||n<0&&-0),s=(i*a+o*n)/(n+a);return(Lt(i)+Lt(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(s))||0}function Pt(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function Ot(t,e,r){var n=t._x0,a=t._y0,i=t._x1,o=t._y1,s=(i-n)/3;t._context.bezierCurveTo(n+s,a+s*e,i-s,o-s*r,i,o)}function zt(t){this._context=t}function It(t){this._context=new Dt(t)}function Dt(t){this._context=t}function Rt(t){this._context=t}function Ft(t){var e,r,n=t.length-1,a=new Array(n),i=new Array(n),o=new Array(n);for(a[0]=0,i[0]=2,o[0]=t[0]+2*t[1],e=1;e<n-1;++e)a[e]=1,i[e]=4,o[e]=4*t[e]+2*t[e+1];for(a[n-1]=2,i[n-1]=7,o[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=a[e]/i[e-1],i[e]-=r,o[e]-=r*o[e-1];for(a[n-1]=o[n-1]/i[n-1],e=n-2;e>=0;--e)a[e]=(o[e]-a[e+1])/i[e];for(i[n-1]=(t[n]+a[n-1])/2,e=0;e<n-1;++e)i[e]=2*t[e+1]-a[e+1];return[a,i]}function Bt(t,e){this._context=t,this._t=e}function Nt(t,e){if((a=t.length)>1)for(var r,n,a,i=1,o=t[e[0]],s=o.length;i<a;++i)for(n=o,o=t[e[i]],r=0;r<s;++r)o[r][1]+=o[r][0]=isNaN(n[r][1])?n[r][0]:n[r][1]}function jt(t){for(var e=t.length,r=new Array(e);--e>=0;)r[e]=e;return r}function Vt(t,e){return t[e]}function Ut(t){var e=t.map(qt);return jt(t).sort(function(t,r){return e[t]-e[r]})}function qt(t){for(var e,r=-1,n=0,a=t.length,i=-1/0;++r<a;)(e=+t[r][1])>i&&(i=e,n=r);return n}function Ht(t){var e=t.map(Gt);return jt(t).sort(function(t,r){return e[t]-e[r]})}function Gt(t){for(var e,r=0,n=-1,a=t.length;++n<a;)(e=+t[n][1])&&(r+=e);return r}Et.prototype={areaStart:st,areaEnd:st,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))}},zt.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:Ot(this,this._t0,Pt(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(e=+e,(t=+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,Ot(this,Pt(this,r=Ct(this,t,e)),r);break;default:Ot(this,this._t0,r=Ct(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}},(It.prototype=Object.create(zt.prototype)).point=function(t,e){zt.prototype.point.call(this,e,t)},Dt.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,r,n,a,i){this._context.bezierCurveTo(e,t,n,r,i,a)}},Rt.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,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===r)this._context.lineTo(t[1],e[1]);else for(var n=Ft(t),a=Ft(e),i=0,o=1;o<r;++i,++o)this._context.bezierCurveTo(n[0][i],a[0][i],n[1][i],a[1][i],t[o],e[o]);(this._line||0!==this._line&&1===r)&&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)}},Bt.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 r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},t.arc=function(){var t=g,o=v,_=r(0),w=null,k=m,T=y,M=x,A=null;function S(){var r,g,v,m=+t.apply(this,arguments),y=+o.apply(this,arguments),x=k.apply(this,arguments)-f,S=T.apply(this,arguments)-f,E=n(S-x),L=S>x;if(A||(A=r=e.path()),y<m&&(g=y,y=m,m=g),y>u)if(E>p-u)A.moveTo(y*i(x),y*l(x)),A.arc(0,0,y,x,S,!L),m>u&&(A.moveTo(m*i(S),m*l(S)),A.arc(0,0,m,S,x,L));else{var C,P,O=x,z=S,I=x,D=S,R=E,F=E,B=M.apply(this,arguments)/2,N=B>u&&(w?+w.apply(this,arguments):c(m*m+y*y)),j=s(n(y-m)/2,+_.apply(this,arguments)),V=j,U=j;if(N>u){var q=d(N/m*l(B)),H=d(N/y*l(B));(R-=2*q)>u?(I+=q*=L?1:-1,D-=q):(R=0,I=D=(x+S)/2),(F-=2*H)>u?(O+=H*=L?1:-1,z-=H):(F=0,O=z=(x+S)/2)}var G=y*i(O),Y=y*l(O),W=m*i(D),X=m*l(D);if(j>u){var Z,J=y*i(z),K=y*l(z),Q=m*i(I),$=m*l(I);if(E<h&&(Z=function(t,e,r,n,a,i,o,s){var l=r-t,c=n-e,h=o-a,f=s-i,p=f*l-h*c;if(!(p*p<u))return[t+(p=(h*(e-i)-f*(t-a))/p)*l,e+p*c]}(G,Y,Q,$,J,K,W,X))){var tt=G-Z[0],et=Y-Z[1],rt=J-Z[0],nt=K-Z[1],at=1/l(((v=(tt*rt+et*nt)/(c(tt*tt+et*et)*c(rt*rt+nt*nt)))>1?0:v<-1?h:Math.acos(v))/2),it=c(Z[0]*Z[0]+Z[1]*Z[1]);V=s(j,(m-it)/(at-1)),U=s(j,(y-it)/(at+1))}}F>u?U>u?(C=b(Q,$,G,Y,y,U,L),P=b(J,K,W,X,y,U,L),A.moveTo(C.cx+C.x01,C.cy+C.y01),U<j?A.arc(C.cx,C.cy,U,a(C.y01,C.x01),a(P.y01,P.x01),!L):(A.arc(C.cx,C.cy,U,a(C.y01,C.x01),a(C.y11,C.x11),!L),A.arc(0,0,y,a(C.cy+C.y11,C.cx+C.x11),a(P.cy+P.y11,P.cx+P.x11),!L),A.arc(P.cx,P.cy,U,a(P.y11,P.x11),a(P.y01,P.x01),!L))):(A.moveTo(G,Y),A.arc(0,0,y,O,z,!L)):A.moveTo(G,Y),m>u&&R>u?V>u?(C=b(W,X,J,K,m,-V,L),P=b(G,Y,Q,$,m,-V,L),A.lineTo(C.cx+C.x01,C.cy+C.y01),V<j?A.arc(C.cx,C.cy,V,a(C.y01,C.x01),a(P.y01,P.x01),!L):(A.arc(C.cx,C.cy,V,a(C.y01,C.x01),a(C.y11,C.x11),!L),A.arc(0,0,m,a(C.cy+C.y11,C.cx+C.x11),a(P.cy+P.y11,P.cx+P.x11),L),A.arc(P.cx,P.cy,V,a(P.y11,P.x11),a(P.y01,P.x01),!L))):A.arc(0,0,m,D,I,L):A.lineTo(W,X)}else A.moveTo(0,0);if(A.closePath(),r)return A=null,r+\"\"||null}return S.centroid=function(){var e=(+t.apply(this,arguments)+ +o.apply(this,arguments))/2,r=(+k.apply(this,arguments)+ +T.apply(this,arguments))/2-h/2;return[i(r)*e,l(r)*e]},S.innerRadius=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),S):t},S.outerRadius=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(+t),S):o},S.cornerRadius=function(t){return arguments.length?(_=\"function\"==typeof t?t:r(+t),S):_},S.padRadius=function(t){return arguments.length?(w=null==t?null:\"function\"==typeof t?t:r(+t),S):w},S.startAngle=function(t){return arguments.length?(k=\"function\"==typeof t?t:r(+t),S):k},S.endAngle=function(t){return arguments.length?(T=\"function\"==typeof t?t:r(+t),S):T},S.padAngle=function(t){return arguments.length?(M=\"function\"==typeof t?t:r(+t),S):M},S.context=function(t){return arguments.length?(A=null==t?null:t,S):A},S},t.area=A,t.line=M,t.pie=function(){var t=E,e=S,n=null,a=r(0),i=r(p),o=r(0);function s(r){var s,l,c,u,h,f=r.length,d=0,g=new Array(f),v=new Array(f),m=+a.apply(this,arguments),y=Math.min(p,Math.max(-p,i.apply(this,arguments)-m)),x=Math.min(Math.abs(y)/f,o.apply(this,arguments)),b=x*(y<0?-1:1);for(s=0;s<f;++s)(h=v[g[s]=s]=+t(r[s],s,r))>0&&(d+=h);for(null!=e?g.sort(function(t,r){return e(v[t],v[r])}):null!=n&&g.sort(function(t,e){return n(r[t],r[e])}),s=0,c=d?(y-f*b)/d:0;s<f;++s,m=u)l=g[s],u=m+((h=v[l])>0?h*c:0)+b,v[l]={data:r[l],index:s,value:h,startAngle:m,endAngle:u,padAngle:x};return v}return s.value=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),s):a},s.endAngle=function(t){return arguments.length?(i=\"function\"==typeof t?t:r(+t),s):i},s.padAngle=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(+t),s):o},s},t.areaRadial=I,t.radialArea=I,t.lineRadial=z,t.radialLine=z,t.pointRadial=D,t.linkHorizontal=function(){return N(j)},t.linkVertical=function(){return N(V)},t.linkRadial=function(){var t=N(U);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.symbol=function(){var t=r(q),n=r(64),a=null;function i(){var r;if(a||(a=r=e.path()),t.apply(this,arguments).draw(a,+n.apply(this,arguments)),r)return a=null,r+\"\"||null}return i.type=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(e),i):t},i.size=function(t){return arguments.length?(n=\"function\"==typeof t?t:r(+t),i):n},i.context=function(t){return arguments.length?(a=null==t?null:t,i):a},i},t.symbols=ot,t.symbolCircle=q,t.symbolCross=H,t.symbolDiamond=W,t.symbolSquare=Q,t.symbolStar=K,t.symbolTriangle=tt,t.symbolWye=it,t.curveBasisClosed=function(t){return new ut(t)},t.curveBasisOpen=function(t){return new ht(t)},t.curveBasis=function(t){return new ct(t)},t.curveBundle=pt,t.curveCardinalClosed=yt,t.curveCardinalOpen=bt,t.curveCardinal=vt,t.curveCatmullRomClosed=Mt,t.curveCatmullRomOpen=St,t.curveCatmullRom=kt,t.curveLinearClosed=function(t){return new Et(t)},t.curveLinear=w,t.curveMonotoneX=function(t){return new zt(t)},t.curveMonotoneY=function(t){return new It(t)},t.curveNatural=function(t){return new Rt(t)},t.curveStep=function(t){return new Bt(t,.5)},t.curveStepAfter=function(t){return new Bt(t,1)},t.curveStepBefore=function(t){return new Bt(t,0)},t.stack=function(){var t=r([]),e=jt,n=Nt,a=Vt;function i(r){var i,o,s=t.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(i=0;i<c;++i){for(var h,f=s[i],p=u[i]=new Array(l),d=0;d<l;++d)p[d]=h=[0,+a(r[d],f,d,r)],h.data=r[d];p.key=f}for(i=0,o=e(u);i<c;++i)u[o[i]].index=i;return n(u,o),u}return i.keys=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(R.call(e)),i):t},i.value=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),i):a},i.order=function(t){return arguments.length?(e=null==t?jt:\"function\"==typeof t?t:r(R.call(t)),i):e},i.offset=function(t){return arguments.length?(n=null==t?Nt:t,i):n},i},t.stackOffsetExpand=function(t,e){if((n=t.length)>0){for(var r,n,a,i=0,o=t[0].length;i<o;++i){for(a=r=0;r<n;++r)a+=t[r][i][1]||0;if(a)for(r=0;r<n;++r)t[r][i][1]/=a}Nt(t,e)}},t.stackOffsetDiverging=function(t,e){if((s=t.length)>1)for(var r,n,a,i,o,s,l=0,c=t[e[0]].length;l<c;++l)for(i=o=0,r=0;r<s;++r)(a=(n=t[e[r]][l])[1]-n[0])>=0?(n[0]=i,n[1]=i+=a):a<0?(n[1]=o,n[0]=o+=a):n[0]=i},t.stackOffsetNone=Nt,t.stackOffsetSilhouette=function(t,e){if((r=t.length)>0){for(var r,n=0,a=t[e[0]],i=a.length;n<i;++n){for(var o=0,s=0;o<r;++o)s+=t[o][n][1]||0;a[n][1]+=a[n][0]=-s/2}Nt(t,e)}},t.stackOffsetWiggle=function(t,e){if((a=t.length)>0&&(n=(r=t[e[0]]).length)>0){for(var r,n,a,i=0,o=1;o<n;++o){for(var s=0,l=0,c=0;s<a;++s){for(var u=t[e[s]],h=u[o][1]||0,f=(h-(u[o-1][1]||0))/2,p=0;p<s;++p){var d=t[e[p]];f+=(d[o][1]||0)-(d[o-1][1]||0)}l+=h,c+=f*h}r[o-1][1]+=r[o-1][0]=i,l&&(i-=c/l)}r[o-1][1]+=r[o-1][0]=i,Nt(t,e)}},t.stackOrderAppearance=Ut,t.stackOrderAscending=Ht,t.stackOrderDescending=function(t){return Ht(t).reverse()},t.stackOrderInsideOut=function(t){var e,r,n=t.length,a=t.map(Gt),i=Ut(t),o=0,s=0,l=[],c=[];for(e=0;e<n;++e)r=i[e],o<s?(o+=a[r],l.push(r)):(s+=a[r],c.push(r));return c.reverse().concat(l)},t.stackOrderNone=jt,t.stackOrderReverse=function(t){return jt(t).reverse()},Object.defineProperty(t,\"__esModule\",{value:!0})},\"object\"==typeof r&&\"undefined\"!=typeof e?a(r,t(\"d3-path\")):a(n.d3=n.d3||{},n.d3)},{\"d3-path\":161}],164:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e,r,n=0,a=0,i=0,o=1e3,s=0,l=0,c=0,u=\"object\"==typeof performance&&performance.now?performance:Date,h=\"object\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function f(){return l||(h(p),l=u.now()+c)}function p(){l=0}function d(){this._call=this._time=this._next=null}function g(t,e,r){var n=new d;return n.restart(t,e,r),n}function v(){f(),++n;for(var t,r=e;r;)(t=l-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function m(){l=(s=u.now())+c,n=a=0;try{v()}finally{n=0,function(){var t,n,a=e,i=1/0;for(;a;)a._call?(i>a._time&&(i=a._time),t=a,a=a._next):(n=a._next,a._next=null,a=t?t._next=n:e=n);r=t,x(i)}(),l=0}}function y(){var t=u.now(),e=t-s;e>o&&(c-=e,s=t)}function x(t){n||(a&&(a=clearTimeout(a)),t-l>24?(t<1/0&&(a=setTimeout(m,t-u.now()-c)),i&&(i=clearInterval(i))):(i||(s=u.now(),i=setInterval(y,o)),n=1,h(m)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,a){if(\"function\"!=typeof t)throw new TypeError(\"callback is not a function\");a=(null==a?f():+a)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=a,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}},t.now=f,t.timer=g,t.timerFlush=v,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,a=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart(function i(o){o+=a,n.restart(i,a+=e,r),t(o)},e,r),n)},Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],165:[function(t,e,r){!function(){var t={version:\"3.5.17\"},r=[].slice,n=function(t){return r.call(t)},a=this.document;function i(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(a)try{n(a.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,h=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+\"\")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+\"\")},u.setProperty=function(t,e,r){h.call(this,t,e+\"\",r)}}function f(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}t.ascending=f,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.min=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a<i;)if(null!=(n=t[a])&&n>=n){r=n;break}for(;++a<i;)null!=(n=t[a])&&r>n&&(r=n)}else{for(;++a<i;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=n;break}for(;++a<i;)null!=(n=e.call(t,t[a],a))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a<i;)if(null!=(n=t[a])&&n>=n){r=n;break}for(;++a<i;)null!=(n=t[a])&&n>r&&(r=n)}else{for(;++a<i;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=n;break}for(;++a<i;)null!=(n=e.call(t,t[a],a))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,a,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(n=t[i])&&n>=n){r=a=n;break}for(;++i<o;)null!=(n=t[i])&&(r>n&&(r=n),a<n&&(a=n))}else{for(;++i<o;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=a=n;break}for(;++i<o;)null!=(n=e.call(t,t[i],i))&&(r>n&&(r=n),a<n&&(a=n))}return[r,a]},t.sum=function(t,e){var r,n=0,a=t.length,i=-1;if(1===arguments.length)for(;++i<a;)d(r=+t[i])&&(n+=r);else for(;++i<a;)d(r=+e.call(t,t[i],i))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,a=t.length,i=-1,o=a;if(1===arguments.length)for(;++i<a;)d(r=p(t[i]))?n+=r:--o;else for(;++i<a;)d(r=p(e.call(t,t[i],i)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),a=+t[n-1],i=r-n;return i?a+i*(t[n]-a):a},t.median=function(e,r){var n,a=[],i=e.length,o=-1;if(1===arguments.length)for(;++o<i;)d(n=p(e[o]))&&a.push(n);else for(;++o<i;)d(n=p(r.call(e,e[o],o)))&&a.push(n);if(a.length)return t.quantile(a.sort(f),.5)},t.variance=function(t,e){var r,n,a=t.length,i=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<a;)d(r=p(t[s]))&&(o+=(n=r-i)*(r-(i+=n/++l)));else for(;++s<a;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-i)*(r-(i+=n/++l)));if(l>1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var v=g(f);function m(t){return t.length}t.bisectLeft=v.left,t.bisect=t.bisectRight=v.right,t.bisector=function(t){return g(1===t.length?function(e,r){return f(t(e),r)}:t)},t.shuffle=function(t,e,r){(i=arguments.length)<3&&(r=t.length,i<2&&(e=0));for(var n,a,i=r-e;i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],a=new Array(r<0?0:r);e<r;)a[e]=[n,n=t[++e]];return a},t.transpose=function(e){if(!(i=e.length))return[];for(var r=-1,n=t.min(e,m),a=new Array(n);++r<n;)for(var i,o=-1,s=a[r]=new Array(i);++o<i;)s[o]=e[o][r];return a},t.zip=function(){return t.transpose(arguments)},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},t.merge=function(t){for(var e,r,n,a=t.length,i=-1,o=0;++i<a;)o+=t[i].length;for(r=new Array(o);--a>=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error(\"infinite range\");var n,a=[],i=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=i,e*=i,(r*=i)<0)for(;(n=t+r*++o)>e;)a.push(n/i);else for(;(n=t+r*++o)<e;)a.push(n/i);return a},t.map=function(t,e){var r=new b;if(t instanceof b)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,a=-1,i=t.length;if(1===arguments.length)for(;++a<i;)r.set(a,t[a]);else for(;++a<i;)r.set(e.call(t,n=t[a],a),n)}else for(var o in t)r.set(o,t[o]);return r};var _=\"__proto__\",w=\"\\0\";function k(t){return(t+=\"\")===_||t[0]===w?w+t:t}function T(t){return(t+=\"\")[0]===w?t.slice(1):t}function M(t){return k(t)in this._}function A(t){return(t=k(t))in this._&&delete this._[t]}function S(){var t=[];for(var e in this._)t.push(T(e));return t}function E(){var t=0;for(var e in this._)++t;return t}function L(){for(var t in this._)return!1;return!0}function C(){this._=Object.create(null)}function P(t){return t}function O(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function z(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=I.length;r<n;++r){var a=I[r]+e;if(a in t)return a}}x(b,{has:M,get:function(t){return this._[k(t)]},set:function(t,e){return this._[k(t)]=e},remove:A,keys:S,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:T(e),value:this._[e]});return t},size:E,empty:L,forEach:function(t){for(var e in this._)t.call(this,T(e),this._[e])}}),t.nest=function(){var e,r,n={},a=[],i=[];function o(t,i,s){if(s>=a.length)return r?r.call(n,i):e?i.sort(e):i;for(var l,c,u,h,f=-1,p=i.length,d=a[s++],g=new b;++f<p;)(h=g.get(l=d(c=i[f])))?h.push(c):g.set(l,[c]);return t?(c=t(),u=function(e,r){c.set(e,o(t,r,s))}):(c={},u=function(e,r){c[e]=o(t,r,s)}),g.forEach(u),c}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=a.length)return e;var n=[],o=i[r++];return e.forEach(function(e,a){n.push({key:e,values:t(a,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return a.push(t),n},n.sortKeys=function(t){return i[a.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new C;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},x(C,{has:M,add:function(t){return this._[k(t+=\"\")]=!0,t},remove:A,values:S,size:E,empty:L,forEach:function(t){for(var e in this._)t.call(this,T(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,a=arguments.length;++n<a;)t[r=arguments[n]]=O(t,e,e[r]);return t};var I=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];function D(){}function R(){}function F(t){var e=[],r=new b;function n(){for(var r,n=e,a=-1,i=n.length;++a<i;)(r=n[a].on)&&r.apply(this,arguments);return t}return n.on=function(n,a){var i,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(n)),a&&e.push(r.set(n,{on:a})),t)},n}function B(){t.event.preventDefault()}function N(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function j(e){for(var r=new R,n=0,a=arguments.length;++n<a;)r[arguments[n]]=F(r);return r.of=function(n,a){return function(i){try{var o=i.sourceEvent=t.event;i.target=e,t.event=i,r[i.type].apply(n,a)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new R,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=F(t);return t},R.prototype.on=function(t,e){var r=t.indexOf(\".\"),n=\"\";if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(V,\"\\\\$&\")};var V=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,W),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},Y=function(t,e){var r=t.matches||t[z(t,\"matchesSelector\")];return(Y=function(t,e){return r.call(t,e)})(t,e)};\"function\"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,Y=Sizzle.matchesSelector),t.selection=function(){return t.select(a.documentElement)};var W=t.selection.prototype=[];function X(t){return\"function\"==typeof t?t:function(){return H(t,this)}}function Z(t){return\"function\"==typeof t?t:function(){return G(t,this)}}W.select=function(t){var e,r,n,a,i=[];t=X(t);for(var o=-1,s=this.length;++o<s;){i.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(a=n[l])?(e.push(r=t.call(a,a.__data__,l,o)),r&&\"__data__\"in a&&(r.__data__=a.__data__)):e.push(null)}return q(i)},W.selectAll=function(t){var e,r,a=[];t=Z(t);for(var i=-1,o=this.length;++i<o;)for(var s=this[i],l=-1,c=s.length;++l<c;)(r=s[l])&&(a.push(e=n(t.call(r,r.__data__,l,i))),e.parentNode=r);return q(a)};var J=\"http://www.w3.org/1999/xhtml\",K={svg:\"http://www.w3.org/2000/svg\",xhtml:J,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};function Q(e,r){return e=t.ns.qualify(e),null==r?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:\"function\"==typeof r?e.local?function(){var t=r.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}:function(){var t=r.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}:e.local?function(){this.setAttributeNS(e.space,e.local,r)}:function(){this.setAttribute(e,r)}}function $(t){return t.trim().replace(/\\s+/g,\" \")}function tt(e){return new RegExp(\"(?:^|\\\\s+)\"+t.requote(e)+\"(?:\\\\s+|$)\",\"g\")}function et(t){return(t+\"\").trim().split(/^|\\s+/)}function rt(t,e){var r=(t=et(t).map(nt)).length;return\"function\"==typeof e?function(){for(var n=-1,a=e.apply(this,arguments);++n<r;)t[n](this,a)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function nt(t){var e=tt(t);return function(r,n){if(a=r.classList)return n?a.add(t):a.remove(t);var a=r.getAttribute(\"class\")||\"\";n?(e.lastIndex=0,e.test(a)||r.setAttribute(\"class\",$(a+\" \"+t))):r.setAttribute(\"class\",$(a.replace(e,\" \")))}}function at(t,e,r){return null==e?function(){this.style.removeProperty(t)}:\"function\"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function it(t,e){return null==e?function(){delete this[t]}:\"function\"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function ot(e){return\"function\"==typeof e?e:(e=t.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===J&&t.documentElement.namespaceURI===J?t.createElement(e):t.createElementNS(r,e)}}function st(){var t=this.parentNode;t&&t.removeChild(this)}function lt(t){return{__data__:t}}function ct(t){return function(){return Y(this,t)}}function ut(t,e){for(var r=0,n=t.length;r<n;r++)for(var a,i=t[r],o=0,s=i.length;o<s;o++)(a=i[o])&&e(a,o,r);return t}function ht(t){return U(t,ft),t}t.ns={prefix:K,qualify:function(t){var e=t.indexOf(\":\"),r=t;return e>=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),K.hasOwnProperty(r)?{space:K[r],local:t}:t}},W.attr=function(e,r){if(arguments.length<2){if(\"string\"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(Q(r,e[r]));return this}return this.each(Q(e,r))},W.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=et(t)).length,a=-1;if(e=r.classList){for(;++a<n;)if(!e.contains(t[a]))return!1}else for(e=r.getAttribute(\"class\");++a<n;)if(!tt(t[a]).test(e))return!1;return!0}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},W.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.each(at(r,t[r],e));return this}if(n<2){var a=this.node();return o(a).getComputedStyle(a,null).getPropertyValue(t)}r=\"\"}return this.each(at(t,e,r))},W.property=function(t,e){if(arguments.length<2){if(\"string\"==typeof t)return this.node()[t];for(e in t)this.each(it(e,t[e]));return this}return this.each(it(t,e))},W.text=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?\"\":e}:null==t?function(){this.textContent=\"\"}:function(){this.textContent=t}):this.node().textContent},W.html=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?\"\":e}:null==t?function(){this.innerHTML=\"\"}:function(){this.innerHTML=t}):this.node().innerHTML},W.append=function(t){return t=ot(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},W.insert=function(t,e){return t=ot(t),e=X(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},W.remove=function(){return this.each(st)},W.data=function(t,e){var r,n,a=-1,i=this.length;if(!arguments.length){for(t=new Array(i=(r=this[0]).length);++a<i;)(n=r[a])&&(t[a]=n.__data__);return t}function o(t,r){var n,a,i,o=t.length,u=r.length,h=Math.min(o,u),f=new Array(u),p=new Array(u),d=new Array(o);if(e){var g,v=new b,m=new Array(o);for(n=-1;++n<o;)(a=t[n])&&(v.has(g=e.call(a,a.__data__,n))?d[n]=a:v.set(g,a),m[n]=g);for(n=-1;++n<u;)(a=v.get(g=e.call(r,i=r[n],n)))?!0!==a&&(f[n]=a,a.__data__=i):p[n]=lt(i),v.set(g,!0);for(n=-1;++n<o;)n in m&&!0!==v.get(m[n])&&(d[n]=t[n])}else{for(n=-1;++n<h;)a=t[n],i=r[n],a?(a.__data__=i,f[n]=a):p[n]=lt(i);for(;n<u;++n)p[n]=lt(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=f,p.parentNode=f.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(f),c.push(d)}var s=ht([]),l=q([]),c=q([]);if(\"function\"==typeof t)for(;++a<i;)o(r=this[a],t.call(r,r.parentNode.__data__,a));else for(;++a<i;)o(r=this[a],t);return l.enter=function(){return s},l.exit=function(){return c},l},W.datum=function(t){return arguments.length?this.property(\"__data__\",t):this.property(\"__data__\")},W.filter=function(t){var e,r,n,a=[];\"function\"!=typeof t&&(t=ct(t));for(var i=0,o=this.length;i<o;i++){a.push(e=[]),e.parentNode=(r=this[i]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,i)&&e.push(n)}return q(a)},W.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],a=n.length-1,i=n[a];--a>=0;)(r=n[a])&&(i&&i!==r.nextSibling&&i.parentNode.insertBefore(r,i),i=r);return this},W.sort=function(t){t=function(t){arguments.length||(t=f);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},W.each=function(t){return ut(this,function(e,r,n){t.call(e,e.__data__,r,n)})},W.call=function(t){var e=n(arguments);return t.apply(e[0]=this,e),this},W.empty=function(){return!this.node()},W.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,a=r.length;n<a;n++){var i=r[n];if(i)return i}return null},W.size=function(){var t=0;return ut(this,function(){++t}),t};var ft=[];function pt(e,r,a){var i=\"__on\"+e,o=e.indexOf(\".\"),s=gt;o>0&&(e=e.slice(0,o));var l=dt.get(e);function c(){var t=this[i];t&&(this.removeEventListener(e,t,t.$),delete this[i])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[i]=t,t.$=a),t._=r}:c:r?D:function(){var r,n=new RegExp(\"^__on([^.]+)\"+t.requote(e)+\"$\");for(var a in this)if(r=a.match(n)){var i=this[a];this.removeEventListener(r[1],i,i.$),delete this[a]}}}t.selection.enter=ht,t.selection.enter.prototype=ft,ft.append=W.append,ft.empty=W.empty,ft.node=W.node,ft.call=W.call,ft.size=W.size,ft.select=function(t){for(var e,r,n,a,i,o=[],s=-1,l=this.length;++s<l;){n=(a=this[s]).update,o.push(e=[]),e.parentNode=a.parentNode;for(var c=-1,u=a.length;++c<u;)(i=a[c])?(e.push(n[c]=r=t.call(a.parentNode,i.__data__,c,s)),r.__data__=i.__data__):e.push(null)}return q(o)},ft.insert=function(t,e){var r,n,a;return arguments.length<2&&(r=this,e=function(t,e,i){var o,s=r[i].update,l=s.length;for(i!=a&&(a=i,n=0),e>=n&&(n=e+1);!(o=s[n])&&++n<l;);return o}),W.insert.call(this,t,e)},t.select=function(t){var e;return\"string\"==typeof t?(e=[H(t,a)]).parentNode=a.documentElement:(e=[t]).parentNode=i(t),q([e])},t.selectAll=function(t){var e;return\"string\"==typeof t?(e=n(G(t,a))).parentNode=a.documentElement:(e=n(t)).parentNode=null,q([e])},W.on=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=!1),t)this.each(pt(r,t[r],e));return this}if(n<2)return(n=this.node()[\"__on\"+t])&&n._;r=!1}return this.each(pt(t,e,r))};var dt=t.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});function gt(e,r){return function(n){var a=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=a}}}function vt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}a&&dt.forEach(function(t){\"on\"+t in a&&dt.remove(t)});var mt,yt=0;function xt(e){var r=\".dragsuppress-\"+ ++yt,n=\"click\"+r,a=t.select(o(e)).on(\"touchmove\"+r,B).on(\"dragstart\"+r,B).on(\"selectstart\"+r,B);if(null==mt&&(mt=!(\"onselectstart\"in e)&&z(e.style,\"userSelect\")),mt){var s=i(e).style,l=s[mt];s[mt]=\"none\"}return function(t){if(a.on(r,null),mt&&(s[mt]=l),t){var e=function(){a.on(n,null)};a.on(n,function(){B(),e()},!0),setTimeout(e,0)}}}t.mouse=function(t){return _t(t,N())};var bt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function _t(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var a=n.createSVGPoint();if(bt<0){var i=o(e);if(i.scrollX||i.scrollY){var s=(n=t.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\"))[0][0].getScreenCTM();bt=!(s.f||s.e),n.remove()}}return bt?(a.x=r.pageX,a.y=r.pageY):(a.x=r.clientX,a.y=r.clientY),[(a=a.matrixTransform(e.getScreenCTM().inverse())).x,a.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function wt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=N().changedTouches),e)for(var n,a=0,i=e.length;a<i;++a)if((n=e[a]).identifier===r)return _t(t,n)},t.behavior.drag=function(){var e=j(i,\"drag\",\"dragstart\",\"dragend\"),r=null,n=s(D,t.mouse,o,\"mousemove\",\"mouseup\"),a=s(wt,t.touch,P,\"touchmove\",\"touchend\");function i(){this.on(\"mousedown.drag\",n).on(\"touchstart.drag\",a)}function s(n,a,i,o,s){return function(){var l,c=t.event.target.correspondingElement||t.event.target,u=this.parentNode,h=e.of(this,arguments),f=0,p=n(),d=\".drag\"+(null==p?\"\":\"-\"+p),g=t.select(i(c)).on(o+d,function(){var t,e,r=a(u,p);if(!r)return;t=r[0]-m[0],e=r[1]-m[1],f|=t|e,m=r,h({type:\"drag\",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e})}).on(s+d,function(){if(!a(u,p))return;g.on(o+d,null).on(s+d,null),v(f),h({type:\"dragend\"})}),v=xt(c),m=a(u,p);l=r?[(l=r.apply(this,arguments)).x-m[0],l.y-m[1]]:[0,0],h({type:\"dragstart\"})}}return i.origin=function(t){return arguments.length?(r=t,i):r},t.rebind(i,e,\"on\")},t.touches=function(t,e){return arguments.length<2&&(e=N().touches),e?n(e).map(function(e){var r=_t(t,e);return r.identifier=e.identifier,r}):[]};var kt=1e-6,Tt=kt*kt,Mt=Math.PI,At=2*Mt,St=At-kt,Et=Mt/2,Lt=Mt/180,Ct=180/Mt;function Pt(t){return t>0?1:t<0?-1:0}function Ot(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function zt(t){return t>1?0:t<-1?Mt:Math.acos(t)}function It(t){return t>1?Et:t<-1?-Et:Math.asin(t)}function Dt(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Ft=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-a,h=l-i,f=u*u+h*h;if(f<Tt)n=Math.log(c/o)/Ft,r=function(t){return[a+t*u,i+t*h,o*Math.exp(Ft*t*n)]};else{var p=Math.sqrt(f),d=(c*c-o*o+4*f)/(2*o*2*p),g=(c*c-o*o-4*f)/(2*c*2*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/Ft,r=function(t){var e,r=t*n,s=Dt(v),l=o/(2*p)*(s*(e=Ft*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[a+l*u,i+l*h,o*s/Dt(Ft*r+v)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,i,s,l,c,u,h,f={x:0,y:0,k:1},p=[960,500],d=jt,g=250,v=0,m=\"mousedown.zoom\",y=\"mousemove.zoom\",x=\"mouseup.zoom\",b=\"touchstart.zoom\",_=j(w,\"zoomstart\",\"zoom\",\"zoomend\");function w(t){t.on(m,P).on(Nt+\".zoom\",z).on(\"dblclick.zoom\",I).on(b,O)}function k(t){return[(t[0]-f.x)/f.k,(t[1]-f.y)/f.k]}function T(t){f.k=Math.max(d[0],Math.min(d[1],t))}function M(t,e){e=function(t){return[t[0]*f.k+f.x,t[1]*f.k+f.y]}(e),f.x+=t[0]-e[0],f.y+=t[1]-e[1]}function A(e,n,a,i){e.__chart__={x:f.x,y:f.y,k:f.k},T(Math.pow(2,i)),M(r=n,a),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map(function(t){return(t-f.x)/f.k}).map(l.invert)),h&&h.domain(u.range().map(function(t){return(t-f.y)/f.k}).map(u.invert))}function E(t){v++||t({type:\"zoomstart\"})}function L(t){S(),t({type:\"zoom\",scale:f.k,translate:[f.x,f.y]})}function C(t){--v||(t({type:\"zoomend\"}),r=null)}function P(){var e=this,r=_.of(e,arguments),n=0,a=t.select(o(e)).on(y,function(){n=1,M(t.mouse(e),i),L(r)}).on(x,function(){a.on(y,null).on(x,null),s(n),C(r)}),i=k(t.mouse(e)),s=xt(e);ps.call(e),E(r)}function O(){var e,r=this,n=_.of(r,arguments),a={},i=0,o=\".zoom-\"+t.event.changedTouches[0].identifier,l=\"touchmove\"+o,c=\"touchend\"+o,u=[],h=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=f.k,n.forEach(function(t){t.identifier in a&&(a[t.identifier]=k(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,v).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,h=n.length;o<h;++o)a[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var m=p[0];A(r,m,a[m.identifier],Math.floor(Math.log(f.k)/Math.LN2)+1),B()}s=g}else if(p.length>1){m=p[0];var x=p[1],b=m[0]-x[0],_=m[1]-x[1];i=b*b+_*_}}function v(){var o,l,c,u,h=t.touches(r);ps.call(r);for(var f=0,p=h.length;f<p;++f,u=null)if(c=h[f],u=a[c.identifier]){if(l)break;o=c,l=u}if(u){var d=(d=c[0]-o[0])*d+(d=c[1]-o[1])*d,g=i&&Math.sqrt(d/i);o=[(o[0]+c[0])/2,(o[1]+c[1])/2],l=[(l[0]+u[0])/2,(l[1]+u[1])/2],T(g*e)}s=null,M(o,l),L(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,i=e.length;r<i;++r)delete a[e[r].identifier];for(var s in a)return void d()}t.selectAll(u).on(o,null),h.on(m,P).on(b,O),p(),C(n)}g(),E(n),h.on(m,null).on(b,g)}function z(){var a=_.of(this,arguments);i?clearTimeout(i):(ps.call(this),e=k(r=n||t.mouse(this)),E(a)),i=setTimeout(function(){i=null,C(a)},50),B(),T(Math.pow(2,.002*Bt())*f.k),M(r,e),L(a)}function I(){var e=t.mouse(this),r=Math.log(f.k)/Math.LN2;A(this,e,k(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Nt||(Nt=\"onwheel\"in a?(Bt=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in a?(Bt=function(){return t.event.wheelDelta},\"mousewheel\"):(Bt=function(){return-t.event.detail},\"MozMousePixelScroll\")),w.event=function(e){e.each(function(){var e=_.of(this,arguments),n=f;vs?t.select(this).transition().each(\"start.zoom\",function(){f=this.__chart__||{x:0,y:0,k:1},E(e)}).tween(\"zoom:zoom\",function(){var a=p[0],i=p[1],o=r?r[0]:a/2,s=r?r[1]:i/2,l=t.interpolateZoom([(o-f.x)/f.k,(s-f.y)/f.k,a/f.k],[(o-n.x)/n.k,(s-n.y)/n.k,a/n.k]);return function(t){var r=l(t),n=a/r[2];this.__chart__=f={x:o-r[0]*n,y:s-r[1]*n,k:n},L(e)}}).each(\"interrupt.zoom\",function(){C(e)}).each(\"end.zoom\",function(){C(e)}):(this.__chart__=f,E(e),L(e),C(e))})},w.translate=function(t){return arguments.length?(f={x:+t[0],y:+t[1],k:f.k},S(),w):[f.x,f.y]},w.scale=function(t){return arguments.length?(f={x:f.x,y:f.y,k:null},T(+t),S(),w):f.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(n=t&&[+t[0],+t[1]],w):n},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(g=+t,w):g},w.x=function(t){return arguments.length?(c=t,l=t.copy(),f={x:0,y:0,k:1},w):c},w.y=function(t){return arguments.length?(h=t,u=t.copy(),f={x:0,y:0,k:1},w):h},t.rebind(w,_,\"on\")};var Bt,Nt,jt=[0,1/0];function Vt(){}function Ut(t,e,r){return this instanceof Ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof Ut?new Ut(t.h,t.s,t.l):ue(\"\"+t,he,Ut):new Ut(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+\"\"},t.hsl=Ut;var qt=Ut.prototype=new Vt;function Ht(t,e,r){var n,a;function i(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(a-n)*t/60:t<180?a:t<240?n+(a-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(a=r<=.5?r*(1+e):r+e-r*e),new ie(i(t+120),i(t),i(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=fe((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Yt=Gt.prototype=new Vt;function Wt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Lt)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Wt(t.h,t.c,t.l):fe((t=ie(t)).r,t.g,t.b):new Xt(t,e,r)}Yt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Yt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Yt.rgb=function(){return Wt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,Jt=.95047,Kt=1,Qt=1.08883,$t=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,a=n+e/500,i=n-r/200;return new ie(ae(3.2404542*(a=re(a)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(i=re(i)*Qt)),ae(-.969266*a+1.8760108*n+.041556*i),ae(.0556434*a-.2040259*n+1.0572252*i))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Ct,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ae(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ie(t,e,r){return this instanceof ie?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ie?new ie(t.r,t.g,t.b):ue(\"\"+t,ie,Ht):new ie(t,e,r)}function oe(t){return new ie(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+\"\"}$t.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ie;var le=ie.prototype=new Vt;function ce(t){return t<16?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,a,i,o=0,s=0,l=0;if(n=/([a-z]+)\\((.*)\\)/.exec(t=t.toLowerCase()))switch(a=n[2].split(\",\"),n[1]){case\"hsl\":return r(parseFloat(a[0]),parseFloat(a[1])/100,parseFloat(a[2])/100);case\"rgb\":return e(de(a[0]),de(a[1]),de(a[2]))}return(i=ge.get(t))?e(i.r,i.g,i.b):(null==t||\"#\"!==t.charAt(0)||isNaN(i=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&i)>>4,o|=o>>4,s=240&i,s|=s>>4,l=15&i,l|=l<<4):7===t.length&&(o=(16711680&i)>>16,s=(65280&i)>>8,l=255&i)),e(o,s,l))}function he(t,e,r){var n,a,i=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-i,l=(o+i)/2;return s?(a=l<.5?s/(o+i):s/(2-o-i),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,a=l>0&&l<1?0:n),new Ut(n,a,l)}function fe(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),a=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*a-16,500*(n-a),200*(a-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return\"%\"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,a=30;return e||r||n?(e&&e<a&&(e=a),r&&r<a&&(r=a),n&&n<a&&(n=a),new ie(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ie(a,a,a)},le.darker=function(t){return new ie((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},le.hsl=function(){return he(this.r,this.g,this.b)},le.toString=function(){return\"#\"+ce(this.r)+ce(this.g)+ce(this.b)};var ge=t.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 ve(t){return\"function\"==typeof t?t:function(){return t}}function me(t){return function(e,r,n){return 2===arguments.length&&\"function\"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(e,r,a,i){var o={},s=t.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),l={},c=new XMLHttpRequest,u=null;function h(){var t,e=c.status;if(!e&&function(t){var e=t.responseType;return e&&\"text\"!==e?t.response:t.responseText}(c)||e>=200&&e<300||304===e){try{t=a.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return!this.XDomainRequest||\"withCredentials\"in c||!/^(http(s)?:)?\\/\\//.test(e)||(c=new XDomainRequest),\"onload\"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+\"\").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+\"\",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+\"\",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return a=t,o},[\"get\",\"post\"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,a){if(2===arguments.length&&\"function\"==typeof n&&(a=n,n=null),c.open(t,e,!0),null==r||\"accept\"in l||(l.accept=r+\",*/*\"),c.setRequestHeader)for(var i in l)c.setRequestHeader(i,l[i]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=a&&o.on(\"error\",a).on(\"load\",function(t){a(null,t)}),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,\"on\"),null==i?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(i))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=ve,t.xhr=me(P),t.dsv=function(t,e){var r=new RegExp('[\"'+t+\"\\n]\"),n=t.charCodeAt(0);function a(t,r,n){arguments.length<3&&(n=r,r=null);var a=ye(t,e,null==r?i:o(r),n);return a.row=function(t){return arguments.length?a.response(null==(r=t)?i:o(t)):r},a}function i(t){return a.parse(t.responseText)}function o(t){return function(e){return a.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'\"'+t.replace(/\\\"/g,'\"\"')+'\"':t}return a.parse=function(t,e){var r;return a.parseRows(t,function(t,n){if(r)return r(t,n-1);var a=new Function(\"d\",\"return {\"+t.map(function(t,e){return JSON.stringify(t)+\": d[\"+e+\"]\"}).join(\",\")+\"}\");r=e?function(t,r){return e(a(t),r)}:a})},a.parseRows=function(t,e){var r,a,i={},o={},s=[],l=t.length,c=0,u=0;function h(){if(c>=l)return o;if(a)return a=!1,i;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return c=r+2,13===(s=t.charCodeAt(r+1))?(a=!0,10===t.charCodeAt(r+2)&&++c):10===s&&(a=!0),t.slice(e+1,r).replace(/\"\"/g,'\"')}for(;c<l;){var s,u=1;if(10===(s=t.charCodeAt(c++)))a=!0;else if(13===s)a=!0,10===t.charCodeAt(c)&&(++c,++u);else if(s!==n)continue;return t.slice(e,c-u)}return t.slice(e)}for(;(r=h())!==o;){for(var f=[];r!==i&&r!==o;)f.push(r),r=h();e&&null==(f=e(f,u++))||s.push(f)}return s},a.format=function(e){if(Array.isArray(e[0]))return a.formatRows(e);var r=new C,n=[];return e.forEach(function(t){for(var e in t)r.has(e)||n.push(r.add(e))}),[n.map(l).join(t)].concat(e.map(function(e){return n.map(function(t){return l(e[t])}).join(t)})).join(\"\\n\")},a.formatRows=function(t){return t.map(s).join(\"\\n\")},a},t.csv=t.dsv(\",\",\"text/csv\"),t.tsv=t.dsv(\"\\t\",\"text/tab-separated-values\");var xe,be,_e,we,ke=this[z(this,\"requestAnimationFrame\")]||function(t){setTimeout(t,17)};function Te(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var a={c:t,t:r+e,n:null};return be?be.n=a:xe=a,be=a,_e||(we=clearTimeout(we),_e=1,ke(Me)),a}function Me(){var t=Ae(),e=Se()-t;e>24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Me,e)),_e=0):(_e=1,ke(Me))}function Ae(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:xe=e.n;return be=t,r}function Ee(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){Te.apply(this,arguments)},t.timer.flush=function(){Ae(),Se()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Le=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xb5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"].map(function(t,e){var r=Math.pow(10,3*y(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}});function Ce(e){var r=e.decimal,n=e.thousands,a=e.grouping,i=e.currency,o=a&&n?function(t,e){for(var r=t.length,i=[],o=0,s=a[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),i.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=a[o=(o+1)%a.length];return i.reverse().join(n)}:P;return function(e){var n=Pe.exec(e),a=n[1]||\" \",s=n[2]||\">\",l=n[3]||\"-\",c=n[4]||\"\",u=n[5],h=+n[6],f=n[7],p=n[8],d=n[9],g=1,v=\"\",m=\"\",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||\"0\"===a&&\"=\"===s)&&(u=a=\"0\",s=\"=\"),d){case\"n\":f=!0,d=\"g\";break;case\"%\":g=100,m=\"%\",d=\"f\";break;case\"p\":g=100,m=\"%\",d=\"r\";break;case\"b\":case\"o\":case\"x\":case\"X\":\"#\"===c&&(v=\"0\"+d.toLowerCase());case\"c\":x=!1;case\"d\":y=!0,p=0;break;case\"s\":g=-1,d=\"r\"}\"$\"===c&&(v=i[0],m=i[1]),\"r\"!=d||p||(d=\"g\"),null!=p&&(\"g\"==d?p=Math.max(1,Math.min(21,p)):\"e\"!=d&&\"f\"!=d||(p=Math.max(0,Math.min(20,p)))),d=Oe.get(d)||ze;var b=u&&f;return function(e){var n=m;if(y&&e%1)return\"\";var i=e<0||0===e&&1/e<0?(e=-e,\"-\"):\"-\"===l?\"\":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+m}else e*=g;var _,w,k=(e=d(e,p)).lastIndexOf(\".\");if(k<0){var T=x?e.lastIndexOf(\"e\"):-1;T<0?(_=e,w=\"\"):(_=e.substring(0,T),w=e.substring(T))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&f&&(_=o(_,1/0));var M=v.length+_.length+w.length+(b?0:i.length),A=M<h?new Array(M=h-M+1).join(a):\"\";return b&&(_=o(A+_,A.length?h-w.length:1/0)),i+=v,e=_+w,(\"<\"===s?i+e+A:\">\"===s?A+i+e:\"^\"===s?A.substring(0,M>>=1)+i+e+A.substring(M):i+(b?e:A+e))+n}}}t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ee(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Le[8+n/3]};var Pe=/(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i,Oe=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,Ee(e,r))).toFixed(Math.max(0,Math.min(20,Ee(e*(1+1e-15),r))))}});function ze(t){return t+\"\"}var Ie=t.time={},De=Date;function Re(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Re.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Fe.setUTCDate.apply(this._,arguments)},setDay:function(){Fe.setUTCDay.apply(this._,arguments)},setFullYear:function(){Fe.setUTCFullYear.apply(this._,arguments)},setHours:function(){Fe.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Fe.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Fe.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Fe.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Fe.setUTCSeconds.apply(this._,arguments)},setTime:function(){Fe.setTime.apply(this._,arguments)}};var Fe=Date.prototype;function Be(t,e,r){function n(e){var r=t(e),n=i(r,1);return e-r<n-e?r:n}function a(r){return e(r=t(new De(r-1)),1),r}function i(t,r){return e(t=new De(+t),r),t}function o(t,n,i){var o=a(t),s=[];if(i>1)for(;o<n;)r(o)%i||s.push(new Date(+o)),e(o,1);else for(;o<n;)s.push(new Date(+o)),e(o,1);return s}t.floor=t,t.round=n,t.ceil=a,t.offset=i,t.range=o;var s=t.utc=Ne(t);return s.floor=s,s.round=Ne(n),s.ceil=Ne(a),s.offset=Ne(i),s.range=function(t,e,r){try{De=Re;var n=new Re;return n._=t,o(n,e,r)}finally{De=Date}},t}function Ne(t){return function(e,r){try{De=Re;var n=new Re;return n._=e,t(n,r)._}finally{De=Date}}}function je(e){var r=e.dateTime,n=e.date,a=e.time,i=e.periods,o=e.days,s=e.shortDays,l=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,a,i,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(a=Ve[n=t.charAt(++s)])&&(n=t.charAt(++s)),(i=_[n])&&(n=i(r,null==a?\"e\"===n?\" \":\"0\":a)),o.push(n),l=s+1);return o.push(t.slice(l,s)),o.join(\"\")}return r.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(h(r,t,e,0)!=e.length)return null;\"p\"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&De!==Re,a=new(n?Re:De);return\"j\"in r?a.setFullYear(r.y,0,r.j):\"W\"in r||\"U\"in r?(\"w\"in r||(r.w=\"W\"in r?1:0),a.setFullYear(r.y,0,1),a.setFullYear(r.y,0,\"W\"in r?(r.w+6)%7+7*r.W-(a.getDay()+5)%7:r.w+7*r.U-(a.getDay()+6)%7)):a.setFullYear(r.y,r.m,r.d),a.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?a._:a},r.toString=function(){return t},r}function h(t,e,r,n){for(var a,i,o,s=0,l=e.length,c=r.length;s<l;){if(n>=c)return-1;if(37===(a=e.charCodeAt(s++))){if(o=e.charAt(s++),!(i=w[o in Ve?e.charAt(s++):o])||(n=i(t,r,n))<0)return-1}else if(a!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(De=Re);return r._=t,e(r)}finally{De=Date}}return r.parse=function(t){try{De=Re;var r=e.parse(t);return r&&r._}finally{De=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=lr;var f=t.map(),p=Ge(o),d=Ye(o),g=Ge(s),v=Ye(s),m=Ge(l),y=Ye(l),x=Ge(c),b=Ye(c);i.forEach(function(t,e){f.set(t.toLowerCase(),e)});var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return He(t.getDate(),e,2)},e:function(t,e){return He(t.getDate(),e,2)},H:function(t,e){return He(t.getHours(),e,2)},I:function(t,e){return He(t.getHours()%12||12,e,2)},j:function(t,e){return He(1+Ie.dayOfYear(t),e,3)},L:function(t,e){return He(t.getMilliseconds(),e,3)},m:function(t,e){return He(t.getMonth()+1,e,2)},M:function(t,e){return He(t.getMinutes(),e,2)},p:function(t){return i[+(t.getHours()>=12)]},S:function(t,e){return He(t.getSeconds(),e,2)},U:function(t,e){return He(Ie.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return He(Ie.mondayOfYear(t),e,2)},x:u(n),X:u(a),y:function(t,e){return He(t.getFullYear()%100,e,2)},Y:function(t,e){return He(t.getFullYear()%1e4,e,4)},Z:or,\"%\":function(){return\"%\"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=v.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){m.lastIndex=0;var n=m.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return h(t,_.c.toString(),e,r)},d:tr,e:tr,H:rr,I:rr,j:er,L:ir,m:$e,M:nr,p:function(t,e,r){var n=f.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:ar,U:Xe,w:We,W:Ze,x:function(t,e,r){return h(t,_.x.toString(),e,r)},X:function(t,e,r){return h(t,_.X.toString(),e,r)},y:Ke,Y:Je,Z:Qe,\"%\":sr};return u}Ie.year=Be(function(t){return(t=Ie.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),Ie.years=Ie.year.range,Ie.years.utc=Ie.year.utc.range,Ie.day=Be(function(t){var e=new De(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),Ie.days=Ie.day.range,Ie.days.utc=Ie.day.utc.range,Ie.dayOfYear=function(t){var e=Ie.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},[\"sunday\",\"monday\",\"tuesday\",\"wednesday\",\"thursday\",\"friday\",\"saturday\"].forEach(function(t,e){e=7-e;var r=Ie[t]=Be(function(t){return(t=Ie.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var r=Ie.year(t).getDay();return Math.floor((Ie.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});Ie[t+\"s\"]=r.range,Ie[t+\"s\"].utc=r.utc.range,Ie[t+\"OfYear\"]=function(t){var r=Ie.year(t).getDay();return Math.floor((Ie.dayOfYear(t)+(r+e)%7)/7)}}),Ie.week=Ie.sunday,Ie.weeks=Ie.sunday.range,Ie.weeks.utc=Ie.sunday.utc.range,Ie.weekOfYear=Ie.sundayOfYear;var Ve={\"-\":\"\",_:\" \",0:\"0\"},Ue=/^\\s*\\d+/,qe=/^%/;function He(t,e,r){var n=t<0?\"-\":\"\",a=(n?-t:t)+\"\",i=a.length;return n+(i<r?new Array(r-i+1).join(e)+a:a)}function Ge(e){return new RegExp(\"^(?:\"+e.map(t.requote).join(\"|\")+\")\",\"i\")}function Ye(t){for(var e=new b,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function We(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Xe(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Ze(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Je(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Ke(t,e,r){Ue.lastIndex=0;var n,a=Ue.exec(e.slice(r,r+2));return a?(t.y=(n=+a[0])+(n>68?1900:2e3),r+a[0].length):-1}function Qe(t,e,r){return/^[+-]\\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function $e(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function tr(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function er(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function rr(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function nr(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function ar(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function ir(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function or(t){var e=t.getTimezoneOffset(),r=e>0?\"-\":\"+\",n=y(e)/60|0,a=y(e)%60;return r+He(n,\"0\",2)+He(a,\"0\",2)}function sr(t,e,r){qe.lastIndex=0;var n=qe.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function lr(t){for(var e=t.length,r=-1;++r<e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}t.locale=function(t){return{numberFormat:Ce(t),timeFormat:je(t)}};var cr=t.locale({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],dateTime:\"%a %b %e %X %Y\",date:\"%m/%d/%Y\",time:\"%H:%M:%S\",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 ur(){}t.format=cr.numberFormat,t.geo={},ur.prototype={s:0,t:0,add:function(t){fr(t,this.t,hr),fr(hr.s,this.s,this),this.s?this.t+=hr.t:this.s=hr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var hr=new ur;function fr(t,e,r){var n=r.s=t+e,a=n-t,i=n-a;r.t=t-i+(e-a)}function pr(t,e){t&&gr.hasOwnProperty(t.type)&&gr[t.type](t,e)}t.geo.stream=function(t,e){t&&dr.hasOwnProperty(t.type)?dr[t.type](t,e):pr(t,e)};var dr={Feature:function(t,e){pr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,a=r.length;++n<a;)pr(r[n].geometry,e)}},gr={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){vr(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)vr(r[n],e,0)},Polygon:function(t,e){mr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)mr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,a=r.length;++n<a;)pr(r[n],e)}};function vr(t,e,r){var n,a=-1,i=t.length-r;for(e.lineStart();++a<i;)n=t[a],e.point(n[0],n[1],n[2]);e.lineEnd()}function mr(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)vr(t[r],e,1);e.polygonEnd()}t.geo.area=function(e){return yr=0,t.geo.stream(e,Pr),yr};var yr,xr,br,_r,wr,kr,Tr,Mr,Ar,Sr,Er,Lr,Cr=new ur,Pr={sphere:function(){yr+=4*Mt},point:D,lineStart:D,lineEnd:D,polygonStart:function(){Cr.reset(),Pr.lineStart=Or},polygonEnd:function(){var t=2*Cr;yr+=t<0?4*Mt+t:t,Pr.lineStart=Pr.lineEnd=Pr.point=D}};function Or(){var t,e,r,n,a;function i(t,e){e=e*Lt/2+Mt/4;var i=(t*=Lt)-r,o=i>=0?1:-1,s=o*i,l=Math.cos(e),c=Math.sin(e),u=a*c,h=n*l+u*Math.cos(s),f=u*o*Math.sin(s);Cr.add(Math.atan2(f,h)),r=t,n=l,a=c}Pr.point=function(o,s){Pr.point=i,r=(t=o)*Lt,n=Math.cos(s=(e=s)*Lt/2+Mt/4),a=Math.sin(s)},Pr.lineEnd=function(){i(t,e)}}function zr(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Ir(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Dr(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Rr(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Fr(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Br(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Nr(t){return[Math.atan2(t[1],t[0]),It(t[2])]}function jr(t,e){return y(t[0]-e[0])<kt&&y(t[1]-e[1])<kt}t.geo.bounds=function(){var e,r,n,a,i,o,s,l,c,u,h,f={point:p,lineStart:g,lineEnd:v,polygonStart:function(){f.point=m,f.lineStart=x,f.lineEnd=b,c=0,Pr.polygonStart()},polygonEnd:function(){Pr.polygonEnd(),f.point=p,f.lineStart=g,f.lineEnd=v,Cr<0?(e=-(n=180),r=-(a=90)):c>kt?a=90:c<-kt&&(r=-90),h[0]=e,h[1]=n}};function p(t,i){u.push(h=[e=t,n=t]),i<r&&(r=i),i>a&&(a=i)}function d(t,o){var s=zr([t*Lt,o*Lt]);if(l){var c=Dr(l,s),u=Dr([c[1],-c[0],0],c);Br(u),u=Nr(u);var h=t-i,f=h>0?1:-1,d=u[0]*Ct*f,g=y(h)>180;if(g^(f*i<d&&d<f*t))(v=u[1]*Ct)>a&&(a=v);else if(g^(f*i<(d=(d+360)%360-180)&&d<f*t)){var v;(v=-u[1]*Ct)<r&&(r=v)}else o<r&&(r=o),o>a&&(a=o);g?t<i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,i=t}function g(){f.point=d}function v(){h[0]=e,h[1]=n,f.point=p,l=null}function m(t,e){if(l){var r=t-i;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Pr.point(t,e),d(t,e)}function x(){Pr.lineStart()}function b(){m(o,s),Pr.lineEnd(),y(c)>kt&&(e=-(n=180)),h[0]=e,h[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(i){if(a=n=-(e=r=1/0),u=[],t.geo.stream(i,f),c=u.length){u.sort(w);for(var o=1,s=[g=u[0]];o<c;++o)k((p=u[o])[0],g)||k(p[1],g)?(_(g[0],p[1])>_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=h=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,a]]}}(),t.geo.centroid=function(e){xr=br=_r=wr=kr=Tr=Mr=Ar=Sr=Er=Lr=0,t.geo.stream(e,Vr);var r=Sr,n=Er,a=Lr,i=r*r+n*n+a*a;return i<Tt&&(r=Tr,n=Mr,a=Ar,br<kt&&(r=_r,n=wr,a=kr),(i=r*r+n*n+a*a)<Tt)?[NaN,NaN]:[Math.atan2(n,r)*Ct,It(a/Math.sqrt(i))*Ct]};var Vr={sphere:D,point:Ur,lineStart:Hr,lineEnd:Gr,polygonStart:function(){Vr.lineStart=Yr},polygonEnd:function(){Vr.lineStart=Hr}};function Ur(t,e){t*=Lt;var r=Math.cos(e*=Lt);qr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function qr(t,e,r){_r+=(t-_r)/++xr,wr+=(e-wr)/xr,kr+=(r-kr)/xr}function Hr(){var t,e,r;function n(n,a){n*=Lt;var i=Math.cos(a*=Lt),o=i*Math.cos(n),s=i*Math.sin(n),l=Math.sin(a),c=Math.atan2(Math.sqrt((c=e*l-r*s)*c+(c=r*o-t*l)*c+(c=t*s-e*o)*c),t*o+e*s+r*l);br+=c,Tr+=c*(t+(t=o)),Mr+=c*(e+(e=s)),Ar+=c*(r+(r=l)),qr(t,e,r)}Vr.point=function(a,i){a*=Lt;var o=Math.cos(i*=Lt);t=o*Math.cos(a),e=o*Math.sin(a),r=Math.sin(i),Vr.point=n,qr(t,e,r)}}function Gr(){Vr.point=Ur}function Yr(){var t,e,r,n,a;function i(t,e){t*=Lt;var i=Math.cos(e*=Lt),o=i*Math.cos(t),s=i*Math.sin(t),l=Math.sin(e),c=n*l-a*s,u=a*o-r*l,h=r*s-n*o,f=Math.sqrt(c*c+u*u+h*h),p=r*o+n*s+a*l,d=f&&-zt(p)/f,g=Math.atan2(f,p);Sr+=d*c,Er+=d*u,Lr+=d*h,br+=g,Tr+=g*(r+(r=o)),Mr+=g*(n+(n=s)),Ar+=g*(a+(a=l)),qr(r,n,a)}Vr.point=function(o,s){t=o,e=s,Vr.point=i,o*=Lt;var l=Math.cos(s*=Lt);r=l*Math.cos(o),n=l*Math.sin(o),a=Math.sin(s),qr(r,n,a)},Vr.lineEnd=function(){i(t,e),Vr.lineEnd=Gr,Vr.point=Ur}}function Wr(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return(r=e.invert(r,n))&&t.invert(r[0],r[1])}),r}function Xr(){return!0}function Zr(t,e,r,n,a){var i=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(jr(r,n)){a.lineStart();for(var s=0;s<e;++s)a.point((r=t[s])[0],r[1]);a.lineEnd()}else{var l=new Kr(r,t,null,!0),c=new Kr(r,null,l,!1);l.o=c,i.push(l),o.push(c),l=new Kr(n,t,null,!1),c=new Kr(n,null,l,!0),l.o=c,i.push(l),o.push(c)}}}),o.sort(e),Jr(i),Jr(o),i.length){for(var s=0,l=r,c=o.length;s<c;++s)o[s].e=l=!l;for(var u,h,f=i[0];;){for(var p=f,d=!0;p.v;)if((p=p.n)===f)return;u=p.z,a.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,c=u.length;s<c;++s)a.point((h=u[s])[0],h[1]);else n(p.x,p.n.x,1,a);p=p.n}else{if(d)for(s=(u=p.p.z).length-1;s>=0;--s)a.point((h=u[s])[0],h[1]);else n(p.x,p.p.x,-1,a);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);a.lineEnd()}}}function Jr(t){if(e=t.length){for(var e,r,n=0,a=t[0];++n<e;)a.n=r=t[n],r.p=a,a=r;a.n=r=t[0],r.p=a}}function Kr(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function Qr(e,r,n,a){return function(i,o){var s,l=r(o),c=i.invert(a[0],a[1]),u={point:h,lineStart:p,lineEnd:d,polygonStart:function(){u.point=b,u.lineStart=_,u.lineEnd=w,s=[],g=[]},polygonEnd:function(){u.point=h,u.lineStart=p,u.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],a=[Math.sin(r),-Math.cos(r),0],i=0,o=0;Cr.reset();for(var s=0,l=e.length;s<l;++s){var c=e[s],u=c.length;if(u)for(var h=c[0],f=h[0],p=h[1]/2+Mt/4,d=Math.sin(p),g=Math.cos(p),v=1;;){v===u&&(v=0);var m=(t=c[v])[0],y=t[1]/2+Mt/4,x=Math.sin(y),b=Math.cos(y),_=m-f,w=_>=0?1:-1,k=w*_,T=k>Mt,M=d*x;if(Cr.add(Math.atan2(M*w*Math.sin(k),g*b+M*Math.cos(k))),i+=T?_+w*At:_,T^f>=r^m>=r){var A=Dr(zr(h),zr(t));Br(A);var S=Dr(a,A);Br(S);var E=(T^_>=0?-1:1)*It(S[2]);(n>E||n===E&&(A[0]||A[1]))&&(o+=T^_>=0?1:-1)}if(!v++)break;f=m,d=x,g=b,h=t}}return(i<-kt||i<kt&&Cr<-kt)^1&o}(c,g);s.length?(x||(o.polygonStart(),x=!0),Zr(s,en,e,n,o)):e&&(x||(o.polygonStart(),x=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),s=g=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function h(t,r){var n=i(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function f(t,e){var r=i(t,e);l.point(r[0],r[1])}function p(){u.point=f,l.lineStart()}function d(){u.point=h,l.lineEnd()}var g,v,m=tn(),y=r(m),x=!1;function b(t,e){v.push([t,e]);var r=i(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),v=[]}function w(){b(v[0][0],v[0][1]),y.lineEnd();var t,e=y.clean(),r=m.buffer(),n=r.length;if(v.pop(),g.push(v),v=null,n)if(1&e){var a,i=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++i<n;)o.point((a=t[i])[0],a[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter($r))}return u}}function $r(t){return t.length>1}function tn(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:D,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function en(t,e){return((t=t.x)[0]<0?t[1]-Et-kt:Et-t[1])-((e=e.x)[0]<0?e[1]-Et-kt:Et-e[1])}var rn=Qr(Xr,function(t){var e,r=NaN,n=NaN,a=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(i,o){var s=i>0?Mt:-Mt,l=y(i-r);y(l-Mt)<kt?(t.point(r,n=(n+o)/2>0?Et:-Et),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(i,n),e=0):a!==s&&l>=Mt&&(y(r-a)<kt&&(r-=a*kt),y(i-s)<kt&&(i-=s*kt),n=function(t,e,r,n){var a,i,o=Math.sin(t-r);return y(o)>kt?Math.atan((Math.sin(e)*(i=Math.cos(n))*Math.sin(r)-Math.sin(n)*(a=Math.cos(e))*Math.sin(t))/(a*i*o)):(e+n)/2}(r,n,i,o),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=i,n=o),a=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var a;if(null==t)a=r*Et,n.point(-Mt,a),n.point(0,a),n.point(Mt,a),n.point(Mt,0),n.point(Mt,-a),n.point(0,-a),n.point(-Mt,-a),n.point(-Mt,0),n.point(-Mt,a);else if(y(t[0]-e[0])>kt){var i=t[0]<e[0]?Mt:-Mt;a=r*i/2,n.point(-i,a),n.point(0,a),n.point(i,a)}else n.point(e[0],e[1])},[-Mt,-Mt/2]);function nn(t,e,r,n){return function(a){var i,o=a.a,s=a.b,l=o.x,c=o.y,u=0,h=1,f=s.x-l,p=s.y-c;if(i=t-l,f||!(i>0)){if(i/=f,f<0){if(i<u)return;i<h&&(h=i)}else if(f>0){if(i>h)return;i>u&&(u=i)}if(i=r-l,f||!(i<0)){if(i/=f,f<0){if(i>h)return;i>u&&(u=i)}else if(f>0){if(i<u)return;i<h&&(h=i)}if(i=e-c,p||!(i>0)){if(i/=p,p<0){if(i<u)return;i<h&&(h=i)}else if(p>0){if(i>h)return;i>u&&(u=i)}if(i=n-c,p||!(i<0)){if(i/=p,p<0){if(i>h)return;i>u&&(u=i)}else if(p>0){if(i<u)return;i<h&&(h=i)}return u>0&&(a.a={x:l+u*f,y:c+u*p}),h<1&&(a.b={x:l+h*f,y:c+h*p}),a}}}}}}var an=1e9;function on(e,r,n,a){return function(l){var c,u,h,f,p,d,g,v,m,y,x,b=l,_=tn(),w=nn(e,r,n,a),k={point:A,lineStart:function(){k.point=S,u&&u.push(h=[]);y=!0,m=!1,g=v=NaN},lineEnd:function(){c&&(S(f,p),d&&m&&_.rejoin(),c.push(_.buffer()));k.point=A,m&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],a=0;a<r;++a)for(var i,o=1,s=u[a],l=s.length,c=s[0];o<l;++o)i=s[o],c[1]<=n?i[1]>n&&Ot(c,i,t)>0&&++e:i[1]<=n&&Ot(c,i,t)<0&&--e,c=i;return 0!==e}([e,a]),n=x&&r,i=c.length;(n||i)&&(l.polygonStart(),n&&(l.lineStart(),T(null,null,1,l),l.lineEnd()),i&&Zr(c,o,r,T,l),l.polygonEnd()),c=u=h=null}};function T(t,o,l,c){var u=0,h=0;if(null==t||(u=i(t,l))!==(h=i(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?a:r)}while((u=(u+l+4)%4)!==h);else c.point(o[0],o[1])}function M(t,i){return e<=t&&t<=n&&r<=i&&i<=a}function A(t,e){M(t,e)&&l.point(t,e)}function S(t,e){var r=M(t=Math.max(-an,Math.min(an,t)),e=Math.max(-an,Math.min(an,e)));if(u&&h.push([t,e]),y)f=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&m)l.point(t,e);else{var n={a:{x:g,y:v},b:{x:t,y:e}};w(n)?(m||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,v=e,m=r}return k};function i(t,a){return y(t[0]-e)<kt?a>0?0:3:y(t[0]-n)<kt?a>0?2:1:y(t[1]-r)<kt?a>0?1:0:a>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=i(t,1),n=i(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function sn(t){var e=0,r=Mt/3,n=Pn(t),a=n(e,r);return a.parallels=function(t){return arguments.length?n(e=t[0]*Mt/180,r=t[1]*Mt/180):[e/Mt*180,r/Mt*180]},a}function ln(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,a=1+r*(2*n-r),i=Math.sqrt(a)/n;function o(t,e){var r=Math.sqrt(a-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),i-r*Math.cos(t)]}return o.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,It((a-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,a,i,o={stream:function(t){return a&&(a.valid=!1),(a=i(t)).valid=!0,a},extent:function(s){return arguments.length?(i=on(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),a&&(a.valid=!1,a=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return sn(ln)}).raw=ln,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,a,i=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var i=t[0],o=t[1];return e=null,r(i,o),e||(n(i,o),e)||a(i,o),e}return c.invert=function(t){var e=i.scale(),r=i.translate(),n=(t[0]-r[0])/e,a=(t[1]-r[1])/e;return(a>=.12&&a<.234&&n>=-.425&&n<-.214?o:a>=.166&&a<.234&&n>=-.214&&n<-.115?s:i).invert(t)},c.stream=function(t){var e=i.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,a){e.point(t,a),r.point(t,a),n.point(t,a)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},c.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),s.precision(t),c):i.precision()},c.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),s.scale(t),c.translate(i.translate())):i.scale()},c.translate=function(t){if(!arguments.length)return i.translate();var e=i.scale(),u=+t[0],h=+t[1];return r=i.translate(t).clipExtent([[u-.455*e,h-.238*e],[u+.455*e,h+.238*e]]).stream(l).point,n=o.translate([u-.307*e,h+.201*e]).clipExtent([[u-.425*e+kt,h+.12*e+kt],[u-.214*e-kt,h+.234*e-kt]]).stream(l).point,a=s.translate([u-.205*e,h+.212*e]).clipExtent([[u-.214*e+kt,h+.166*e+kt],[u-.115*e-kt,h+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var cn,un,hn,fn,pn,dn,gn={point:D,lineStart:D,lineEnd:D,polygonStart:function(){un=0,gn.lineStart=vn},polygonEnd:function(){gn.lineStart=gn.lineEnd=gn.point=D,cn+=y(un/2)}};function vn(){var t,e,r,n;function a(t,e){un+=n*t-r*e,r=t,n=e}gn.point=function(i,o){gn.point=a,t=r=i,e=n=o},gn.lineEnd=function(){a(t,e)}}var mn={point:function(t,e){t<hn&&(hn=t);t>pn&&(pn=t);e<fn&&(fn=e);e>dn&&(dn=e)},lineStart:D,lineEnd:D,polygonStart:D,polygonEnd:D};function yn(){var t=xn(4.5),e=[],r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=xn(e),r},result:function(){if(e.length){var t=e.join(\"\");return e=[],t}}};function n(r,n){e.push(\"M\",r,\",\",n,t)}function a(t,n){e.push(\"M\",t,\",\",n),r.point=i}function i(t,r){e.push(\"L\",t,\",\",r)}function o(){r.point=n}function s(){e.push(\"Z\")}return r}function xn(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}var bn,_n={point:wn,lineStart:kn,lineEnd:Tn,polygonStart:function(){_n.lineStart=Mn},polygonEnd:function(){_n.point=wn,_n.lineStart=kn,_n.lineEnd=Tn}};function wn(t,e){_r+=t,wr+=e,++kr}function kn(){var t,e;function r(r,n){var a=r-t,i=n-e,o=Math.sqrt(a*a+i*i);Tr+=o*(t+r)/2,Mr+=o*(e+n)/2,Ar+=o,wn(t=r,e=n)}_n.point=function(n,a){_n.point=r,wn(t=n,e=a)}}function Tn(){_n.point=wn}function Mn(){var t,e,r,n;function a(t,e){var a=t-r,i=e-n,o=Math.sqrt(a*a+i*i);Tr+=o*(r+t)/2,Mr+=o*(n+e)/2,Ar+=o,Sr+=(o=n*t-r*e)*(r+t),Er+=o*(n+e),Lr+=3*o,wn(r=t,n=e)}_n.point=function(i,o){_n.point=a,wn(t=r=i,e=n=o)},_n.lineEnd=function(){a(t,e)}}function An(t){var e=4.5,r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:D};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,At)}function a(e,n){t.moveTo(e,n),r.point=i}function i(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function Sn(t){var e=.5,r=Math.cos(30*Lt),n=16;function a(e){return(n?function(e){var r,a,o,s,l,c,u,h,f,p,d,g,v={point:m,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),v.lineStart=_},polygonEnd:function(){e.polygonEnd(),v.lineStart=y}};function m(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){h=NaN,v.point=x,e.lineStart()}function x(r,a){var o=zr([r,a]),s=t(r,a);i(h,f,u,p,d,g,h=s[0],f=s[1],u=r,p=o[0],d=o[1],g=o[2],n,e),e.point(h,f)}function b(){v.point=m,e.lineEnd()}function _(){y(),v.point=w,v.lineEnd=k}function w(t,e){x(r=t,e),a=h,o=f,s=p,l=d,c=g,v.point=x}function k(){i(h,f,u,p,d,g,a,o,r,s,l,c,n,e),v.lineEnd=b,b()}return v}:function(e){return Ln(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function i(n,a,o,s,l,c,u,h,f,p,d,g,v,m){var x=u-n,b=h-a,_=x*x+b*b;if(_>4*e&&v--){var w=s+p,k=l+d,T=c+g,M=Math.sqrt(w*w+k*k+T*T),A=Math.asin(T/=M),S=y(y(T)-1)<kt||y(o-f)<kt?(o+f)/2:Math.atan2(k,w),E=t(S,A),L=E[0],C=E[1],P=L-n,O=C-a,z=b*P-x*O;(z*z/_>e||y((x*P+b*O)/_-.5)>.3||s*p+l*d+c*g<r)&&(i(n,a,o,s,l,c,L,C,S,w/=M,k/=M,T,v,m),m.point(L,C),i(L,C,S,w,k,T,u,h,f,p,d,g,v,m))}}return a.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,a):Math.sqrt(e)},a}function En(t){this.stream=t}function Ln(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function Cn(t){return Pn(function(){return t})()}function Pn(e){var r,n,a,i,o,s,l=Sn(function(t,e){return[(t=r(t,e))[0]*c+i,o-t[1]*c]}),c=150,u=480,h=250,f=0,p=0,d=0,g=0,v=0,m=rn,x=P,b=null,_=null;function w(t){return[(t=a(t[0]*Lt,t[1]*Lt))[0]*c+i,o-t[1]*c]}function k(t){return(t=a.invert((t[0]-i)/c,(o-t[1])/c))&&[t[0]*Ct,t[1]*Ct]}function T(){a=Wr(n=Dn(d,g,v),r);var t=r(f,p);return i=u-t[0]*c,o=h+t[1]*c,M()}function M(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=On(m(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(m=null==t?(b=t,rn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return Qr(a,function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(h,f){var p,d=[h,f],g=a(h,f),v=r?g?0:o(h,f):g?o(h+(h<0?Mt:-Mt),f):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=i(e,d),(jr(e,p)||jr(d,p))&&(d[0]+=kt,d[1]+=kt,g=a(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=i(d,e),t.point(p[0],p[1])):(p=i(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var m;v&s||!(m=i(d,e,!0))||(u=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&jr(e,d)||t.point(d[0],d[1]),e=d,l=g,s=v},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}},Nn(t,6*Lt),r?[0,-t]:[-Mt,t-Mt]);function a(t,r){return Math.cos(t)*Math.cos(r)>e}function i(t,r,n){var a=[1,0,0],i=Dr(zr(t),zr(r)),o=Ir(i,i),s=i[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,h=Dr(a,i),f=Fr(a,c);Rr(f,Fr(i,u));var p=h,d=Ir(f,p),g=Ir(p,p),v=d*d-g*(Ir(f,f)-1);if(!(v<0)){var m=Math.sqrt(v),x=Fr(p,(-d-m)/g);if(Rr(x,f),x=Nr(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],T=r[1];w<_&&(b=_,_=w,w=b);var M=w-_,A=y(M-Mt)<kt;if(!A&&T<k&&(b=k,k=T,T=b),A||M<kt?A?k+T>0^x[1]<(y(x[0]-_)<kt?k:T):k<=x[1]&&x[1]<=T:M>Mt^(_<=x[0]&&x[0]<=w)){var S=Fr(p,(-d+m)/g);return Rr(S,f),[x,Nr(S)]}}}function o(e,n){var a=r?t:Mt-t,i=0;return e<-a?i|=1:e>a&&(i|=2),n<-a?i|=4:n>a&&(i|=8),i}}((b=+t)*Lt),M()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?on(t[0][0],t[0][1],t[1][0],t[1][1]):P,M()):_},w.scale=function(t){return arguments.length?(c=+t,T()):c},w.translate=function(t){return arguments.length?(u=+t[0],h=+t[1],T()):[u,h]},w.center=function(t){return arguments.length?(f=t[0]%360*Lt,p=t[1]%360*Lt,T()):[f*Ct,p*Ct]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Lt,g=t[1]%360*Lt,v=t.length>2?t[2]%360*Lt:0,T()):[d*Ct,g*Ct,v*Ct]},t.rebind(w,l,\"precision\"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,T()}}function On(t){return Ln(t,function(e,r){t.point(e*Lt,r*Lt)})}function zn(t,e){return[t,e]}function In(t,e){return[t>Mt?t-At:t<-Mt?t+At:t,e]}function Dn(t,e,r){return t?e||r?Wr(Fn(t),Bn(e,r)):Fn(t):e||r?Bn(e,r):In}function Rn(t){return function(e,r){return[(e+=t)>Mt?e-At:e<-Mt?e+At:e,r]}}function Fn(t){var e=Rn(t);return e.invert=Rn(-t),e}function Bn(t,e){var r=Math.cos(t),n=Math.sin(t),a=Math.cos(e),i=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*a-u*i,s*r-c*n),It(u*a+l*i)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*a-l*i;return[Math.atan2(l*a+c*i,s*r+u*n),It(u*r-s*n)]},o}function Nn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(a,i,o,s){var l=o*e;null!=a?(a=jn(r,a),i=jn(r,i),(o>0?a<i:a>i)&&(a+=o*At)):(a=t+o*At,i=t-.5*l);for(var c,u=a;o>0?u>i:u<i;u-=l)s.point((c=Nr([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function jn(t,e){var r=zr(e);r[0]-=t,Br(r);var n=zt(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-kt)%(2*Math.PI)}function Vn(e,r,n){var a=t.range(e,r-kt,n).concat(r);return function(t){return a.map(function(e){return[t,e]})}}function Un(e,r,n){var a=t.range(e,r-kt,n).concat(r);return function(t){return a.map(function(e){return[e,t]})}}function qn(t){return t.source}function Hn(t){return t.target}t.geo.path=function(){var e,r,n,a,i,o=4.5;function s(e){return e&&(\"function\"==typeof o&&a.pointRadius(+o.apply(this,arguments)),i&&i.valid||(i=n(a)),t.geo.stream(e,i)),a.result()}function l(){return i=null,s}return s.area=function(e){return cn=0,t.geo.stream(e,n(gn)),cn},s.centroid=function(e){return _r=wr=kr=Tr=Mr=Ar=Sr=Er=Lr=0,t.geo.stream(e,n(_n)),Lr?[Sr/Lr,Er/Lr]:Ar?[Tr/Ar,Mr/Ar]:kr?[_r/kr,wr/kr]:[NaN,NaN]},s.bounds=function(e){return pn=dn=-(hn=fn=1/0),t.geo.stream(e,n(mn)),[[hn,fn],[pn,dn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||(r=t,a=Sn(function(t,e){return r([t*Ct,e*Ct])}),function(t){return On(a(t))}):P,l()):e;var r,a},s.context=function(t){return arguments.length?(a=null==(r=t)?new yn:new An(t),\"function\"!=typeof o&&a.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o=\"function\"==typeof t?t:(a.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new En(e);for(var n in t)r[n]=t[n];return r}}},En.prototype={point:function(t,e){this.stream.point(t,e)},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()}},t.geo.projection=Cn,t.geo.projectionMutator=Pn,(t.geo.equirectangular=function(){return Cn(zn)}).raw=zn.invert=zn,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Lt,e[1]*Lt))[0]*=Ct,e[1]*=Ct,e}return t=Dn(t[0]%360*Lt,t[1]*Lt,t.length>2?t[2]*Lt:0),e.invert=function(e){return(e=t.invert(e[0]*Lt,e[1]*Lt))[0]*=Ct,e[1]*=Ct,e},e},In.invert=zn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function a(){var t=\"function\"==typeof r?r.apply(this,arguments):r,n=Dn(-t[0]*Lt,-t[1]*Lt,0).invert,a=[];return e(null,null,1,{point:function(t,e){a.push(t=n(t,e)),t[0]*=Ct,t[1]*=Ct}}),{type:\"Polygon\",coordinates:[a]}}return a.origin=function(t){return arguments.length?(r=t,a):r},a.angle=function(r){return arguments.length?(e=Nn((t=+r)*Lt,n*Lt),a):t},a.precision=function(r){return arguments.length?(e=Nn(t*Lt,(n=+r)*Lt),a):n},a.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Lt,a=t[1]*Lt,i=e[1]*Lt,o=Math.sin(n),s=Math.cos(n),l=Math.sin(a),c=Math.cos(a),u=Math.sin(i),h=Math.cos(i);return Math.atan2(Math.sqrt((r=h*o)*r+(r=c*u-l*h*s)*r),l*u+c*h*s)},t.geo.graticule=function(){var e,r,n,a,i,o,s,l,c,u,h,f,p=10,d=p,g=90,v=360,m=2.5;function x(){return{type:\"MultiLineString\",coordinates:b()}}function b(){return t.range(Math.ceil(a/g)*g,n,g).map(h).concat(t.range(Math.ceil(l/v)*v,s,v).map(f)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>kt}).map(c)).concat(t.range(Math.ceil(o/d)*d,i,d).filter(function(t){return y(t%v)>kt}).map(u))}return x.lines=function(){return b().map(function(t){return{type:\"LineString\",coordinates:t}})},x.outline=function(){return{type:\"Polygon\",coordinates:[h(a).concat(f(s).slice(1),h(n).reverse().slice(1),f(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(a=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],a>n&&(t=a,a=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(m)):[[a,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],i=+t[1][1],r>e&&(t=r,r=e,e=t),o>i&&(t=o,o=i,i=t),x.precision(m)):[[r,o],[e,i]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],x):[g,v]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(m=+t,c=Vn(o,i,90),u=Un(r,e,m),h=Vn(l,s,90),f=Un(a,n,m),x):m},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=qn,a=Hn;function i(){return{type:\"LineString\",coordinates:[e||n.apply(this,arguments),r||a.apply(this,arguments)]}}return i.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||a.apply(this,arguments))},i.source=function(t){return arguments.length?(n=t,e=\"function\"==typeof t?null:t,i):n},i.target=function(t){return arguments.length?(a=t,r=\"function\"==typeof t?null:t,i):a},i.precision=function(){return arguments.length?i:0},i},t.geo.interpolate=function(t,e){return r=t[0]*Lt,n=t[1]*Lt,a=e[0]*Lt,i=e[1]*Lt,o=Math.cos(n),s=Math.sin(n),l=Math.cos(i),c=Math.sin(i),u=o*Math.cos(r),h=o*Math.sin(r),f=l*Math.cos(a),p=l*Math.sin(a),d=2*Math.asin(Math.sqrt(Rt(i-n)+o*l*Rt(a-r))),g=1/Math.sin(d),(v=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*f,a=r*h+e*p,i=r*s+e*c;return[Math.atan2(a,n)*Ct,Math.atan2(i,Math.sqrt(n*n+a*a))*Ct]}:function(){return[r*Ct,n*Ct]}).distance=d,v;var r,n,a,i,o,s,l,c,u,h,f,p,d,g,v},t.geo.length=function(e){return bn=0,t.geo.stream(e,Gn),bn};var Gn={sphere:D,point:D,lineStart:function(){var t,e,r;function n(n,a){var i=Math.sin(a*=Lt),o=Math.cos(a),s=y((n*=Lt)-t),l=Math.cos(s);bn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*i-e*o*l)*s),e*i+r*o*l),t=n,e=i,r=o}Gn.point=function(a,i){t=a*Lt,e=Math.sin(i*=Lt),r=Math.cos(i),Gn.point=n},Gn.lineEnd=function(){Gn.point=Gn.lineEnd=D}},lineEnd:D,polygonStart:D,polygonEnd:D};function Yn(t,e){function r(e,r){var n=Math.cos(e),a=Math.cos(r),i=t(n*a);return[i*a*Math.sin(e),i*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),a=e(n),i=Math.sin(a),o=Math.cos(a);return[Math.atan2(t*i,n*o),Math.asin(n&&r*i/n)]},r}var Wn=Yn(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return Cn(Wn)}).raw=Wn;var Xn=Yn(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},P);function Zn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(Mt/4+t/2)},a=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),i=r*Math.pow(n(t),a)/a;if(!a)return Qn;function o(t,e){i>0?e<-Et+kt&&(e=-Et+kt):e>Et-kt&&(e=Et-kt);var r=i/Math.pow(n(e),a);return[r*Math.sin(a*t),i-r*Math.cos(a*t)]}return o.invert=function(t,e){var r=i-e,n=Pt(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(i/n,1/a))-Et]},o}function Jn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),a=r/n+t;if(y(n)<kt)return zn;function i(t,e){var r=a-e;return[r*Math.sin(n*t),a-r*Math.cos(n*t)]}return i.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,a-Pt(n)*Math.sqrt(t*t+r*r)]},i}(t.geo.azimuthalEquidistant=function(){return Cn(Xn)}).raw=Xn,(t.geo.conicConformal=function(){return sn(Zn)}).raw=Zn,(t.geo.conicEquidistant=function(){return sn(Jn)}).raw=Jn;var Kn=Yn(function(t){return 1/t},Math.atan);function Qn(t,e){return[t,Math.log(Math.tan(Mt/4+e/2))]}function $n(t){var e,r=Cn(t),n=r.scale,a=r.translate,i=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=a.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=i.apply(r,arguments);if(o===r){if(e=null==t){var s=Mt*n(),l=a();i([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}(t.geo.gnomonic=function(){return Cn(Kn)}).raw=Kn,Qn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Et]},(t.geo.mercator=function(){return $n(Qn)}).raw=Qn;var ta=Yn(function(){return 1},Math.asin);(t.geo.orthographic=function(){return Cn(ta)}).raw=ta;var ea=Yn(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function ra(t,e){return[Math.log(Math.tan(Mt/4+e/2)),-t]}function na(t){return t[0]}function aa(t){return t[1]}function ia(t){for(var e=t.length,r=[0,1],n=2,a=2;a<e;a++){for(;n>1&&Ot(t[r[n-2]],t[r[n-1]],t[a])<=0;)--n;r[n++]=a}return r.slice(0,n)}function oa(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Cn(ea)}).raw=ea,ra.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Et]},(t.geo.transverseMercator=function(){var t=$n(ra),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ra,t.geom={},t.geom.hull=function(t){var e=na,r=aa;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,a=ve(e),i=ve(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+a.call(this,t[n],n),+i.call(this,t[n],n),n]);for(s.sort(oa),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var c=ia(s),u=ia(l),h=u[0]===c[0],f=u[u.length-1]===c[c.length-1],p=[];for(n=c.length-1;n>=0;--n)p.push(t[s[c[n]][2]]);for(n=+h;n<u.length-f;++n)p.push(t[s[u[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},t.geom.polygon=function(t){return U(t,sa),t};var sa=t.geom.polygon.prototype=[];function la(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function ca(t,e,r,n){var a=t[0],i=r[0],o=e[0]-a,s=n[0]-i,l=t[1],c=r[1],u=e[1]-l,h=n[1]-c,f=(s*(l-c)-h*(a-i))/(h*o-s*u);return[a+f*o,l+f*u]}function ua(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}sa.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],a=0;++e<r;)t=n,n=this[e],a+=t[1]*n[0]-t[0]*n[1];return.5*a},sa.centroid=function(t){var e,r,n=-1,a=this.length,i=0,o=0,s=this[a-1];for(arguments.length||(t=-1/(6*this.area()));++n<a;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],i+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[i*t,o*t]},sa.clip=function(t){for(var e,r,n,a,i,o,s=ua(t),l=-1,c=this.length-ua(this),u=this[c-1];++l<c;){for(e=t.slice(),t.length=0,a=this[l],i=e[(n=e.length-s)-1],r=-1;++r<n;)la(o=e[r],u,a)?(la(i,u,a)||t.push(ca(i,o,u,a)),t.push(o)):la(i,u,a)&&t.push(ca(i,o,u,a)),i=o;s&&t.push(t[0]),u=a}return t};var ha,fa,pa,da,ga,va=[],ma=[];function ya(){Ra(this),this.edge=this.site=this.circle=null}function xa(t){var e=va.pop()||new ya;return e.site=t,e}function ba(t){La(t),pa.remove(t),va.push(t),Ra(t)}function _a(t){var e=t.circle,r=e.x,n=e.cy,a={x:r,y:n},i=t.P,o=t.N,s=[t];ba(t);for(var l=i;l.circle&&y(r-l.circle.x)<kt&&y(n-l.circle.cy)<kt;)i=l.P,s.unshift(l),ba(l),l=i;s.unshift(l),La(l);for(var c=o;c.circle&&y(r-c.circle.x)<kt&&y(n-c.circle.cy)<kt;)o=c.N,s.push(c),ba(c),c=o;s.push(c),La(c);var u,h=s.length;for(u=1;u<h;++u)c=s[u],l=s[u-1],za(c.edge,l.site,c.site,a);l=s[0],(c=s[h-1]).edge=Oa(l.site,c.site,null,a),Ea(l),Ea(c)}function wa(t){for(var e,r,n,a,i=t.x,o=t.y,s=pa._;s;)if((n=ka(s,o)-i)>kt)s=s.L;else{if(!((a=i-Ta(s,o))>kt)){n>-kt?(e=s.P,r=s):a>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=xa(t);if(pa.insert(e,l),e||r){if(e===r)return La(e),r=xa(e.site),pa.insert(l,r),l.edge=r.edge=Oa(e.site,l.site),Ea(e),void Ea(r);if(r){La(e),La(r);var c=e.site,u=c.x,h=c.y,f=t.x-u,p=t.y-h,d=r.site,g=d.x-u,v=d.y-h,m=2*(f*v-p*g),y=f*f+p*p,x=g*g+v*v,b={x:(v*y-p*x)/m+u,y:(f*x-g*y)/m+h};za(r.edge,c,d,b),l.edge=Oa(c,t,null,b),r.edge=Oa(t,d,null,b),Ea(e),Ea(r)}else l.edge=Oa(e.site,l.site)}}function ka(t,e){var r=t.site,n=r.x,a=r.y,i=a-e;if(!i)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,h=1/i-1/c,f=u/c;return h?(-f+Math.sqrt(f*f-2*h*(u*u/(-2*c)-l+c/2+a-i/2)))/h+n:(n+s)/2}function Ta(t,e){var r=t.N;if(r)return ka(r,e);var n=t.site;return n.y===e?n.x:1/0}function Ma(t){this.site=t,this.edges=[]}function Aa(t,e){return e.angle-t.angle}function Sa(){Ra(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ea(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,a=t.site,i=r.site;if(n!==i){var o=a.x,s=a.y,l=n.x-o,c=n.y-s,u=i.x-o,h=2*(l*(v=i.y-s)-c*u);if(!(h>=-Tt)){var f=l*l+c*c,p=u*u+v*v,d=(v*f-c*p)/h,g=(l*p-u*f)/h,v=g+s,m=ma.pop()||new Sa;m.arc=t,m.site=a,m.x=d+o,m.y=v+Math.sqrt(d*d+g*g),m.cy=v,t.circle=m;for(var y=null,x=ga._;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}ga.insert(y,m),y||(da=m)}}}}function La(t){var e=t.circle;e&&(e.P||(da=e.N),ga.remove(e),ma.push(e),Ra(e),t.circle=null)}function Ca(t,e){var r=t.b;if(r)return!0;var n,a,i=t.a,o=e[0][0],s=e[1][0],l=e[0][1],c=e[1][1],u=t.l,h=t.r,f=u.x,p=u.y,d=h.x,g=h.y,v=(f+d)/2,m=(p+g)/2;if(g===p){if(v<o||v>=s)return;if(f>d){if(i){if(i.y>=c)return}else i={x:v,y:l};r={x:v,y:c}}else{if(i){if(i.y<l)return}else i={x:v,y:c};r={x:v,y:l}}}else if(a=m-(n=(f-d)/(g-p))*v,n<-1||n>1)if(f>d){if(i){if(i.y>=c)return}else i={x:(l-a)/n,y:l};r={x:(c-a)/n,y:c}}else{if(i){if(i.y<l)return}else i={x:(c-a)/n,y:c};r={x:(l-a)/n,y:l}}else if(p<g){if(i){if(i.x>=s)return}else i={x:o,y:n*o+a};r={x:s,y:n*s+a}}else{if(i){if(i.x<o)return}else i={x:s,y:n*s+a};r={x:o,y:n*o+a}}return t.a=i,t.b=r,!0}function Pa(t,e){this.l=t,this.r=e,this.a=this.b=null}function Oa(t,e,r,n){var a=new Pa(t,e);return ha.push(a),r&&za(a,t,e,r),n&&za(a,e,t,n),fa[t.i].edges.push(new Ia(a,t,e)),fa[e.i].edges.push(new Ia(a,e,t)),a}function za(t,e,r,n){t.a||t.b?t.l===r?t.b=n:t.a=n:(t.a=n,t.l=e,t.r=r)}function Ia(t,e,r){var n=t.a,a=t.b;this.edge=t,this.site=e,this.angle=r?Math.atan2(r.y-e.y,r.x-e.x):t.l===e?Math.atan2(a.x-n.x,n.y-a.y):Math.atan2(n.x-a.x,a.y-n.y)}function Da(){this._=null}function Ra(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Fa(t,e){var r=e,n=e.R,a=r.U;a?a.L===r?a.L=n:a.R=n:t._=n,n.U=a,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Ba(t,e){var r=e,n=e.L,a=r.U;a?a.L===r?a.L=n:a.R=n:t._=n,n.U=a,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Na(t){for(;t.L;)t=t.L;return t}function ja(t,e){var r,n,a,i=t.sort(Va).pop();for(ha=[],fa=new Array(t.length),pa=new Da,ga=new Da;;)if(a=da,i&&(!a||i.y<a.y||i.y===a.y&&i.x<a.x))i.x===r&&i.y===n||(fa[i.i]=new Ma(i),wa(i),r=i.x,n=i.y),i=t.pop();else{if(!a)break;_a(a.arc)}e&&(function(t){for(var e,r=ha,n=nn(t[0][0],t[0][1],t[1][0],t[1][1]),a=r.length;a--;)(!Ca(e=r[a],t)||!n(e)||y(e.a.x-e.b.x)<kt&&y(e.a.y-e.b.y)<kt)&&(e.a=e.b=null,r.splice(a,1))}(e),function(t){for(var e,r,n,a,i,o,s,l,c,u,h=t[0][0],f=t[1][0],p=t[0][1],d=t[1][1],g=fa,v=g.length;v--;)if((i=g[v])&&i.prepare())for(l=(s=i.edges).length,o=0;o<l;)n=(u=s[o].end()).x,a=u.y,e=(c=s[++o%l].start()).x,r=c.y,(y(n-e)>kt||y(a-r)>kt)&&(s.splice(o,0,new Ia((m=i.site,x=u,b=y(n-h)<kt&&d-a>kt?{x:h,y:y(e-h)<kt?r:d}:y(a-d)<kt&&f-n>kt?{x:y(r-d)<kt?e:f,y:d}:y(n-f)<kt&&a-p>kt?{x:f,y:y(e-f)<kt?r:p}:y(a-p)<kt&&n-h>kt?{x:y(r-p)<kt?e:h,y:p}:null,_=void 0,_=new Pa(m,null),_.a=x,_.b=b,ha.push(_),_),i.site,null)),++l);var m,x,b,_}(e));var o={cells:fa,edges:ha};return pa=ga=ha=fa=null,o}function Va(t,e){return e.y-t.y||e.x-t.x}Ma.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(Aa),e.length},Ia.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}},Da.prototype={insert:function(t,e){var r,n,a;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=Na(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)r===(n=r.U).L?(a=n.R)&&a.C?(r.C=a.C=!1,n.C=!0,t=n):(t===r.R&&(Fa(this,r),r=(t=r).U),r.C=!1,n.C=!0,Ba(this,n)):(a=n.L)&&a.C?(r.C=a.C=!1,n.C=!0,t=n):(t===r.L&&(Ba(this,r),r=(t=r).U),r.C=!1,n.C=!0,Fa(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,a=t.U,i=t.L,o=t.R;if(r=i?o?Na(o):i:o,a?a.L===t?a.L=r:a.R=r:this._=r,i&&o?(n=r.C,r.C=t.C,r.L=i,i.U=r,r!==o?(a=r.U,r.U=t.U,t=r.R,a.L=t,r.R=o,o.U=r):(r.U=a,a=r,t=r.R)):(n=t.C,t=r),t&&(t.U=a),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===a.L){if((e=a.R).C&&(e.C=!1,a.C=!0,Fa(this,a),e=a.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Ba(this,e),e=a.R),e.C=a.C,a.C=e.R.C=!1,Fa(this,a),t=this._;break}}else if((e=a.L).C&&(e.C=!1,a.C=!0,Ba(this,a),e=a.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Fa(this,e),e=a.L),e.C=a.C,a.C=e.L.C=!1,Ba(this,a),t=this._;break}e.C=!0,t=a,a=a.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=na,r=aa,n=e,a=r,i=Ua;if(t)return o(t);function o(t){var e=new Array(t.length),r=i[0][0],n=i[0][1],a=i[1][0],o=i[1][1];return ja(s(t),i).cells.forEach(function(i,s){var l=i.edges,c=i.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):c.x>=r&&c.x<=a&&c.y>=n&&c.y<=o?[[r,o],[a,o],[a,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(a(t,e)/kt)*kt,i:e}})}return o.links=function(t){return ja(s(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},o.triangles=function(t){var e=[];return ja(s(t)).cells.forEach(function(r,n){for(var a,i,o,s,l=r.site,c=r.edges.sort(Aa),u=-1,h=c.length,f=c[h-1].edge,p=f.l===l?f.r:f.l;++u<h;)f,a=p,p=(f=c[u].edge).l===l?f.r:f.l,n<a.i&&n<p.i&&(o=a,s=p,((i=l).x-s.x)*(o.y-i.y)-(i.x-o.x)*(s.y-i.y)<0)&&e.push([t[n],t[a.i],t[p.i]])}),e},o.x=function(t){return arguments.length?(n=ve(e=t),o):e},o.y=function(t){return arguments.length?(a=ve(r=t),o):r},o.clipExtent=function(t){return arguments.length?(i=null==t?Ua:t,o):i===Ua?null:i},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):i===Ua?null:i&&i[1]},o};var Ua=[[-1e6,-1e6],[1e6,1e6]];function qa(t){return t.x}function Ha(t){return t.y}function Ga(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,a=e.g,i=e.b,o=r.r-n,s=r.g-a,l=r.b-i;return function(t){return\"#\"+ce(Math.round(n+o*t))+ce(Math.round(a+s*t))+ce(Math.round(i+l*t))}}function Ya(t,e){var r,n={},a={};for(r in t)r in e?n[r]=Ka(t[r],e[r]):a[r]=t[r];for(r in e)r in t||(a[r]=e[r]);return function(t){for(r in n)a[r]=n[r](t);return a}}function Wa(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Xa(t,e){var r,n,a,i=Za.lastIndex=Ja.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=Za.exec(t))&&(n=Ja.exec(e));)(a=n.index)>i&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Wa(r,n)})),i=Ja.lastIndex;return i<e.length&&(a=e.slice(i),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+\"\"}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join(\"\")})}t.geom.delaunay=function(e){return t.geom.voronoi().triangles(e)},t.geom.quadtree=function(t,e,r,n,a){var i,o=na,s=aa;if(i=arguments.length)return o=qa,s=Ha,3===i&&(a=r,n=e,r=e=0),l(t);function l(t){var l,c,u,h,f,p,d,g,v,m=ve(o),x=ve(s);if(null!=e)p=e,d=r,g=n,v=a;else if(g=v=-(p=d=1/0),c=[],u=[],f=t.length,i)for(h=0;h<f;++h)(l=t[h]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>g&&(g=l.x),l.y>v&&(v=l.y),c.push(l.x),u.push(l.y);else for(h=0;h<f;++h){var b=+m(l=t[h],h),_=+x(l,h);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>v&&(v=_),c.push(b),u.push(_)}var w=g-p,k=v-d;function T(t,e,r,n,a,i,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)M(t,e,r,n,a,i,o,s);else{var u=t.point;t.x=t.y=t.point=null,M(t,u,l,c,a,i,o,s),M(t,e,r,n,a,i,o,s)}else t.x=r,t.y=n,t.point=e}else M(t,e,r,n,a,i,o,s)}function M(t,e,r,n,a,i,o,s){var l=.5*(a+o),c=.5*(i+s),u=r>=l,h=n>=c,f=h<<1|u;t.leaf=!1,u?a=l:o=l,h?i=c:s=c,T(t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,a,i,o,s)}w>k?v=d+w:g=p+k;var A={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){T(A,t,+m(t,++h),+x(t,h),p,d,g,v)}};if(A.visit=function(t){!function t(e,r,n,a,i,o){if(!e(r,n,a,i,o)){var s=.5*(n+i),l=.5*(a+o),c=r.nodes;c[0]&&t(e,c[0],n,a,s,l),c[1]&&t(e,c[1],s,a,i,l),c[2]&&t(e,c[2],n,l,s,o),c[3]&&t(e,c[3],s,l,i,o)}}(t,A,p,d,g,v)},A.find=function(t){return function(t,e,r,n,a,i,o){var s,l=1/0;return function t(c,u,h,f,p){if(!(u>i||h>o||f<n||p<a)){if(d=c.point){var d,g=e-c.x,v=r-c.y,m=g*g+v*v;if(m<l){var y=Math.sqrt(l=m);n=e-y,a=r-y,i=e+y,o=r+y,s=d}}for(var x=c.nodes,b=.5*(u+f),_=.5*(h+p),w=(r>=_)<<1|e>=b,k=w+4;w<k;++w)if(c=x[3&w])switch(3&w){case 0:t(c,u,h,b,_);break;case 1:t(c,b,h,f,_);break;case 2:t(c,u,_,b,p);break;case 3:t(c,b,_,f,p)}}}(t,n,a,i,o),s}(A,t[0],t[1],p,d,g,v)},h=-1,null==e){for(;++h<f;)T(A,t[h],c[h],u[h],p,d,g,v);--h}else t.forEach(A.add);return c=u=t=l=null,A}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.extent=function(t){return arguments.length?(null==t?e=r=n=a=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],a=+t[1][1]),l):null==e?null:[[e,r],[n,a]]},l.size=function(t){return arguments.length?(null==t?e=r=n=a=null:(e=r=0,n=+t[0],a=+t[1]),l):null==e?null:[n-e,a-r]},l},t.interpolateRgb=Ga,t.interpolateObject=Ya,t.interpolateNumber=Wa,t.interpolateString=Xa;var Za=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,Ja=new RegExp(Za.source,\"g\");function Ka(e,r){for(var n,a=t.interpolators.length;--a>=0&&!(n=t.interpolators[a](e,r)););return n}function Qa(t,e){var r,n=[],a=[],i=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(Ka(t[r],e[r]));for(;r<i;++r)a[r]=t[r];for(;r<o;++r)a[r]=e[r];return function(t){for(r=0;r<s;++r)a[r]=n[r](t);return a}}t.interpolate=Ka,t.interpolators=[function(t,e){var r=typeof e;return(\"string\"===r?ge.has(e.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(e)?Ga:Xa:e instanceof Vt?Ga:Array.isArray(e)?Qa:\"object\"===r&&isNaN(e)?Ya:Wa)(t,e)}],t.interpolateArray=Qa;var $a=function(){return P},ti=t.map({linear:$a,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return ai},cubic:function(){return ii},sin:function(){return si},exp:function(){return li},circle:function(){return ci},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/At*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*At/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return ui}}),ei=t.map({in:P,out:ri,\"in-out\":ni,\"out-in\":function(t){return ni(ri(t))}});function ri(t){return function(e){return 1-t(1-e)}}function ni(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function ai(t){return t*t}function ii(t){return t*t*t}function oi(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function si(t){return 1-Math.cos(t*Et)}function li(t){return Math.pow(2,10*(t-1))}function ci(t){return 1-Math.sqrt(1-t*t)}function ui(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}function hi(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function fi(t){var e,r,n,a=[t.a,t.b],i=[t.c,t.d],o=di(a),s=pi(a,i),l=di(((e=i)[0]+=(n=-s)*(r=a)[0],e[1]+=n*r[1],e))||0;a[0]*i[1]<i[0]*a[1]&&(a[0]*=-1,a[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(a[1],a[0]):Math.atan2(-i[0],i[1]))*Ct,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Ct:0}function pi(t,e){return t[0]*e[0]+t[1]*e[1]}function di(t){var e=Math.sqrt(pi(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e,n=t.indexOf(\"-\"),a=n>=0?t.slice(0,n):t,i=n>=0?t.slice(n+1):\"in\";return a=ti.get(a)||$a,i=ei.get(i)||P,e=i(a.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,a=e.c,i=e.l,o=r.h-n,s=r.c-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.c:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Wt(n+o*t,a+s*t,i+l*t)+\"\"}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,a=e.s,i=e.l,o=r.h-n,s=r.s-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.s:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,a+s*t,i+l*t)+\"\"}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,a=e.a,i=e.b,o=r.l-n,s=r.a-a,l=r.b-i;return function(t){return te(n+o*t,a+s*t,i+l*t)+\"\"}},t.interpolateRound=hi,t.transform=function(e){var r=a.createElementNS(t.ns.prefix.svg,\"g\");return(t.transform=function(t){if(null!=t){r.setAttribute(\"transform\",t);var e=r.transform.baseVal.consolidate()}return new fi(e?e.matrix:gi)})(e)},fi.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var gi={a:1,b:0,c:0,d:1,e:0,f:0};function vi(t){return t.length?t.pop()+\",\":\"\"}function mi(e,r){var n=[],a=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push(\"translate(\",null,\",\",null,\")\");n.push({i:a-4,x:Wa(t[0],e[0])},{i:a-2,x:Wa(t[1],e[1])})}else(e[0]||e[1])&&r.push(\"translate(\"+e+\")\")}(e.translate,r.translate,n,a),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(vi(r)+\"rotate(\",null,\")\")-2,x:Wa(t,e)})):e&&r.push(vi(r)+\"rotate(\"+e+\")\")}(e.rotate,r.rotate,n,a),function(t,e,r,n){t!==e?n.push({i:r.push(vi(r)+\"skewX(\",null,\")\")-2,x:Wa(t,e)}):e&&r.push(vi(r)+\"skewX(\"+e+\")\")}(e.skew,r.skew,n,a),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push(vi(r)+\"scale(\",null,\",\",null,\")\");n.push({i:a-4,x:Wa(t[0],e[0])},{i:a-2,x:Wa(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(vi(r)+\"scale(\"+e+\")\")}(e.scale,r.scale,n,a),e=r=null,function(t){for(var e,r=-1,i=a.length;++r<i;)n[(e=a[r]).i]=e.x(t);return n.join(\"\")}}function yi(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function xi(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function bi(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=_i(t),n=_i(e),a=r.pop(),i=n.pop(),o=null;for(;a===i;)o=a,a=r.pop(),i=n.pop();return o}(e,r),a=[e];e!==n;)e=e.parent,a.push(e);for(var i=a.length;r!==n;)a.splice(i,0,r),r=r.parent;return a}function _i(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function wi(t){t.fixed|=2}function ki(t){t.fixed&=-7}function Ti(t){t.fixed|=4,t.px=t.x,t.py=t.y}function Mi(t){t.fixed&=-5}t.interpolateTransform=mi,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(bi(t[r]));return e}},t.layout.chord=function(){var e,r,n,a,i,o,s,l={},c=0;function u(){var l,u,f,p,d,g={},v=[],m=t.range(a),y=[];for(e=[],r=[],l=0,p=-1;++p<a;){for(u=0,d=-1;++d<a;)u+=n[p][d];v.push(u),y.push(t.range(a)),l+=u}for(i&&m.sort(function(t,e){return i(v[t],v[e])}),o&&y.forEach(function(t,e){t.sort(function(t,r){return o(n[e][t],n[e][r])})}),l=(At-c*a)/l,u=0,p=-1;++p<a;){for(f=u,d=-1;++d<a;){var x=m[p],b=y[x][d],_=n[x][b],w=u,k=u+=_*l;g[x+\"-\"+b]={index:x,subindex:b,startAngle:w,endAngle:k,value:_}}r[x]={index:x,startAngle:f,endAngle:u,value:v[x]},u+=c}for(p=-1;++p<a;)for(d=p-1;++d<a;){var T=g[p+\"-\"+d],M=g[d+\"-\"+p];(T.value||M.value)&&e.push(T.value<M.value?{source:M,target:T}:{source:T,target:M})}s&&h()}function h(){e.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}return l.matrix=function(t){return arguments.length?(a=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(i=t,e=r=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&&h(),l):s},l.chords=function(){return e||u(),e},l.groups=function(){return r||u(),r},l},t.layout.force=function(){var e,r,n,a,i,o,s={},l=t.dispatch(\"start\",\"tick\",\"end\"),c=[1,1],u=.9,h=Ai,f=Si,p=-30,d=Ei,g=.1,v=.64,m=[],y=[];function x(t){return function(e,r,n,a){if(e.point!==t){var i=e.cx-t.x,o=e.cy-t.y,s=a-r,l=i*i+o*o;if(s*s/v<l){if(l<d){var c=e.charge/l;t.px-=i*c,t.py-=o*c}return!0}if(e.point&&l&&l<d){c=e.pointCharge/l;t.px-=i*c,t.py-=o*c}}return!e.charge}}function b(e){e.px=t.event.x,e.py=t.event.y,s.resume()}return s.tick=function(){if((n*=.99)<.005)return e=null,l.end({type:\"end\",alpha:n=0}),!0;var r,s,h,f,d,v,b,_,w,k=m.length,T=y.length;for(s=0;s<T;++s)f=(h=y[s]).source,(v=(_=(d=h.target).x-f.x)*_+(w=d.y-f.y)*w)&&(_*=v=n*i[s]*((v=Math.sqrt(v))-a[s])/v,w*=v,d.x-=_*(b=f.weight+d.weight?f.weight/(f.weight+d.weight):.5),d.y-=w*b,f.x+=_*(b=1-b),f.y+=w*b);if((b=n*g)&&(_=c[0]/2,w=c[1]/2,s=-1,b))for(;++s<k;)(h=m[s]).x+=(_-h.x)*b,h.y+=(w-h.y)*b;if(p)for(!function t(e,r,n){var a=0,i=0;e.charge=0;if(!e.leaf)for(var o,s=e.nodes,l=s.length,c=-1;++c<l;)null!=(o=s[c])&&(t(o,r,n),e.charge+=o.charge,a+=o.charge*o.cx,i+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var u=r*n[e.point.index];e.charge+=e.pointCharge=u,a+=u*e.point.x,i+=u*e.point.y}e.cx=a/e.charge;e.cy=i/e.charge}(r=t.geom.quadtree(m),n,o),s=-1;++s<k;)(h=m[s]).fixed||r.visit(x(h));for(s=-1;++s<k;)(h=m[s]).fixed?(h.x=h.px,h.y=h.py):(h.x-=(h.px-(h.px=h.x))*u,h.y-=(h.py-(h.py=h.y))*u);l.tick({type:\"tick\",alpha:n})},s.nodes=function(t){return arguments.length?(m=t,s):m},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(h=\"function\"==typeof t?t:+t,s):h},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(f=\"function\"==typeof t?t:+t,s):f},s.friction=function(t){return arguments.length?(u=+t,s):u},s.charge=function(t){return arguments.length?(p=\"function\"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(v=t*t,s):Math.sqrt(v)},s.alpha=function(t){return arguments.length?(t=+t,n?t>0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:\"end\",alpha:n=0})):t>0&&(l.start({type:\"start\",alpha:n=t}),e=Te(s.tick)),s):n},s.start=function(){var t,e,r,n=m.length,l=y.length,u=c[0],d=c[1];for(t=0;t<n;++t)(r=m[t]).index=t,r.weight=0;for(t=0;t<l;++t)\"number\"==typeof(r=y[t]).source&&(r.source=m[r.source]),\"number\"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=m[t],isNaN(r.x)&&(r.x=g(\"x\",u)),isNaN(r.y)&&(r.y=g(\"y\",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(a=[],\"function\"==typeof h)for(t=0;t<l;++t)a[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=h;if(i=[],\"function\"==typeof f)for(t=0;t<l;++t)i[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=f;if(o=[],\"function\"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,m[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,a){if(!e){for(e=new Array(n),c=0;c<n;++c)e[c]=[];for(c=0;c<l;++c){var i=y[c];e[i.source.index].push(i.target),e[i.target.index].push(i.source)}}for(var o,s=e[t],c=-1,u=s.length;++c<u;)if(!isNaN(o=s[c][r]))return o;return Math.random()*a}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=t.behavior.drag().origin(P).on(\"dragstart.force\",wi).on(\"drag.force\",b).on(\"dragend.force\",ki)),!arguments.length)return r;this.on(\"mouseover.force\",Ti).on(\"mouseout.force\",Mi).call(r)},t.rebind(s,l,\"on\")};var Ai=20,Si=1,Ei=1/0;function Li(e,r){return t.rebind(e,r,\"sort\",\"children\",\"value\"),e.nodes=e,e.links=Di,e}function Ci(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(a=t.children)&&(n=a.length))for(var n,a;--n>=0;)r.push(a[n])}function Pi(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(i=t.children)&&(a=i.length))for(var a,i,o=-1;++o<a;)r.push(i[o]);for(;null!=(t=n.pop());)e(t)}function Oi(t){return t.children}function zi(t){return t.value}function Ii(t,e){return e.value-t.value}function Di(e){return t.merge(e.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}t.layout.hierarchy=function(){var t=Ii,e=Oi,r=zi;function n(a){var i,o=[a],s=[];for(a.depth=0;null!=(i=o.pop());)if(s.push(i),(c=e.call(n,i,i.depth))&&(l=c.length)){for(var l,c,u;--l>=0;)o.push(u=c[l]),u.parent=i,u.depth=i.depth+1;r&&(i.value=0),i.children=c}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Pi(a,function(e){var n,a;t&&(n=e.children)&&n.sort(t),r&&(a=e.parent)&&(a.value+=e.value)}),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ci(t,function(t){t.children&&(t.value=0)}),Pi(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var a=e.call(this,t,n);return function t(e,r,n,a){var i=e.children;if(e.x=r,e.y=e.depth*a,e.dx=n,e.dy=a,i&&(o=i.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c<o;)t(s=i[c],r,l=s.value*n,a),r+=l}}(a[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(a=r.length))for(var a,i=-1;++i<a;)n=Math.max(n,t(r[i]));return 1+n}(a[0])),a}return n.size=function(t){return arguments.length?(r=t,n):r},Li(n,e)},t.layout.pie=function(){var e=Number,r=Ri,n=0,a=At,i=0;function o(s){var l,c=s.length,u=s.map(function(t,r){return+e.call(o,t,r)}),h=+(\"function\"==typeof n?n.apply(this,arguments):n),f=(\"function\"==typeof a?a.apply(this,arguments):a)-h,p=Math.min(Math.abs(f)/c,+(\"function\"==typeof i?i.apply(this,arguments):i)),d=p*(f<0?-1:1),g=t.sum(u),v=g?(f-c*d)/g:0,m=t.range(c),y=[];return null!=r&&m.sort(r===Ri?function(t,e){return u[e]-u[t]}:function(t,e){return r(s[t],s[e])}),m.forEach(function(t){y[t]={data:s[t],value:l=u[t],startAngle:h,endAngle:h+=l*v+d,padAngle:p}}),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(t){return arguments.length?(r=t,o):r},o.startAngle=function(t){return arguments.length?(n=t,o):n},o.endAngle=function(t){return arguments.length?(a=t,o):a},o.padAngle=function(t){return arguments.length?(i=t,o):i},o};var Ri={};function Fi(t){return t.x}function Bi(t){return t.y}function Ni(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=P,r=Ui,n=qi,a=Ni,i=Fi,o=Bi;function s(l,c){if(!(p=l.length))return l;var u=l.map(function(t,r){return e.call(s,t,r)}),h=u.map(function(t){return t.map(function(t,e){return[i.call(s,t,e),o.call(s,t,e)]})}),f=r.call(s,h,c);u=t.permute(u,f),h=t.permute(h,f);var p,d,g,v,m=n.call(s,h,c),y=u[0].length;for(g=0;g<y;++g)for(a.call(s,u[0][g],v=m[g],h[0][g][1]),d=1;d<p;++d)a.call(s,u[d][g],v+=h[d-1][g][1],h[d][g][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(t){return arguments.length?(r=\"function\"==typeof t?t:ji.get(t)||Ui,s):r},s.offset=function(t){return arguments.length?(n=\"function\"==typeof t?t:Vi.get(t)||qi,s):n},s.x=function(t){return arguments.length?(i=t,s):i},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(a=t,s):a},s};var ji=t.map({\"inside-out\":function(e){var r,n,a=e.length,i=e.map(Hi),o=e.map(Gi),s=t.range(a).sort(function(t,e){return i[t]-i[e]}),l=0,c=0,u=[],h=[];for(r=0;r<a;++r)n=s[r],l<c?(l+=o[n],u.push(n)):(c+=o[n],h.push(n));return h.reverse().concat(u)},reverse:function(e){return t.range(e.length).reverse()},default:Ui}),Vi=t.map({silhouette:function(t){var e,r,n,a=t.length,i=t[0].length,o=[],s=0,l=[];for(r=0;r<i;++r){for(e=0,n=0;e<a;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<i;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,a,i,o,s,l,c,u=t.length,h=t[0],f=h.length,p=[];for(p[0]=l=c=0,r=1;r<f;++r){for(e=0,a=0;e<u;++e)a+=t[e][r][1];for(e=0,i=0,s=h[r][0]-h[r-1][0];e<u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;i+=o*t[e][r][1]}p[r]=l-=a?i/a*s:0,l<c&&(c=l)}for(r=0;r<f;++r)p[r]-=c;return p},expand:function(t){var e,r,n,a=t.length,i=t[0].length,o=1/a,s=[];for(r=0;r<i;++r){for(e=0,n=0;e<a;e++)n+=t[e][r][1];if(n)for(e=0;e<a;e++)t[e][r][1]/=n;else for(e=0;e<a;e++)t[e][r][1]=o}for(r=0;r<i;++r)s[r]=0;return s},zero:qi});function Ui(e){return t.range(e.length)}function qi(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Hi(t){for(var e,r=1,n=0,a=t[0][1],i=t.length;r<i;++r)(e=t[r][1])>a&&(n=r,a=e);return n}function Gi(t){return t.reduce(Yi,0)}function Yi(t,e){return t+e[1]}function Wi(t,e){return Xi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Xi(t,e){for(var r=-1,n=+t[0],a=(t[1]-n)/e,i=[];++r<=e;)i[r]=a*r+n;return i}function Zi(e){return[t.min(e),t.max(e)]}function Ji(t,e){return t.value-e.value}function Ki(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Qi(t,e){t._pack_next=e,e._pack_prev=t}function $i(t,e){var r=e.x-t.x,n=e.y-t.y,a=t.r+e.r;return.999*a*a>r*r+n*n}function to(t){if((e=t.children)&&(l=e.length)){var e,r,n,a,i,o,s,l,c=1/0,u=-1/0,h=1/0,f=-1/0;if(e.forEach(eo),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(no(r,n,a=e[2]),x(a),Ki(r,a),r._pack_prev=a,Ki(a,n),n=r._pack_next,i=3;i<l;i++){no(r,n,a=e[i]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if($i(o,a)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!$i(s,a);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?Qi(r,n=o):Qi(r=s,n),i--):(Ki(r,a),n=a,x(a))}var v=(c+u)/2,m=(h+f)/2,y=0;for(i=0;i<l;i++)(a=e[i]).x-=v,a.y-=m,y=Math.max(y,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=y,e.forEach(ro)}function x(t){c=Math.min(t.x-t.r,c),u=Math.max(t.x+t.r,u),h=Math.min(t.y-t.r,h),f=Math.max(t.y+t.r,f)}}function eo(t){t._pack_next=t._pack_prev=t}function ro(t){delete t._pack_next,delete t._pack_prev}function no(t,e,r){var n=t.r+r.r,a=e.x-t.x,i=e.y-t.y;if(n&&(a||i)){var o=e.r+r.r,s=a*a+i*i,l=.5+((n*=n)-(o*=o))/(2*s),c=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*a+c*i,r.y=t.y+l*i-c*a}else r.x=t.x+n,r.y=t.y}function ao(t,e){return t.parent==e.parent?1:2}function io(t){var e=t.children;return e.length?e[0]:t.t}function oo(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function so(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function lo(t,e,r){return t.a.parent===e.parent?t.a:r}function co(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function uo(t,e){var r=t.x+e[3],n=t.y+e[0],a=t.dx-e[1]-e[3],i=t.dy-e[0]-e[2];return a<0&&(r+=a/2,a=0),i<0&&(n+=i/2,i=0),{x:r,y:n,dx:a,dy:i}}function ho(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function fo(t){return t.rangeExtent?t.rangeExtent():ho(t.range())}function po(t,e,r,n){var a=r(t[0],t[1]),i=n(e[0],e[1]);return function(t){return i(a(t))}}function go(t,e){var r,n=0,a=t.length-1,i=t[n],o=t[a];return o<i&&(r=n,n=a,a=r,r=i,i=o,o=r),t[n]=e.floor(i),t[a]=e.ceil(o),t}function vo(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:mo}t.layout.histogram=function(){var e=!0,r=Number,n=Zi,a=Wi;function i(i,o){for(var s,l,c=[],u=i.map(r,this),h=n.call(this,u,o),f=a.call(this,h,u,o),p=(o=-1,u.length),d=f.length-1,g=e?1:1/p;++o<d;)(s=c[o]=[]).dx=f[o+1]-(s.x=f[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=u[o])>=h[0]&&l<=h[1]&&((s=c[t.bisect(f,l,1,d)-1]).y+=g,s.push(i[o]));return c}return i.value=function(t){return arguments.length?(r=t,i):r},i.range=function(t){return arguments.length?(n=ve(t),i):n},i.bins=function(t){return arguments.length?(a=\"number\"==typeof t?function(e){return Xi(e,t)}:ve(t),i):a},i.frequency=function(t){return arguments.length?(e=!!t,i):e},i},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Ji),n=0,a=[1,1];function i(t,i){var o=r.call(this,t,i),s=o[0],l=a[0],c=a[1],u=null==e?Math.sqrt:\"function\"==typeof e?e:function(){return e};if(s.x=s.y=0,Pi(s,function(t){t.r=+u(t.value)}),Pi(s,to),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Pi(s,function(t){t.r+=h}),Pi(s,to),Pi(s,function(t){t.r-=h})}return function t(e,r,n,a){var i=e.children;e.x=r+=a*e.x;e.y=n+=a*e.y;e.r*=a;if(i)for(var o=-1,s=i.length;++o<s;)t(i[o],r,n,a)}(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return i.size=function(t){return arguments.length?(a=t,i):a},i.radius=function(t){return arguments.length?(e=null==t||\"function\"==typeof t?t:+t,i):e},i.padding=function(t){return arguments.length?(n=+t,i):n},Li(i,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ao,n=[1,1],a=null;function i(t,i){var c=e.call(this,t,i),u=c[0],h=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var a,i=e.children,o=0,s=i.length;o<s;++o)n.push((i[o]=a={_:i[o],parent:e,children:(a=i[o].children)&&a.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=a);return r.children[0]}(u);if(Pi(h,o),h.parent.m=-h.z,Ci(h,s),a)Ci(u,l);else{var f=u,p=u,d=u;Ci(u,function(t){t.x<f.x&&(f=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(f,p)/2-f.x,v=n[0]/(p.x+r(p,f)/2+g),m=n[1]/(d.depth||1);Ci(u,function(t){t.x=(t.x+g)*v,t.y=t.depth*m})}return c}function o(t){var e=t.children,n=t.parent.children,a=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,a=t.children,i=a.length;for(;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var i=(e[0].z+e[e.length-1].z)/2;a?(t.z=a.z+r(t._,a._),t.m=t.z-i):t.z=i}else a&&(t.z=a.z+r(t._,a._));t.parent.A=function(t,e,n){if(e){for(var a,i=t,o=t,s=e,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=oo(s),i=io(i),s&&i;)l=io(l),(o=oo(o)).a=t,(a=s.z+h-i.z-c+r(s._,i._))>0&&(so(lo(s,t,n),t,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!oo(o)&&(o.t=s,o.m+=h-u),i&&!io(l)&&(l.t=i,l.m+=c-f,n=t)}return n}(t,a,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t)?l:null,i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null==(n=t)?null:l,i):a?n:null},Li(i,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ao,n=[1,1],a=!1;function i(i,o){var s,l=e.call(this,i,o),c=l[0],u=0;Pi(c,function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(n),e.y=function(e){return 1+t.max(e,function(t){return t.y})}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)});var h=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),f=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return Pi(c,a?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t),i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null!=(n=t),i):a?n:null},Li(i,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,a=[1,1],i=null,o=co,s=!1,l=\"squarify\",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,a=-1,i=t.length;++a<i;)n=(r=t[a]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function h(t){var e=t.children;if(e&&e.length){var r,n,a,i=o(t),s=[],c=e.slice(),f=1/0,g=\"slice\"===l?i.dx:\"dice\"===l?i.dy:\"slice-dice\"===l?1&t.depth?i.dy:i.dx:Math.min(i.dx,i.dy);for(u(c,i.dx*i.dy/t.value),s.area=0;(a=c.length)>0;)s.push(r=c[a-1]),s.area+=r.area,\"squarify\"!==l||(n=p(s,g))<=f?(c.pop(),f=n):(s.area-=s.pop().area,d(s,g,i,!1),g=Math.min(i.dx,i.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,g,i,!0),s.length=s.area=0),e.forEach(h)}}function f(t){var e=t.children;if(e&&e.length){var r,n=o(t),a=e.slice(),i=[];for(u(a,n.dx*n.dy/t.value),i.area=0;r=a.pop();)i.push(r),i.area+=r.area,null!=r.z&&(d(i,r.z?n.dx:n.dy,n,!a.length),i.length=i.area=0);e.forEach(f)}}function p(t,e){for(var r,n=t.area,a=0,i=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<i&&(i=r),r>a&&(a=r));return e*=e,(n*=n)?Math.max(e*a*c/n,n/(e*i*c)):1/0}function d(t,e,r,a){var i,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((a||u>r.dy)&&(u=r.dy);++o<s;)(i=t[o]).x=l,i.y=c,i.dy=u,l+=i.dx=Math.min(r.x+r.dx-l,u?n(i.area/u):0);i.z=!0,i.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((a||u>r.dx)&&(u=r.dx);++o<s;)(i=t[o]).x=l,i.y=c,i.dx=u,c+=i.dy=Math.min(r.y+r.dy-c,u?n(i.area/u):0);i.z=!1,i.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function g(t){var n=e||r(t),i=n[0];return i.x=i.y=0,i.value?(i.dx=a[0],i.dy=a[1]):i.dx=i.dy=0,e&&r.revalue(i),u([i],i.dx*i.dy/i.value),(e?f:h)(i),s&&(e=n),n}return g.size=function(t){return arguments.length?(a=t,g):a},g.padding=function(t){if(!arguments.length)return i;function e(e){return uo(e,t)}var r;return o=null==(i=t)?co:\"function\"==(r=typeof t)?function(e){var r=t.call(g,e,e.depth);return null==r?co(e):uo(e,\"number\"==typeof r?[r,r,r,r]:r)}:\"number\"===r?(t=[t,t,t,t],e):e,g},g.round=function(t){return arguments.length?(n=t?Math.round:Number,g):n!=Number},g.sticky=function(t){return arguments.length?(s=t,e=null,g):s},g.ratio=function(t){return arguments.length?(c=t,g):c},g.mode=function(t){return arguments.length?(l=t+\"\",g):l},Li(g,r)},t.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,a;do{a=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!a||a>1);return t+e*r*Math.sqrt(-2*Math.log(a)/a)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},t.scale={};var mo={floor:P,ceil:P};function yo(e,r,n,a){var i=[],o=[],s=0,l=Math.min(e.length,r.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),r=r.slice().reverse());++s<=l;)i.push(n(e[s-1],e[s])),o.push(a(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](i[n](r))}}function xo(e,r){return t.rebind(e,r,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function bo(t,e){return go(t,vo(_o(t,e)[2])),go(t,vo(_o(t,e)[2])),t}function _o(t,e){null==e&&(e=10);var r=ho(t),n=r[1]-r[0],a=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),i=e/n*a;return i<=.15?a*=10:i<=.35?a*=5:i<=.75&&(a*=2),r[0]=Math.ceil(r[0]/a)*a,r[1]=Math.floor(r[1]/a)*a+.5*a,r[2]=a,r}function wo(e,r){return t.range.apply(t,_o(e,r))}function ko(e,r,n){var a=_o(e,r);if(n){var i=Pe.exec(n);if(i.shift(),\"s\"===i[8]){var o=t.formatPrefix(Math.max(y(a[0]),y(a[1])));return i[7]||(i[7]=\".\"+Mo(o.scale(a[2]))),i[8]=\"f\",n=t.format(i.join(\"\")),function(t){return n(o.scale(t))+o.symbol}}i[7]||(i[7]=\".\"+function(t,e){var r=Mo(e[2]);return t in To?Math.abs(r-Mo(Math.max(y(e[0]),y(e[1]))))+ +(\"e\"!==t):r-2*(\"%\"===t)}(i[8],a)),n=i.join(\"\")}else n=\",.\"+Mo(a[2])+\"f\";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,a){var i,o;function s(){var t=Math.min(e.length,r.length)>2?yo:po,s=a?xi:yi;return i=t(e,r,s,n),o=t(r,e,s,Ka),l}function l(t){return i(t)}l.invert=function(t){return o(t)};l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e};l.range=function(t){return arguments.length?(r=t,s()):r};l.rangeRound=function(t){return l.range(t).interpolate(hi)};l.clamp=function(t){return arguments.length?(a=t,s()):a};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return wo(e,t)};l.tickFormat=function(t,r){return ko(e,t,r)};l.nice=function(t){return bo(e,t),s()};l.copy=function(){return t(e,r,n,a)};return s()}([0,1],[0,1],Ka,!1)};var To={s:1,g:1,p:1,r:1,e:1};function Mo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,a,i){function o(t){return(a?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return a?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(a=t[0]>=0,r.domain((i=t.map(Number)).map(o)),l):i};l.base=function(t){return arguments.length?(n=+t,r.domain(i.map(o)),l):n};l.nice=function(){var t=go(i.map(o),a?Math:So);return r.domain(t),i=t.map(s),l};l.ticks=function(){var t=ho(i),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),h=n%1?2:n;if(isFinite(u-c)){if(a){for(;c<u;c++)for(var f=1;f<h;f++)e.push(s(c)*f);e.push(s(c))}else for(e.push(s(c));c++<u;)for(var f=h-1;f>0;f--)e.push(s(c)*f);for(c=0;e[c]<r;c++);for(u=e.length;e[u-1]>l;u--);e=e.slice(c,u)}return e};l.tickFormat=function(e,r){if(!arguments.length)return Ao;arguments.length<2?r=Ao:\"function\"!=typeof r&&(r=t.format(r));var a=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n<n-.5&&(e*=n),e<=a?r(t):\"\"}};l.copy=function(){return e(r.copy(),n,a,i)};return xo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var Ao=t.format(\".0e\"),So={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function Eo(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var a=Eo(r),i=Eo(1/r);function o(t){return e(a(t))}o.invert=function(t){return i(e.invert(t))};o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(a)),o):n};o.ticks=function(t){return wo(n,t)};o.tickFormat=function(t,e){return ko(n,t,e)};o.nice=function(t){return o.domain(bo(n,t))};o.exponent=function(t){return arguments.length?(a=Eo(r=t),i=Eo(1/r),e.domain(n.map(a)),o):r};o.copy=function(){return t(e.copy(),r,n)};return xo(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var a,i,o;function s(t){return i[((a.get(t)||(\"range\"===n.t?a.set(t,r.push(t)):NaN))-1)%i.length]}function l(e,n){return t.range(r.length).map(function(t){return e+n*t})}s.domain=function(t){if(!arguments.length)return r;r=[],a=new b;for(var e,i=-1,o=t.length;++i<o;)a.has(e=t[i])||a.set(e,r.push(e));return s[n.t].apply(s,n.a)};s.range=function(t){return arguments.length?(i=t,o=0,n={t:\"range\",a:arguments},s):i};s.rangePoints=function(t,e){arguments.length<2&&(e=0);var a=t[0],c=t[1],u=r.length<2?(a=(a+c)/2,0):(c-a)/(r.length-1+e);return i=l(a+u*e/2,u),o=0,n={t:\"rangePoints\",a:arguments},s};s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var a=t[0],c=t[1],u=r.length<2?(a=c=Math.round((a+c)/2),0):(c-a)/(r.length-1+e)|0;return i=l(a+Math.round(u*e/2+(c-a-(r.length-1+e)*u)/2),u),o=0,n={t:\"rangeRoundPoints\",a:arguments},s};s.rangeBands=function(t,e,a){arguments.length<2&&(e=0),arguments.length<3&&(a=e);var c=t[1]<t[0],u=t[c-0],h=t[1-c],f=(h-u)/(r.length-e+2*a);return i=l(u+f*a,f),c&&i.reverse(),o=f*(1-e),n={t:\"rangeBands\",a:arguments},s};s.rangeRoundBands=function(t,e,a){arguments.length<2&&(e=0),arguments.length<3&&(a=e);var c=t[1]<t[0],u=t[c-0],h=t[1-c],f=Math.floor((h-u)/(r.length-e+2*a));return i=l(u+Math.round((h-u-(r.length-e)*f)/2),f),c&&i.reverse(),o=Math.round(f*(1-e)),n={t:\"rangeRoundBands\",a:arguments},s};s.rangeBand=function(){return o};s.rangeExtent=function(){return ho(n.a[0])};s.copy=function(){return e(r,n)};return s.domain(r)}([],{t:\"range\",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(Lo)},t.scale.category20=function(){return t.scale.ordinal().range(Co)},t.scale.category20b=function(){return t.scale.ordinal().range(Po)},t.scale.category20c=function(){return t.scale.ordinal().range(Oo)};var Lo=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(se),Co=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(se),Po=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(se),Oo=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(se);function zo(){return 0}t.scale.quantile=function(){return function e(r,n){var a;function i(){var e=0,i=n.length;for(a=[];++e<i;)a[e-1]=t.quantile(r,e/i);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(a,e)]}o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(f),i()):r};o.range=function(t){return arguments.length?(n=t,i()):n};o.quantiles=function(){return a};o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?a[t-1]:r[0],t<a.length?a[t]:r[r.length-1]]};o.copy=function(){return e(r,n)};return i()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var a,i;function o(t){return n[Math.max(0,Math.min(i,Math.floor(a*(t-e))))]}function s(){return a=n.length/(r-e),i=n.length-1,o}o.domain=function(t){return arguments.length?(e=+t[0],r=+t[t.length-1],s()):[e,r]};o.range=function(t){return arguments.length?(n=t,s()):n};o.invertExtent=function(t){return[t=(t=n.indexOf(t))<0?NaN:t/a+e,t+1/a]};o.copy=function(){return t(e,r,n)};return s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function a(e){if(e<=e)return n[t.bisect(r,e)]}a.domain=function(t){return arguments.length?(r=t,a):r};a.range=function(t){return arguments.length?(n=t,a):n};a.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]};a.copy=function(){return e(r,n)};return a}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}r.invert=r;r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e};r.ticks=function(t){return wo(e,t)};r.tickFormat=function(t,r){return ko(e,t,r)};r.copy=function(){return t(e)};return r}([0,1])},t.svg={},t.svg.arc=function(){var t=Do,e=Ro,r=zo,n=Io,a=Fo,i=Bo,o=No;function s(){var s=Math.max(0,+t.apply(this,arguments)),c=Math.max(0,+e.apply(this,arguments)),u=a.apply(this,arguments)-Et,h=i.apply(this,arguments)-Et,f=Math.abs(h-u),p=u>h?0:1;if(c<s&&(d=c,c=s,s=d),f>=St)return l(c,p)+(s?l(s,1-p):\"\")+\"Z\";var d,g,v,m,y,x,b,_,w,k,T,M,A=0,S=0,E=[];if((m=(+o.apply(this,arguments)||0)/2)&&(v=n===Io?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=It(v/c*Math.sin(m))),s&&(A=It(v/s*Math.sin(m)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(h-S),_=c*Math.sin(h-S);var L=Math.abs(h-u-2*S)<=Mt?0:1;if(S&&jo(y,x,b,_)===p^L){var C=(u+h)/2;y=c*Math.cos(C),x=c*Math.sin(C),b=_=null}}else y=x=0;if(s){w=s*Math.cos(h-A),k=s*Math.sin(h-A),T=s*Math.cos(u+A),M=s*Math.sin(u+A);var P=Math.abs(u-h+2*A)<=Mt?0:1;if(A&&jo(w,k,T,M)===1-p^P){var O=(u+h)/2;w=s*Math.cos(O),k=s*Math.sin(O),T=M=null}}else w=k=0;if(f>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s<c^p?0:1;var z=d,I=d;if(f<Mt){var D=null==T?[w,k]:null==b?[y,x]:ca([y,x],[T,M],[b,_],[w,k]),R=y-D[0],F=x-D[1],B=b-D[0],N=_-D[1],j=1/Math.sin(Math.acos((R*B+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(B*B+N*N)))/2),V=Math.sqrt(D[0]*D[0]+D[1]*D[1]);I=Math.min(d,(s-V)/(j-1)),z=Math.min(d,(c-V)/(j+1))}if(null!=b){var U=Vo(null==T?[w,k]:[T,M],[y,x],c,z,p),q=Vo([b,_],[w,k],c,z,p);d===z?E.push(\"M\",U[0],\"A\",z,\",\",z,\" 0 0,\",g,\" \",U[1],\"A\",c,\",\",c,\" 0 \",1-p^jo(U[1][0],U[1][1],q[1][0],q[1][1]),\",\",p,\" \",q[1],\"A\",z,\",\",z,\" 0 0,\",g,\" \",q[0]):E.push(\"M\",U[0],\"A\",z,\",\",z,\" 0 1,\",g,\" \",q[0])}else E.push(\"M\",y,\",\",x);if(null!=T){var H=Vo([y,x],[T,M],s,-I,p),G=Vo([w,k],null==b?[y,x]:[b,_],s,-I,p);d===I?E.push(\"L\",G[0],\"A\",I,\",\",I,\" 0 0,\",g,\" \",G[1],\"A\",s,\",\",s,\" 0 \",p^jo(G[1][0],G[1][1],H[1][0],H[1][1]),\",\",1-p,\" \",H[1],\"A\",I,\",\",I,\" 0 0,\",g,\" \",H[0]):E.push(\"L\",G[0],\"A\",I,\",\",I,\" 0 0,\",g,\" \",H[0])}else E.push(\"L\",w,\",\",k)}else E.push(\"M\",y,\",\",x),null!=b&&E.push(\"A\",c,\",\",c,\" 0 \",L,\",\",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(t,e){return\"M0,\"+t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+-t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+t}return s.innerRadius=function(e){return arguments.length?(t=ve(e),s):t},s.outerRadius=function(t){return arguments.length?(e=ve(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=ve(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Io?Io:ve(t),s):n},s.startAngle=function(t){return arguments.length?(a=ve(t),s):a},s.endAngle=function(t){return arguments.length?(i=ve(t),s):i},s.padAngle=function(t){return arguments.length?(o=ve(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+a.apply(this,arguments)+ +i.apply(this,arguments))/2-Et;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Io=\"auto\";function Do(t){return t.innerRadius}function Ro(t){return t.outerRadius}function Fo(t){return t.startAngle}function Bo(t){return t.endAngle}function No(t){return t&&t.padAngle}function jo(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function Vo(t,e,r,n,a){var i=t[0]-e[0],o=t[1]-e[1],s=(a?n:-n)/Math.sqrt(i*i+o*o),l=s*o,c=-s*i,u=t[0]+l,h=t[1]+c,f=e[0]+l,p=e[1]+c,d=(u+f)/2,g=(h+p)/2,v=f-u,m=p-h,y=v*v+m*m,x=r-n,b=u*p-f*h,_=(m<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*m-v*_)/y,k=(-b*v-m*_)/y,T=(b*m+v*_)/y,M=(-b*v+m*_)/y,A=w-d,S=k-g,E=T-d,L=M-g;return A*A+S*S>E*E+L*L&&(w=T,k=M),[[w-l,k-c],[w*r/x,k*r/x]]}function Uo(t){var e=na,r=aa,n=Xr,a=Ho,i=a.key,o=.7;function s(i){var s,l=[],c=[],u=-1,h=i.length,f=ve(e),p=ve(r);function d(){l.push(\"M\",a(t(c),o))}for(;++u<h;)n.call(this,s=i[u],u)?c.push([+f.call(this,s,u),+p.call(this,s,u)]):c.length&&(d(),c=[]);return c.length&&d(),l.length?l.join(\"\"):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(i=\"function\"==typeof t?a=t:(a=qo.get(t)||Ho).key,s):i},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return Uo(P)};var qo=t.map({linear:Ho,\"linear-closed\":Go,step:function(t){var e=0,r=t.length,n=t[0],a=[n[0],\",\",n[1]];for(;++e<r;)a.push(\"H\",(n[0]+(n=t[e])[0])/2,\"V\",n[1]);r>1&&a.push(\"H\",n[0]);return a.join(\"\")},\"step-before\":Yo,\"step-after\":Wo,basis:Jo,\"basis-open\":function(t){if(t.length<4)return Ho(t);var e,r=[],n=-1,a=t.length,i=[0],o=[0];for(;++n<3;)e=t[n],i.push(e[0]),o.push(e[1]);r.push(Ko(ts,i)+\",\"+Ko(ts,o)),--n;for(;++n<a;)e=t[n],i.shift(),i.push(e[0]),o.shift(),o.push(e[1]),es(r,i,o);return r.join(\"\")},\"basis-closed\":function(t){var e,r,n=-1,a=t.length,i=a+4,o=[],s=[];for(;++n<4;)r=t[n%a],o.push(r[0]),s.push(r[1]);e=[Ko(ts,o),\",\",Ko(ts,s)],--n;for(;++n<i;)r=t[n%a],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),es(e,o,s);return e.join(\"\")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,a,i=t[0][0],o=t[0][1],s=t[r][0]-i,l=t[r][1]-o,c=-1;++c<=r;)n=t[c],a=c/r,n[0]=e*n[0]+(1-e)*(i+a*s),n[1]=e*n[1]+(1-e)*(o+a*l);return Jo(t)},cardinal:function(t,e){return t.length<3?Ho(t):t[0]+Xo(t,Zo(t,e))},\"cardinal-open\":function(t,e){return t.length<4?Ho(t):t[1]+Xo(t.slice(1,-1),Zo(t,e))},\"cardinal-closed\":function(t,e){return t.length<3?Go(t):t[0]+Xo((t.push(t[0]),t),Zo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Ho(t):t[0]+Xo(t,function(t){var e,r,n,a,i=[],o=function(t){var e=0,r=t.length-1,n=[],a=t[0],i=t[1],o=n[0]=rs(a,i);for(;++e<r;)n[e]=(o+(o=rs(a=i,i=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=rs(t[s],t[s+1]),y(e)<kt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(a=r*r+n*n)>9&&(a=3*e/Math.sqrt(a),o[s]=a*r,o[s+1]=a*n));s=-1;for(;++s<=l;)a=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),i.push([a||0,o[s]*a||0]);return i}(t))}});function Ho(t){return t.length>1?t.join(\"L\"):t+\"Z\"}function Go(t){return t.join(\"L\")+\"Z\"}function Yo(t){for(var e=0,r=t.length,n=t[0],a=[n[0],\",\",n[1]];++e<r;)a.push(\"V\",(n=t[e])[1],\"H\",n[0]);return a.join(\"\")}function Wo(t){for(var e=0,r=t.length,n=t[0],a=[n[0],\",\",n[1]];++e<r;)a.push(\"H\",(n=t[e])[0],\"V\",n[1]);return a.join(\"\")}function Xo(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Ho(t);var r=t.length!=e.length,n=\"\",a=t[0],i=t[1],o=e[0],s=o,l=1;if(r&&(n+=\"Q\"+(i[0]-2*o[0]/3)+\",\"+(i[1]-2*o[1]/3)+\",\"+i[0]+\",\"+i[1],a=t[1],l=2),e.length>1){s=e[1],i=t[l],l++,n+=\"C\"+(a[0]+o[0])+\",\"+(a[1]+o[1])+\",\"+(i[0]-s[0])+\",\"+(i[1]-s[1])+\",\"+i[0]+\",\"+i[1];for(var c=2;c<e.length;c++,l++)i=t[l],s=e[c],n+=\"S\"+(i[0]-s[0])+\",\"+(i[1]-s[1])+\",\"+i[0]+\",\"+i[1]}if(r){var u=t[l];n+=\"Q\"+(i[0]+2*s[0]/3)+\",\"+(i[1]+2*s[1]/3)+\",\"+u[0]+\",\"+u[1]}return n}function Zo(t,e){for(var r,n=[],a=(1-e)/2,i=t[0],o=t[1],s=1,l=t.length;++s<l;)r=i,i=o,o=t[s],n.push([a*(o[0]-r[0]),a*(o[1]-r[1])]);return n}function Jo(t){if(t.length<3)return Ho(t);var e=1,r=t.length,n=t[0],a=n[0],i=n[1],o=[a,a,a,(n=t[1])[0]],s=[i,i,i,n[1]],l=[a,\",\",i,\"L\",Ko(ts,o),\",\",Ko(ts,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),es(l,o,s);return t.pop(),l.push(\"L\",n),l.join(\"\")}function Ko(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}qo.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Qo=[0,2/3,1/3,0],$o=[0,1/3,2/3,0],ts=[0,1/6,2/3,1/6];function es(t,e,r){t.push(\"C\",Ko(Qo,e),\",\",Ko(Qo,r),\",\",Ko($o,e),\",\",Ko($o,r),\",\",Ko(ts,e),\",\",Ko(ts,r))}function rs(t,e){return(e[1]-t[1])/(e[0]-t[0])}function ns(t){for(var e,r,n,a=-1,i=t.length;++a<i;)r=(e=t[a])[0],n=e[1]-Et,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function as(t){var e=na,r=na,n=0,a=aa,i=Xr,o=Ho,s=o.key,l=o,c=\"L\",u=.7;function h(s){var h,f,p,d=[],g=[],v=[],m=-1,y=s.length,x=ve(e),b=ve(n),_=e===r?function(){return f}:ve(r),w=n===a?function(){return p}:ve(a);function k(){d.push(\"M\",o(t(v),u),c,l(t(g.reverse()),u),\"Z\")}for(;++m<y;)i.call(this,h=s[m],m)?(g.push([f=+x.call(this,h,m),p=+b.call(this,h,m)]),v.push([+_.call(this,h,m),+w.call(this,h,m)])):g.length&&(k(),g=[],v=[]);return g.length&&k(),d.length?d.join(\"\"):null}return h.x=function(t){return arguments.length?(e=r=t,h):r},h.x0=function(t){return arguments.length?(e=t,h):e},h.x1=function(t){return arguments.length?(r=t,h):r},h.y=function(t){return arguments.length?(n=a=t,h):a},h.y0=function(t){return arguments.length?(n=t,h):n},h.y1=function(t){return arguments.length?(a=t,h):a},h.defined=function(t){return arguments.length?(i=t,h):i},h.interpolate=function(t){return arguments.length?(s=\"function\"==typeof t?o=t:(o=qo.get(t)||Ho).key,l=o.reverse||o,c=o.closed?\"M\":\"L\",h):s},h.tension=function(t){return arguments.length?(u=t,h):u},h}function is(t){return t.radius}function os(t){return[t.x,t.y]}function ss(){return 64}function ls(){return\"circle\"}function cs(t){var e=Math.sqrt(t/Mt);return\"M0,\"+e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+-e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+e+\"Z\"}t.svg.line.radial=function(){var t=Uo(ns);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Yo.reverse=Wo,Wo.reverse=Yo,t.svg.area=function(){return as(P)},t.svg.area.radial=function(){var t=as(ns);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},t.svg.chord=function(){var t=qn,e=Hn,r=is,n=Fo,a=Bo;function i(r,n){var a,i,c=o(this,t,r,n),u=o(this,e,r,n);return\"M\"+c.p0+s(c.r,c.p1,c.a1-c.a0)+(i=u,(a=c).a0==i.a0&&a.a1==i.a1?l(c.r,c.p1,c.r,c.p0):l(c.r,c.p1,u.r,u.p0)+s(u.r,u.p1,u.a1-u.a0)+l(u.r,u.p1,c.r,c.p0))+\"Z\"}function o(t,e,i,o){var s=e.call(t,i,o),l=r.call(t,s,o),c=n.call(t,s,o)-Et,u=a.call(t,s,o)-Et;return{r:l,a0:c,a1:u,p0:[l*Math.cos(c),l*Math.sin(c)],p1:[l*Math.cos(u),l*Math.sin(u)]}}function s(t,e,r){return\"A\"+t+\",\"+t+\" 0 \"+ +(r>Mt)+\",1 \"+e}function l(t,e,r,n){return\"Q 0,0 \"+n}return i.radius=function(t){return arguments.length?(r=ve(t),i):r},i.source=function(e){return arguments.length?(t=ve(e),i):t},i.target=function(t){return arguments.length?(e=ve(t),i):e},i.startAngle=function(t){return arguments.length?(n=ve(t),i):n},i.endAngle=function(t){return arguments.length?(a=ve(t),i):a},i},t.svg.diagonal=function(){var t=qn,e=Hn,r=os;function n(n,a){var i=t.call(this,n,a),o=e.call(this,n,a),s=(i.y+o.y)/2,l=[i,{x:i.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(e){return arguments.length?(t=ve(e),n):t},n.target=function(t){return arguments.length?(e=ve(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=os,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Et;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=ls,e=ss;function r(r,n){return(us.get(t.call(this,r,n))||cs)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ve(e),r):t},r.size=function(t){return arguments.length?(e=ve(t),r):e},r};var us=t.map({circle:cs,cross:function(t){var e=Math.sqrt(t/5)/2;return\"M\"+-3*e+\",\"+-e+\"H\"+-e+\"V\"+-3*e+\"H\"+e+\"V\"+-e+\"H\"+3*e+\"V\"+e+\"H\"+e+\"V\"+3*e+\"H\"+-e+\"V\"+e+\"H\"+-3*e+\"Z\"},diamond:function(t){var e=Math.sqrt(t/(2*fs)),r=e*fs;return\"M0,\"+-e+\"L\"+r+\",0 0,\"+e+\" \"+-r+\",0Z\"},square:function(t){var e=Math.sqrt(t)/2;return\"M\"+-e+\",\"+-e+\"L\"+e+\",\"+-e+\" \"+e+\",\"+e+\" \"+-e+\",\"+e+\"Z\"},\"triangle-down\":function(t){var e=Math.sqrt(t/hs),r=e*hs/2;return\"M0,\"+r+\"L\"+e+\",\"+-r+\" \"+-e+\",\"+-r+\"Z\"},\"triangle-up\":function(t){var e=Math.sqrt(t/hs),r=e*hs/2;return\"M0,\"+-r+\"L\"+e+\",\"+r+\" \"+-e+\",\"+r+\"Z\"}});t.svg.symbolTypes=us.keys();var hs=Math.sqrt(3),fs=Math.tan(30*Lt);W.transition=function(t){for(var e,r,n=vs||++xs,a=ws(t),i=[],o=ms||{time:Date.now(),ease:oi,delay:0,duration:250},s=-1,l=this.length;++s<l;){i.push(e=[]);for(var c=this[s],u=-1,h=c.length;++u<h;)(r=c[u])&&ks(r,u,a,n,o),e.push(r)}return gs(i,a,n)},W.interrupt=function(t){return this.each(null==t?ps:ds(ws(t)))};var ps=ds(ws());function ds(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function gs(t,e,r){return U(t,ys),t.namespace=e,t.id=r,t}var vs,ms,ys=[],xs=0;function bs(t,e,r,n){var a=t.id,i=t.namespace;return ut(t,\"function\"==typeof r?function(t,o,s){t[i][a].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[i][a].tween.set(e,r)}))}function _s(t){return null==t&&(t=\"\"),function(){this.textContent=t}}function ws(t){return null==t?\"__transition__\":\"__transition_\"+t+\"__\"}function ks(t,e,r,n,a){var i,o,s,l,c,u=t[r]||(t[r]={active:0,count:0}),h=u[n];function f(r){var a=u.active,f=u[a];for(var d in f&&(f.timer.c=null,f.timer.t=NaN,--u.count,delete u[a],f.event&&f.event.interrupt.call(t,t.__data__,f.index)),u)if(+d<n){var g=u[d];g.timer.c=null,g.timer.t=NaN,--u.count,delete u[d]}o.c=p,Te(function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1},0,i),u.active=n,h.event&&h.event.start.call(t,t.__data__,e),c=[],h.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&c.push(n)}),l=h.ease,s=h.duration}function p(a){for(var i=a/s,o=l(i),f=c.length;f>0;)c[--f].call(t,o);if(i>=1)return h.event&&h.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}h||(i=a.time,o=Te(function(t){var e=h.delay;if(o.t=e+i,e<=t)return f(t-e);o.c=f},0,i),h=u[n]={tween:new b,time:i,timer:o,delay:a.delay,duration:a.duration,ease:a.ease,index:e},a=null,++u.count)}ys.call=W.call,ys.empty=W.empty,ys.node=W.node,ys.size=W.size,t.transition=function(e,r){return e&&e.transition?vs?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=ys,ys.select=function(t){var e,r,n,a=this.id,i=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var c=this[s],u=-1,h=c.length;++u<h;)(n=c[u])&&(r=t.call(n,n.__data__,u,s))?(\"__data__\"in n&&(r.__data__=n.__data__),ks(r,u,i,a,n[i][a]),e.push(r)):e.push(null)}return gs(o,i,a)},ys.selectAll=function(t){var e,r,n,a,i,o=this.id,s=this.namespace,l=[];t=Z(t);for(var c=-1,u=this.length;++c<u;)for(var h=this[c],f=-1,p=h.length;++f<p;)if(n=h[f]){i=n[s][o],r=t.call(n,n.__data__,f,c),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(a=r[d])&&ks(a,d,s,o,i),e.push(a)}return gs(l,s,o)},ys.filter=function(t){var e,r,n=[];\"function\"!=typeof t&&(t=ct(t));for(var a=0,i=this.length;a<i;a++){n.push(e=[]);for(var o,s=0,l=(o=this[a]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,a)&&e.push(r)}return gs(n,this.namespace,this.id)},ys.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ut(this,null==e?function(e){e[n][r].tween.remove(t)}:function(a){a[n][r].tween.set(t,e)})},ys.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n=\"transform\"==e?mi:Ka,a=t.ns.qualify(e);function i(){this.removeAttribute(a)}function o(){this.removeAttributeNS(a.space,a.local)}return bs(this,\"attr.\"+e,r,a.local?function(t){return null==t?o:(t+=\"\",function(){var e,r=this.getAttributeNS(a.space,a.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(a.space,a.local,e(t))})})}:function(t){return null==t?i:(t+=\"\",function(){var e,r=this.getAttribute(a);return r!==t&&(e=n(r,t),function(t){this.setAttribute(a,e(t))})})})},ys.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween(\"attr.\"+e,n.local?function(t,e){var a=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return a&&function(t){this.setAttributeNS(n.space,n.local,a(t))}}:function(t,e){var a=r.call(this,t,e,this.getAttribute(n));return a&&function(t){this.setAttribute(n,a(t))}})},ys.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.style(r,t[r],e);return this}r=\"\"}function a(){this.style.removeProperty(t)}return bs(this,\"style.\"+t,e,function(e){return null==e?a:(e+=\"\",function(){var n,a=o(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&&(n=Ka(a,e),function(e){this.style.setProperty(t,n(e),r)})})})},ys.styleTween=function(t,e,r){return arguments.length<3&&(r=\"\"),this.tween(\"style.\"+t,function(n,a){var i=e.call(this,n,a,o(this).getComputedStyle(this,null).getPropertyValue(t));return i&&function(e){this.style.setProperty(t,i(e),r)}})},ys.text=function(t){return bs(this,\"text\",t,_s)},ys.remove=function(){var t=this.namespace;return this.each(\"end.transition\",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},ys.ease=function(e){var r=this.id,n=this.namespace;return arguments.length<1?this.node()[n][r].ease:(\"function\"!=typeof e&&(e=t.ease.apply(t,arguments)),ut(this,function(t){t[n][r].ease=e}))},ys.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ut(this,\"function\"==typeof t?function(n,a,i){n[r][e].delay=+t.call(n,n.__data__,a,i)}:(t=+t,function(n){n[r][e].delay=t}))},ys.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ut(this,\"function\"==typeof t?function(n,a,i){n[r][e].duration=Math.max(1,t.call(n,n.__data__,a,i))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},ys.each=function(e,r){var n=this.id,a=this.namespace;if(arguments.length<2){var i=ms,o=vs;try{vs=n,ut(this,function(t,r,i){ms=t[a][n],e.call(t,t.__data__,r,i)})}finally{ms=i,vs=o}}else ut(this,function(i){var o=i[a][n];(o.event||(o.event=t.dispatch(\"start\",\"end\",\"interrupt\"))).on(e,r)});return this},ys.transition=function(){for(var t,e,r,n=this.id,a=++xs,i=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var c,u=0,h=(c=this[s]).length;u<h;u++)(e=c[u])&&ks(e,u,i,a,{time:(r=e[i][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return gs(o,i,a)},t.svg.axis=function(){var e,r=t.scale.linear(),a=Ts,i=6,o=6,s=3,l=[10],c=null;function u(n){n.each(function(){var n,u=t.select(this),h=this.__chart__||r,f=this.__chart__=r.copy(),p=null==c?f.ticks?f.ticks.apply(f,l):f.domain():c,d=null==e?f.tickFormat?f.tickFormat.apply(f,l):P:e,g=u.selectAll(\".tick\").data(p,f),v=g.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",kt),m=t.transition(g.exit()).style(\"opacity\",kt).remove(),y=t.transition(g.order()).style(\"opacity\",1),x=Math.max(i,0)+s,b=fo(f),_=u.selectAll(\".domain\").data([0]),w=(_.enter().append(\"path\").attr(\"class\",\"domain\"),t.transition(_));v.append(\"line\"),v.append(\"text\");var k,T,M,A,S=v.select(\"line\"),E=y.select(\"line\"),L=g.select(\"text\").text(d),C=v.select(\"text\"),O=y.select(\"text\"),z=\"top\"===a||\"left\"===a?-1:1;if(\"bottom\"===a||\"top\"===a?(n=As,k=\"x\",M=\"y\",T=\"x2\",A=\"y2\",L.attr(\"dy\",z<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),w.attr(\"d\",\"M\"+b[0]+\",\"+z*o+\"V0H\"+b[1]+\"V\"+z*o)):(n=Ss,k=\"y\",M=\"x\",T=\"y2\",A=\"x2\",L.attr(\"dy\",\".32em\").style(\"text-anchor\",z<0?\"end\":\"start\"),w.attr(\"d\",\"M\"+z*o+\",\"+b[0]+\"H0V\"+b[1]+\"H\"+z*o)),S.attr(A,z*i),C.attr(M,z*x),E.attr(T,0).attr(A,z*i),O.attr(k,0).attr(M,z*x),f.rangeBand){var I=f,D=I.rangeBand()/2;h=f=function(t){return I(t)+D}}else h.rangeBand?h=f:m.call(n,f,h);v.call(n,h,f),y.call(n,f,f)})}return u.scale=function(t){return arguments.length?(r=t,u):r},u.orient=function(t){return arguments.length?(a=t in Ms?t+\"\":Ts,u):a},u.ticks=function(){return arguments.length?(l=n(arguments),u):l},u.tickValues=function(t){return arguments.length?(c=t,u):c},u.tickFormat=function(t){return arguments.length?(e=t,u):e},u.tickSize=function(t){var e=arguments.length;return e?(i=+t,o=+arguments[e-1],u):i},u.innerTickSize=function(t){return arguments.length?(i=+t,u):i},u.outerTickSize=function(t){return arguments.length?(o=+t,u):o},u.tickPadding=function(t){return arguments.length?(s=+t,u):s},u.tickSubdivide=function(){return arguments.length&&u},u};var Ts=\"bottom\",Ms={top:1,right:1,bottom:1,left:1};function As(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(\"+(isFinite(n)?n:r(t))+\",0)\"})}function Ss(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(0,\"+(isFinite(n)?n:r(t))+\")\"})}t.svg.brush=function(){var e,r,n=j(f,\"brushstart\",\"brush\",\"brushend\"),a=null,i=null,s=[0,0],l=[0,0],c=!0,u=!0,h=Ls[0];function f(e){e.each(function(){var e=t.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",v).on(\"touchstart.brush\",v),r=e.selectAll(\".background\").data([0]);r.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 n=e.selectAll(\".resize\").data(h,P);n.exit().remove(),n.enter().append(\"g\").attr(\"class\",function(t){return\"resize \"+t}).style(\"cursor\",function(t){return Es[t]}).append(\"rect\").attr(\"x\",function(t){return/[ew]$/.test(t)?-3:null}).attr(\"y\",function(t){return/^[ns]/.test(t)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),n.style(\"display\",f.empty()?\"none\":null);var o,s=t.transition(e),l=t.transition(r);a&&(o=fo(a),l.attr(\"x\",o[0]).attr(\"width\",o[1]-o[0]),d(s)),i&&(o=fo(i),l.attr(\"y\",o[0]).attr(\"height\",o[1]-o[0]),g(s)),p(s)})}function p(t){t.selectAll(\".resize\").attr(\"transform\",function(t){return\"translate(\"+s[+/e$/.test(t)]+\",\"+l[+/^s/.test(t)]+\")\"})}function d(t){t.select(\".extent\").attr(\"x\",s[0]),t.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",s[1]-s[0])}function g(t){t.select(\".extent\").attr(\"y\",l[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",l[1]-l[0])}function v(){var h,v,m=this,y=t.select(t.event.target),x=n.of(m,arguments),b=t.select(m),_=y.datum(),w=!/^(n|s)$/.test(_)&&a,k=!/^(e|w)$/.test(_)&&i,T=y.classed(\"extent\"),M=xt(m),A=t.mouse(m),S=t.select(o(m)).on(\"keydown.brush\",function(){32==t.event.keyCode&&(T||(h=null,A[0]-=s[1],A[1]-=l[1],T=2),B())}).on(\"keyup.brush\",function(){32==t.event.keyCode&&2==T&&(A[0]+=s[1],A[1]+=l[1],T=0,B())});if(t.event.changedTouches?S.on(\"touchmove.brush\",C).on(\"touchend.brush\",O):S.on(\"mousemove.brush\",C).on(\"mouseup.brush\",O),b.interrupt().selectAll(\"*\").interrupt(),T)A[0]=s[0]-A[0],A[1]=l[0]-A[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);v=[s[1-E]-A[0],l[1-L]-A[1]],A[0]=s[E],A[1]=l[L]}else t.event.altKey&&(h=A.slice());function C(){var e=t.mouse(m),r=!1;v&&(e[0]+=v[0],e[1]+=v[1]),T||(t.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),A[0]=s[+(e[0]<h[0])],A[1]=l[+(e[1]<h[1])]):h=null),w&&P(e,a,0)&&(d(b),r=!0),k&&P(e,i,1)&&(g(b),r=!0),r&&(p(b),x({type:\"brush\",mode:T?\"move\":\"resize\"}))}function P(t,n,a){var i,o,f=fo(n),p=f[0],d=f[1],g=A[a],v=a?l:s,m=v[1]-v[0];if(T&&(p-=g,d-=m+g),i=(a?u:c)?Math.max(p,Math.min(d,t[a])):t[a],T?o=(i+=g)+m:(h&&(g=Math.max(p,Math.min(d,2*h[a]-i))),g<i?(o=i,i=g):o=g),v[0]!=i||v[1]!=o)return a?r=null:e=null,v[0]=i,v[1]=o,!0}function O(){C(),b.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",f.empty()?\"none\":null),t.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),t.select(\"body\").style(\"cursor\",y.style(\"cursor\")),x({type:\"brushstart\"}),C()}return f.event=function(a){a.each(function(){var a=n.of(this,arguments),i={x:s,y:l,i:e,j:r},o=this.__chart__||i;this.__chart__=i,vs?t.select(this).transition().each(\"start.brush\",function(){e=o.i,r=o.j,s=o.x,l=o.y,a({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var t=Qa(s,i.x),n=Qa(l,i.y);return e=r=null,function(e){s=i.x=t(e),l=i.y=n(e),a({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){e=i.i,r=i.j,a({type:\"brush\",mode:\"resize\"}),a({type:\"brushend\"})}):(a({type:\"brushstart\"}),a({type:\"brush\",mode:\"resize\"}),a({type:\"brushend\"}))})},f.x=function(t){return arguments.length?(h=Ls[!(a=t)<<1|!i],f):a},f.y=function(t){return arguments.length?(h=Ls[!a<<1|!(i=t)],f):i},f.clamp=function(t){return arguments.length?(a&&i?(c=!!t[0],u=!!t[1]):a?c=!!t:i&&(u=!!t),f):a&&i?[c,u]:a?c:i?u:null},f.extent=function(t){var n,o,c,u,h;return arguments.length?(a&&(n=t[0],o=t[1],i&&(n=n[0],o=o[0]),e=[n,o],a.invert&&(n=a(n),o=a(o)),o<n&&(h=n,n=o,o=h),n==s[0]&&o==s[1]||(s=[n,o])),i&&(c=t[0],u=t[1],a&&(c=c[1],u=u[1]),r=[c,u],i.invert&&(c=i(c),u=i(u)),u<c&&(h=c,c=u,u=h),c==l[0]&&u==l[1]||(l=[c,u])),f):(a&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],a.invert&&(n=a.invert(n),o=a.invert(o)),o<n&&(h=n,n=o,o=h))),i&&(r?(c=r[0],u=r[1]):(c=l[0],u=l[1],i.invert&&(c=i.invert(c),u=i.invert(u)),u<c&&(h=c,c=u,u=h))),a&&i?[[n,c],[o,u]]:a?[n,o]:i&&[c,u])},f.clear=function(){return f.empty()||(s=[0,0],l=[0,0],e=r=null),f},f.empty=function(){return!!a&&s[0]==s[1]||!!i&&l[0]==l[1]},t.rebind(f,n,\"on\")};var Es={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},Ls=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]],Cs=Ie.format=cr.timeFormat,Ps=Cs.utc,Os=Ps(\"%Y-%m-%dT%H:%M:%S.%LZ\");function zs(t){return t.toISOString()}function Is(e,r,n){function a(t){return e(t)}function i(e,n){var a=(e[1]-e[0])/n,i=t.bisect(Rs,a);return i==Rs.length?[r.year,_o(e.map(function(t){return t/31536e6}),n)[2]]:i?r[a/Rs[i-1]<Rs[i]/a?i-1:i]:[Ns,_o(e,n)[2]]}return a.invert=function(t){return Ds(e.invert(t))},a.domain=function(t){return arguments.length?(e.domain(t),a):e.domain().map(Ds)},a.nice=function(t,e){var r=a.domain(),n=ho(r),o=null==t?i(n,10):\"number\"==typeof t&&i(n,t);function s(r){return!isNaN(r)&&!t.range(r,Ds(+r+1),e).length}return o&&(t=o[0],e=o[1]),a.domain(go(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=Ds(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Ds(+e+1);return e}}:t))},a.ticks=function(t,e){var r=ho(a.domain()),n=null==t?i(r,10):\"number\"==typeof t?i(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Ds(+r[1]+1),e<1?1:e)},a.tickFormat=function(){return n},a.copy=function(){return Is(e.copy(),r,n)},xo(a,e)}function Ds(t){return new Date(t)}Cs.iso=Date.prototype.toISOString&&+new Date(\"2000-01-01T00:00:00.000Z\")?zs:Os,zs.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},zs.toString=Os.toString,Ie.second=Be(function(t){return new De(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),Ie.seconds=Ie.second.range,Ie.seconds.utc=Ie.second.utc.range,Ie.minute=Be(function(t){return new De(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),Ie.minutes=Ie.minute.range,Ie.minutes.utc=Ie.minute.utc.range,Ie.hour=Be(function(t){var e=t.getTimezoneOffset()/60;return new De(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),Ie.hours=Ie.hour.range,Ie.hours.utc=Ie.hour.utc.range,Ie.month=Be(function(t){return(t=Ie.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),Ie.months=Ie.month.range,Ie.months.utc=Ie.month.utc.range;var Rs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Fs=[[Ie.second,1],[Ie.second,5],[Ie.second,15],[Ie.second,30],[Ie.minute,1],[Ie.minute,5],[Ie.minute,15],[Ie.minute,30],[Ie.hour,1],[Ie.hour,3],[Ie.hour,6],[Ie.hour,12],[Ie.day,1],[Ie.day,2],[Ie.week,1],[Ie.month,1],[Ie.month,3],[Ie.year,1]],Bs=Cs.multi([[\".%L\",function(t){return t.getMilliseconds()}],[\":%S\",function(t){return t.getSeconds()}],[\"%I:%M\",function(t){return t.getMinutes()}],[\"%I %p\",function(t){return t.getHours()}],[\"%a %d\",function(t){return t.getDay()&&1!=t.getDate()}],[\"%b %d\",function(t){return 1!=t.getDate()}],[\"%B\",function(t){return t.getMonth()}],[\"%Y\",Xr]]),Ns={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Ds)},floor:P,ceil:P};Fs.year=Ie.year,Ie.scale=function(){return Is(t.scale.linear(),Fs,Bs)};var js=Fs.map(function(t){return[t[0].utc,t[1]]}),Vs=Ps.multi([[\".%L\",function(t){return t.getUTCMilliseconds()}],[\":%S\",function(t){return t.getUTCSeconds()}],[\"%I:%M\",function(t){return t.getUTCMinutes()}],[\"%I %p\",function(t){return t.getUTCHours()}],[\"%a %d\",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],[\"%b %d\",function(t){return 1!=t.getUTCDate()}],[\"%B\",function(t){return t.getUTCMonth()}],[\"%Y\",Xr]]);function Us(t){return JSON.parse(t.responseText)}function qs(t){var e=a.createRange();return e.selectNode(a.body),e.createContextualFragment(t.responseText)}js.year=Ie.year.utc,Ie.scale.utc=function(){return Is(t.scale.linear(),js,Vs)},t.text=me(function(t){return t.responseText}),t.json=function(t,e){return ye(t,\"application/json\",Us,e)},t.html=function(t,e){return ye(t,\"text/html\",qs,e)},t.xml=me(function(t){return t.responseXML}),\"object\"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],166:[function(t,e,r){e.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],167:[function(t,e,r){\"use strict\";var n=t(\"incremental-convex-hull\"),a=t(\"uniq\");function i(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,a=r.length,i=0;i<a;++i){var o=n[i]-r[i];if(o)return o}return 0}e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s<1)return[];if(1===s)return function(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map(function(t,e){return[t[0],e]});n.sort(function(t,e){return t[0]-e[0]});for(var a=new Array(t-1),i=1;i<t;++i){var o=n[i-1],s=n[i];a[i-1]=[o[1],s[1]]}r&&a.push([-1,a[0][1]],[a[t-1][1],-1]);return a}(r,t,e);for(var l=new Array(r),c=1,u=0;u<r;++u){for(var h=t[u],f=new Array(s+1),p=0,d=0;d<s;++d){var g=h[d];f[d]=g,p+=g*g}f[s]=p,l[u]=new i(f,u),c=Math.max(p,c)}a(l,o),r=l.length;for(var v=new Array(r+s+1),m=new Array(r+s+1),y=(s+1)*(s+1)*c,x=new Array(s+1),u=0;u<=s;++u)x[u]=0;x[s]=y,v[0]=x.slice(),m[0]=-1;for(var u=0;u<=s;++u){var f=x.slice();f[u]=1,v[u+1]=f,m[u+1]=-1}for(var u=0;u<r;++u){var b=l[u];v[u+s+1]=b.point,m[u+s+1]=b.index}var _=n(v,!1);_=e?_.filter(function(t){for(var e=0,r=0;r<=s;++r){var n=m[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e<=s;++e){var r=m[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&s)for(var u=0;u<_.length;++u){var b=_[u],f=b[0];b[0]=b[1],b[1]=f}return _}},{\"incremental-convex-hull\":415,uniq:546}],168:[function(t,e,r){\"use strict\";e.exports=i;var n=(i.canvas=document.createElement(\"canvas\")).getContext(\"2d\"),a=o([32,126]);function i(t,e){Array.isArray(t)&&(t=t.join(\", \"));var r,i={},s=16,l=.05;e&&(2===e.length&&\"number\"==typeof e[0]?r=o(e):Array.isArray(e)?r=e:(e.o?r=o(e.o):e.pairs&&(r=e.pairs),e.fontSize&&(s=e.fontSize),null!=e.threshold&&(l=e.threshold))),r||(r=a),n.font=s+\"px \"+t;for(var c=0;c<r.length;c++){var u=r[c],h=n.measureText(u[0]).width+n.measureText(u[1]).width,f=n.measureText(u).width;if(Math.abs(h-f)>s*l){var p=(f-h)/s;i[u]=1e3*p}}return i}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),a=t[0];a<t[1];a++){var i=n+String.fromCharCode(a);e.push(i)}return e}i.createPairs=o,i.ascii=a},{}],169:[function(t,e,r){(function(t){var r=!1;if(\"undefined\"!=typeof Float64Array){var n=new Float64Array(1),a=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===a[1]){e.exports=function(t){return n[0]=t,[a[0],a[1]]},e.exports.pack=function(t,e){return a[0]=t,a[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,a[0]},e.exports.hi=function(t){return n[0]=t,a[1]}}else if(1072693248===a[0]){e.exports=function(t){return n[0]=t,[a[1],a[0]]},e.exports.pack=function(t,e){return a[1]=t,a[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,a[1]},e.exports.hi=function(t){return n[0]=t,a[0]}}else r=!1}if(!r){var i=new t(8);e.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},e.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},e.exports.hi=function(t){return i.writeDoubleLE(t,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),a=1048575&n;return 2146435072&n&&(a+=1<<20),[r,a]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t(\"buffer\").Buffer)},{buffer:107}],170:[function(t,e,r){var n=t(\"abs-svg-path\"),a=t(\"normalize-svg-path\"),i={M:\"moveTo\",C:\"bezierCurveTo\"};e.exports=function(t,e){t.beginPath(),a(n(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[i[r]].apply(t,n)}),t.closePath()}},{\"abs-svg-path\":63,\"normalize-svg-path\":454}],171:[function(t,e,r){e.exports=function(t){switch(t){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}}},{}],172:[function(t,e,r){\"use strict\";e.exports=function(t,e){switch(\"undefined\"==typeof e&&(e=0),typeof t){case\"number\":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case\"object\":if(\"number\"==typeof t.length)return function t(e,r,n){var a=0|e[n];if(a<=0)return[];var i,o=new Array(a);if(n===e.length-1)for(i=0;i<a;++i)o[i]=r;else for(i=0;i<a;++i)o[i]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],173:[function(t,e,r){\"use strict\";function n(t,e,r){r=r||2;var n,s,l,c,u,p,d,v=e&&e.length,m=v?e[0]*r:t.length,y=a(t,0,m,r,!0),x=[];if(!y||y.next===y.prev)return x;if(v&&(y=function(t,e,r,n){var o,s,l,c,u,p=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,c=o<s-1?e[o+1]*n:t.length,(u=a(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(g(u));for(p.sort(h),o=0;o<p.length;o++)f(p[o],r),r=i(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=c=t[1];for(var b=r;b<m;b+=r)(u=t[b])<n&&(n=u),(p=t[b+1])<s&&(s=p),u>l&&(l=u),p>c&&(c=p);d=0!==(d=Math.max(l-n,c-s))?1/d:0}return o(y,x,r,n,s,d),x}function a(t,e,r,n,a){var i,o;if(a===E(t,e,r,n)>0)for(i=e;i<r;i+=n)o=M(i,t[i],t[i+1],o);else for(i=r-n;i>=e;i-=n)o=M(i,t[i],t[i+1],o);return o&&x(o,o.next)&&(A(o),o=o.next),o}function i(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!x(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(A(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,a,h,f){if(t){!f&&h&&function(t,e,r,n){var a=t;do{null===a.z&&(a.z=d(a.x,a.y,e,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next}while(a!==t);a.prevZ.nextZ=null,a.prevZ=null,function(t){var e,r,n,a,i,o,s,l,c=1;do{for(r=t,t=null,i=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:t=a,a.prevZ=i,i=a;r=n}i.nextZ=null,c*=2}while(o>1)}(a)}(t,n,a,h);for(var p,g,v=t;t.prev!==t.next;)if(p=t.prev,g=t.next,h?l(t,n,a,h):s(t))e.push(p.i/r),e.push(t.i/r),e.push(g.i/r),A(t),t=g.next,v=g.next;else if((t=g)===v){f?1===f?o(t=c(i(t),e,r),e,r,n,a,h,2):2===f&&u(t,e,r,n,a,h):o(i(t),e,r,n,a,h,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(y(e,r,n)>=0)return!1;for(var a=t.next.next;a!==t.prev;){if(v(e.x,e.y,r.x,r.y,n.x,n.y,a.x,a.y)&&y(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function l(t,e,r,n){var a=t.prev,i=t,o=t.next;if(y(a,i,o)>=0)return!1;for(var s=a.x<i.x?a.x<o.x?a.x:o.x:i.x<o.x?i.x:o.x,l=a.y<i.y?a.y<o.y?a.y:o.y:i.y<o.y?i.y:o.y,c=a.x>i.x?a.x>o.x?a.x:o.x:i.x>o.x?i.x:o.x,u=a.y>i.y?a.y>o.y?a.y:o.y:i.y>o.y?i.y:o.y,h=d(s,l,e,r,n),f=d(c,u,e,r,n),p=t.prevZ,g=t.nextZ;p&&p.z>=h&&g&&g.z<=f;){if(p!==t.prev&&p!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,g!==t.prev&&g!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;g&&g.z<=f;){if(g!==t.prev&&g!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}return!0}function c(t,e,r){var n=t;do{var a=n.prev,o=n.next.next;!x(a,o)&&b(a,n,n.next,o)&&k(a,o)&&k(o,a)&&(e.push(a.i/r),e.push(n.i/r),e.push(o.i/r),A(n),A(n.next),n=t=o),n=n.next}while(n!==t);return i(n)}function u(t,e,r,n,a,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=T(l,c);return l=i(l,l.next),u=i(u,u.next),o(l,e,r,n,a,s),void o(u,e,r,n,a,s)}c=c.next}l=l.next}while(l!==t)}function h(t,e){return t.x-e.x}function f(t,e){if(e=function(t,e){var r,n=e,a=t.x,i=t.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=a&&s>o){if(o=s,s===a){if(i===n.y)return n;if(i===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(a===o)return r;var l,c=r,u=r.x,h=r.y,f=1/0;n=r;do{a>=n.x&&n.x>=u&&a!==n.x&&v(i<h?a:o,i,u,h,i<h?o:a,i,n.x,n.y)&&(l=Math.abs(i-n.y)/(a-n.x),k(n,t)&&(l<f||l===f&&(n.x>r.x||n.x===r.x&&p(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=T(e,t);i(r,r.next)}}function p(t,e){return y(t.prev,t,e.prev)<0&&y(e.next,t,t.next)<0}function d(t,e,r,n,a){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function g(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function v(t,e,r,n,a,i,o,s){return(a-o)*(e-s)-(t-o)*(i-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(i-s)-(a-o)*(n-s)>=0}function m(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&b(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(k(t,e)&&k(e,t)&&function(t,e){var r=t,n=!1,a=(t.x+e.x)/2,i=(t.y+e.y)/2;do{r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(y(t.prev,t,e.prev)||y(t,e.prev,e))||x(t,e)&&y(t.prev,t,t.next)>0&&y(e.prev,e,e.next)>0)}function y(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function x(t,e){return t.x===e.x&&t.y===e.y}function b(t,e,r,n){var a=w(y(t,e,r)),i=w(y(t,e,n)),o=w(y(r,n,t)),s=w(y(r,n,e));return a!==i&&o!==s||(!(0!==a||!_(t,r,e))||(!(0!==i||!_(t,n,e))||(!(0!==o||!_(r,t,n))||!(0!==s||!_(r,e,n)))))}function _(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function w(t){return t>0?1:t<0?-1:0}function k(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function T(t,e){var r=new S(t.i,t.x,t.y),n=new S(e.i,e.x,e.y),a=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function M(t,e,r,n){var a=new S(t,e,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function A(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function S(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function E(t,e,r,n){for(var a=0,i=e,o=r-n;i<r;i+=n)a+=(t[o]-t[i])*(t[i+1]+t[o+1]),o=i;return a}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var a=e&&e.length,i=a?e[0]*r:t.length,o=Math.abs(E(t,0,i,r));if(a)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(E(t,c,u,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;h+=Math.abs((t[f]-t[d])*(t[p+1]-t[f+1])-(t[f]-t[p])*(t[d+1]-t[f+1]))}return 0===o&&0===h?0:Math.abs((h-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,a=0;a<t.length;a++){for(var i=0;i<t[a].length;i++)for(var o=0;o<e;o++)r.vertices.push(t[a][i][o]);a>0&&(n+=t[a-1].length,r.holes.push(n))}return r}},{}],174:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t.length;if(\"number\"!=typeof e){e=0;for(var a=0;a<r;++a){var i=t[a];e=Math.max(e,i[0],i[1])}e=1+(0|e)}e|=0;for(var o=new Array(e),a=0;a<e;++a)o[a]=[];for(var a=0;a<r;++a){var i=t[a];o[i[0]].push(i[1]),o[i[1]].push(i[0])}for(var s=0;s<e;++s)n(o[s],function(t,e){return t-e});return o};var n=t(\"uniq\")},{uniq:546}],175:[function(t,e,r){var n=t(\"strongly-connected-components\");e.exports=function(t){var e,r=[],a=[],i=[],o={},s=[];function l(t){var r,n,u=!1;for(a.push(t),i[t]=!0,r=0;r<s[t].length;r++)(n=s[t][r])===e?(c(e,a),u=!0):i[n]||(u=l(n));if(u)!function t(e){i[e]=!1,o.hasOwnProperty(e)&&Object.keys(o[e]).forEach(function(r){delete o[e][r],i[r]&&t(r)})}(t);else for(r=0;r<s[t].length;r++){n=s[t][r];var h=o[n];h||(h={},o[n]=h),h[n]=!0}return a.pop(),u}function c(t,e){var n=[].concat(e).concat(t);r.push(n)}function u(e){!function(e){for(var r=0;r<t.length;r++)r<e&&(t[r]=[]),t[r]=t[r].filter(function(t){return t>=e})}(e);for(var r,a=n(t).components.filter(function(t){return t.length>1}),i=1/0,o=0;o<a.length;o++)for(var s=0;s<a[o].length;s++)a[o][s]<i&&(i=a[o][s],r=o);var l=a[r];return!!l&&{leastVertex:i,adjList:t.map(function(t,e){return-1===l.indexOf(e)?[]:t.filter(function(t){return-1!==l.indexOf(t)})})}}e=0;for(var h=t.length;e<h;){var f=u(e);if(e=f.leastVertex,s=f.adjList){for(var p=0;p<s.length;p++)for(var d=0;d<s[p].length;d++){var g=s[p][d];i[+g]=!1,o[g]={}}l(e),e+=1}else e=h}return r}},{\"strongly-connected-components\":529}],176:[function(t,e,r){\"use strict\";var n=t(\"../../object/valid-value\");e.exports=function(){return n(this).length=0,this}},{\"../../object/valid-value\":208}],177:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Array.from:t(\"./shim\")},{\"./is-implemented\":178,\"./shim\":179}],178:[function(t,e,r){\"use strict\";e.exports=function(){var t,e,r=Array.from;return\"function\"==typeof r&&(e=r(t=[\"raz\",\"dwa\"]),Boolean(e&&e!==t&&\"dwa\"===e[1]))}},{}],179:[function(t,e,r){\"use strict\";var n=t(\"es6-symbol\").iterator,a=t(\"../../function/is-arguments\"),i=t(\"../../function/is-function\"),o=t(\"../../number/to-pos-integer\"),s=t(\"../../object/valid-callable\"),l=t(\"../../object/valid-value\"),c=t(\"../../object/is-value\"),u=t(\"../../string/is-string\"),h=Array.isArray,f=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(t){var e,r,g,v,m,y,x,b,_,w,k=arguments[1],T=arguments[2];if(t=Object(l(t)),c(k)&&s(k),this&&this!==Array&&i(this))e=this;else{if(!k){if(a(t))return 1!==(m=t.length)?Array.apply(null,t):((v=new Array(1))[0]=t[0],v);if(h(t)){for(v=new Array(m=t.length),r=0;r<m;++r)v[r]=t[r];return v}}v=[]}if(!h(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(v=new e),b=x.next(),r=0;!b.done;)w=k?f.call(k,T,b.value,r):b.value,e?(p.value=w,d(v,r,p)):v[r]=w,b=x.next(),++r;m=r}else if(u(t)){for(m=t.length,e&&(v=new e),r=0,g=0;r<m;++r)w=t[r],r+1<m&&(y=w.charCodeAt(0))>=55296&&y<=56319&&(w+=t[++r]),w=k?f.call(k,T,w,g):w,e?(p.value=w,d(v,g,p)):v[g]=w,++g;m=g}if(void 0===m)for(m=o(t.length),e&&(v=new e(m)),r=0;r<m;++r)w=k?f.call(k,T,t[r],r):t[r],e?(p.value=w,d(v,r,p)):v[r]=w;return e&&(p.value=null,v.length=m),v}},{\"../../function/is-arguments\":180,\"../../function/is-function\":181,\"../../number/to-pos-integer\":187,\"../../object/is-value\":197,\"../../object/valid-callable\":206,\"../../object/valid-value\":208,\"../../string/is-string\":212,\"es6-symbol\":222}],180:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,a=n.call(function(){return arguments}());e.exports=function(t){return n.call(t)===a}},{}],181:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,a=n.call(t(\"./noop\"));e.exports=function(t){return\"function\"==typeof t&&n.call(t)===a}},{\"./noop\":182}],182:[function(t,e,r){\"use strict\";e.exports=function(){}},{}],183:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Math.sign:t(\"./shim\")},{\"./is-implemented\":184,\"./shim\":185}],184:[function(t,e,r){\"use strict\";e.exports=function(){var t=Math.sign;return\"function\"==typeof t&&(1===t(10)&&-1===t(-20))}},{}],185:[function(t,e,r){\"use strict\";e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},{}],186:[function(t,e,r){\"use strict\";var n=t(\"../math/sign\"),a=Math.abs,i=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*i(a(t)):t}},{\"../math/sign\":183}],187:[function(t,e,r){\"use strict\";var n=t(\"./to-integer\"),a=Math.max;e.exports=function(t){return a(0,n(t))}},{\"./to-integer\":186}],188:[function(t,e,r){\"use strict\";var n=t(\"./valid-callable\"),a=t(\"./valid-value\"),i=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,h=arguments[2],f=arguments[3];return r=Object(a(r)),n(c),u=s(r),f&&u.sort(\"function\"==typeof f?i.call(f,r):void 0),\"function\"!=typeof t&&(t=u[t]),o.call(t,u,function(t,n){return l.call(r,t)?o.call(c,h,r[t],t,r,n):e})}}},{\"./valid-callable\":206,\"./valid-value\":208}],189:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.assign:t(\"./shim\")},{\"./is-implemented\":190,\"./shim\":191}],190:[function(t,e,r){\"use strict\";e.exports=function(){var t,e=Object.assign;return\"function\"==typeof e&&(e(t={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}},{}],191:[function(t,e,r){\"use strict\";var n=t(\"../keys\"),a=t(\"../valid-value\"),i=Math.max;e.exports=function(t,e){var r,o,s,l=i(arguments.length,2);for(t=Object(a(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o<l;++o)e=arguments[o],n(e).forEach(s);if(void 0!==r)throw r;return t}},{\"../keys\":198,\"../valid-value\":208}],192:[function(t,e,r){\"use strict\";var n=t(\"../array/from\"),a=t(\"./assign\"),i=t(\"./valid-value\");e.exports=function(t){var e=Object(i(t)),r=arguments[1],o=Object(arguments[2]);if(e!==t&&!r)return e;var s={};return r?n(r,function(e){(o.ensure||e in t)&&(s[e]=t[e])}):a(s,t),s}},{\"../array/from\":177,\"./assign\":189,\"./valid-value\":208}],193:[function(t,e,r){\"use strict\";var n,a,i,o,s=Object.create;t(\"./set-prototype-of/is-implemented\")()||(n=t(\"./set-prototype-of/shim\")),e.exports=n?1!==n.level?s:(a={},i={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(t){i[t]=\"__proto__\"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}}),Object.defineProperties(a,i),Object.defineProperty(n,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:a}),function(t,e){return s(null===t?a:t,e)}):s},{\"./set-prototype-of/is-implemented\":204,\"./set-prototype-of/shim\":205}],194:[function(t,e,r){\"use strict\";e.exports=t(\"./_iterate\")(\"forEach\")},{\"./_iterate\":188}],195:[function(t,e,r){\"use strict\";e.exports=function(t){return\"function\"==typeof t}},{}],196:[function(t,e,r){\"use strict\";var n=t(\"./is-value\"),a={function:!0,object:!0};e.exports=function(t){return n(t)&&a[typeof t]||!1}},{\"./is-value\":197}],197:[function(t,e,r){\"use strict\";var n=t(\"../function/noop\")();e.exports=function(t){return t!==n&&null!==t}},{\"../function/noop\":182}],198:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.keys:t(\"./shim\")},{\"./is-implemented\":199,\"./shim\":200}],199:[function(t,e,r){\"use strict\";e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(t){return!1}}},{}],200:[function(t,e,r){\"use strict\";var n=t(\"../is-value\"),a=Object.keys;e.exports=function(t){return a(n(t)?Object(t):t)}},{\"../is-value\":197}],201:[function(t,e,r){\"use strict\";var n=t(\"./valid-callable\"),a=t(\"./for-each\"),i=Function.prototype.call;e.exports=function(t,e){var r={},o=arguments[2];return n(e),a(t,function(t,n,a,s){r[n]=i.call(e,o,t,n,a,s)}),r}},{\"./for-each\":194,\"./valid-callable\":206}],202:[function(t,e,r){\"use strict\";var n=t(\"./is-value\"),a=Array.prototype.forEach,i=Object.create;e.exports=function(t){var e=i(null);return a.call(arguments,function(t){n(t)&&function(t,e){var r;for(r in t)e[r]=t[r]}(Object(t),e)}),e}},{\"./is-value\":197}],203:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.setPrototypeOf:t(\"./shim\")},{\"./is-implemented\":204,\"./shim\":205}],204:[function(t,e,r){\"use strict\";var n=Object.create,a=Object.getPrototypeOf,i={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return\"function\"==typeof t&&a(t(e(null),i))===i}},{}],205:[function(t,e,r){\"use strict\";var n,a,i,o,s=t(\"../is-object\"),l=t(\"../valid-value\"),c=Object.prototype.isPrototypeOf,u=Object.defineProperty,h={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(l(t),null===e||s(e))return t;throw new TypeError(\"Prototype must be null or an object\")},e.exports=(a=function(){var t,e=Object.create(null),r={},n=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(n){try{(t=n.set).call(e,r)}catch(t){}if(Object.getPrototypeOf(e)===r)return{set:t,level:2}}return e.__proto__=r,Object.getPrototypeOf(e)===r?{level:2}:((e={}).__proto__=r,Object.getPrototypeOf(e)===r&&{level:1})}())?(2===a.level?a.set?(o=a.set,i=function(t,e){return o.call(n(t,e),e),t}):i=function(t,e){return n(t,e).__proto__=e,t}:i=function t(e,r){var a;return n(e,r),(a=c.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,a&&u(t.nullPolyfill,\"__proto__\",h),e},Object.defineProperty(i,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:a.level})):null,t(\"../create\")},{\"../create\":193,\"../is-object\":196,\"../valid-value\":208}],206:[function(t,e,r){\"use strict\";e.exports=function(t){if(\"function\"!=typeof t)throw new TypeError(t+\" is not a function\");return t}},{}],207:[function(t,e,r){\"use strict\";var n=t(\"./is-object\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not an Object\");return t}},{\"./is-object\":196}],208:[function(t,e,r){\"use strict\";var n=t(\"./is-value\");e.exports=function(t){if(!n(t))throw new TypeError(\"Cannot use null or undefined\");return t}},{\"./is-value\":197}],209:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?String.prototype.contains:t(\"./shim\")},{\"./is-implemented\":210,\"./shim\":211}],210:[function(t,e,r){\"use strict\";var n=\"razdwatrzy\";e.exports=function(){return\"function\"==typeof n.contains&&(!0===n.contains(\"dwa\")&&!1===n.contains(\"foo\"))}},{}],211:[function(t,e,r){\"use strict\";var n=String.prototype.indexOf;e.exports=function(t){return n.call(this,t,arguments[1])>-1}},{}],212:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,a=n.call(\"\");e.exports=function(t){return\"string\"==typeof t||t&&\"object\"==typeof t&&(t instanceof String||n.call(t)===a)||!1}},{}],213:[function(t,e,r){\"use strict\";var n=Object.create(null),a=Math.random;e.exports=function(){var t;do{t=a().toString(36).slice(2)}while(n[t]);return t}},{}],214:[function(t,e,r){\"use strict\";var n,a=t(\"es5-ext/object/set-prototype-of\"),i=t(\"es5-ext/string/#/contains\"),o=t(\"d\"),s=t(\"es6-symbol\"),l=t(\"./\"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");l.call(this,t),e=e?i.call(e,\"key+value\")?\"key+value\":i.call(e,\"key\")?\"key\":\"value\":\"value\",c(this,\"__kind__\",o(\"\",e))},a&&a(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o(function(t){return\"value\"===this.__kind__?this.__list__[t]:\"key+value\"===this.__kind__?[t,this.__list__[t]]:t})}),c(n.prototype,s.toStringTag,o(\"c\",\"Array Iterator\"))},{\"./\":217,d:153,\"es5-ext/object/set-prototype-of\":203,\"es5-ext/string/#/contains\":209,\"es6-symbol\":222}],215:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),a=t(\"es5-ext/object/valid-callable\"),i=t(\"es5-ext/string/is-string\"),o=t(\"./get\"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,h,f,p,d,g,v,m=arguments[2];if(s(t)||n(t)?r=\"array\":i(t)?r=\"string\":t=o(t),a(e),h=function(){f=!0},\"array\"!==r)if(\"string\"!==r)for(u=t.next();!u.done;){if(l.call(e,m,u.value,h),f)return;u=t.next()}else for(d=t.length,p=0;p<d&&(g=t[p],p+1<d&&(v=g.charCodeAt(0))>=55296&&v<=56319&&(g+=t[++p]),l.call(e,m,g,h),!f);++p);else c.call(t,function(t){return l.call(e,m,t,h),f})}},{\"./get\":216,\"es5-ext/function/is-arguments\":180,\"es5-ext/object/valid-callable\":206,\"es5-ext/string/is-string\":212}],216:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),a=t(\"es5-ext/string/is-string\"),i=t(\"./array\"),o=t(\"./string\"),s=t(\"./valid-iterable\"),l=t(\"es6-symbol\").iterator;e.exports=function(t){return\"function\"==typeof s(t)[l]?t[l]():n(t)?new i(t):a(t)?new o(t):new i(t)}},{\"./array\":214,\"./string\":219,\"./valid-iterable\":220,\"es5-ext/function/is-arguments\":180,\"es5-ext/string/is-string\":212,\"es6-symbol\":222}],217:[function(t,e,r){\"use strict\";var n,a=t(\"es5-ext/array/#/clear\"),i=t(\"es5-ext/object/assign\"),o=t(\"es5-ext/object/valid-callable\"),s=t(\"es5-ext/object/valid-value\"),l=t(\"d\"),c=t(\"d/auto-bind\"),u=t(\"es6-symbol\"),h=Object.defineProperty,f=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");f(this,{__list__:l(\"w\",s(t)),__context__:l(\"w\",e),__nextIndex__:l(\"w\",0)}),e&&(o(e.on),e.on(\"_add\",this._onAdd),e.on(\"_delete\",this._onDelete),e.on(\"_clear\",this._onClear))},delete n.prototype.constructor,f(n.prototype,i({_next:l(function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()}),next:l(function(){return this._createResult(this._next())}),_createResult:l(function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}}),_resolve:l(function(t){return this.__list__[t]}),_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[u.toStringTag]||\"Object\")+\"]\"})},c({_onAdd:l(function(t){t>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(e,r){e>=t&&(this.__redo__[r]=++e)},this),this.__redo__.push(t)):h(this,\"__redo__\",l(\"c\",[t])))}),_onDelete:l(function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach(function(e,r){e>t&&(this.__redo__[r]=--e)},this)))}),_onClear:l(function(){this.__redo__&&a.call(this.__redo__),this.__nextIndex__=0})}))),h(n.prototype,u.iterator,l(function(){return this}))},{d:153,\"d/auto-bind\":152,\"es5-ext/array/#/clear\":176,\"es5-ext/object/assign\":189,\"es5-ext/object/valid-callable\":206,\"es5-ext/object/valid-value\":208,\"es6-symbol\":222}],218:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),a=t(\"es5-ext/object/is-value\"),i=t(\"es5-ext/string/is-string\"),o=t(\"es6-symbol\").iterator,s=Array.isArray;e.exports=function(t){return!!a(t)&&(!!s(t)||(!!i(t)||(!!n(t)||\"function\"==typeof t[o])))}},{\"es5-ext/function/is-arguments\":180,\"es5-ext/object/is-value\":197,\"es5-ext/string/is-string\":212,\"es6-symbol\":222}],219:[function(t,e,r){\"use strict\";var n,a=t(\"es5-ext/object/set-prototype-of\"),i=t(\"d\"),o=t(\"es6-symbol\"),s=t(\"./\"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");t=String(t),s.call(this,t),l(this,\"__length__\",i(\"\",t.length))},a&&a(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:i(function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()}),_resolve:i(function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0))>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r})}),l(n.prototype,o.toStringTag,i(\"c\",\"String Iterator\"))},{\"./\":217,d:153,\"es5-ext/object/set-prototype-of\":203,\"es6-symbol\":222}],220:[function(t,e,r){\"use strict\";var n=t(\"./is-iterable\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not iterable\");return t}},{\"./is-iterable\":218}],221:[function(t,e,r){(function(n,a){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?e.exports=n():t.ES6Promise=n()}(this,function(){\"use strict\";function e(t){return\"function\"==typeof t}var r=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},i=0,o=void 0,s=void 0,l=function(t,e){g[i]=t,g[i+1]=e,2===(i+=2)&&(s?s(v):_())};var c=\"undefined\"!=typeof window?window:void 0,u=c||{},h=u.MutationObserver||u.WebKitMutationObserver,f=\"undefined\"==typeof self&&\"undefined\"!=typeof n&&\"[object process]\"==={}.toString.call(n),p=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(v,1)}}var g=new Array(1e3);function v(){for(var t=0;t<i;t+=2){(0,g[t])(g[t+1]),g[t]=void 0,g[t+1]=void 0}i=0}var m,y,x,b,_=void 0;function w(t,e){var r=arguments,n=this,a=new this.constructor(M);void 0===a[T]&&U(a);var i,o=n._state;return o?(i=r[o-1],l(function(){return j(o,a,i,n._result)})):R(n,a,t,e),a}function k(t){if(t&&\"object\"==typeof t&&t.constructor===this)return t;var e=new this(M);return O(e,t),e}f?_=function(){return n.nextTick(v)}:h?(y=0,x=new h(v),b=document.createTextNode(\"\"),x.observe(b,{characterData:!0}),_=function(){b.data=y=++y%2}):p?((m=new MessageChannel).port1.onmessage=v,_=function(){return m.port2.postMessage(0)}):_=void 0===c&&\"function\"==typeof t?function(){try{var e=t(\"vertx\");return o=e.runOnLoop||e.runOnContext,function(){o(v)}}catch(t){return d()}}():d();var T=Math.random().toString(36).substring(16);function M(){}var A=void 0,S=1,E=2,L=new B;function C(t){try{return t.then}catch(t){return L.error=t,L}}function P(t,r,n){r.constructor===t.constructor&&n===w&&r.constructor.resolve===k?function(t,e){e._state===S?I(t,e._result):e._state===E?D(t,e._result):R(e,void 0,function(e){return O(t,e)},function(e){return D(t,e)})}(t,r):n===L?D(t,L.error):void 0===n?I(t,r):e(n)?function(t,e,r){l(function(t){var n=!1,a=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?O(t,r):I(t,r))},function(e){n||(n=!0,D(t,e))},t._label);!n&&a&&(n=!0,D(t,a))},t)}(t,r,n):I(t,r)}function O(t,e){var r;t===e?D(t,new TypeError(\"You cannot resolve a promise with itself\")):\"function\"==typeof(r=e)||\"object\"==typeof r&&null!==r?P(t,e,C(e)):I(t,e)}function z(t){t._onerror&&t._onerror(t._result),F(t)}function I(t,e){t._state===A&&(t._result=e,t._state=S,0!==t._subscribers.length&&l(F,t))}function D(t,e){t._state===A&&(t._state=E,t._result=e,l(z,t))}function R(t,e,r,n){var a=t._subscribers,i=a.length;t._onerror=null,a[i]=e,a[i+S]=r,a[i+E]=n,0===i&&t._state&&l(F,t)}function F(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,a=void 0,i=t._result,o=0;o<e.length;o+=3)n=e[o],a=e[o+r],n?j(r,n,a,i):a(i);t._subscribers.length=0}}function B(){this.error=null}var N=new B;function j(t,r,n,a){var i=e(n),o=void 0,s=void 0,l=void 0,c=void 0;if(i){if((o=function(t,e){try{return t(e)}catch(t){return N.error=t,N}}(n,a))===N?(c=!0,s=o.error,o=null):l=!0,r===o)return void D(r,new TypeError(\"A promises callback cannot return that same promise.\"))}else o=a,l=!0;r._state!==A||(i&&l?O(r,o):c?D(r,s):t===S?I(r,o):t===E&&D(r,o))}var V=0;function U(t){t[T]=V++,t._state=void 0,t._result=void 0,t._subscribers=[]}function q(t,e){this._instanceConstructor=t,this.promise=new t(M),this.promise[T]||U(this.promise),r(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?I(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&I(this.promise,this._result))):D(this.promise,new Error(\"Array Methods must be provided an Array\"))}function H(t){this[T]=V++,this._result=this._state=void 0,this._subscribers=[],M!==t&&(\"function\"!=typeof t&&function(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}(),this instanceof H?function(t,e){try{e(function(e){O(t,e)},function(e){D(t,e)})}catch(e){D(t,e)}}(this,t):function(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}())}function G(){var t=void 0;if(\"undefined\"!=typeof a)t=a;else if(\"undefined\"!=typeof self)t=self;else try{t=Function(\"return this\")()}catch(t){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if(\"[object Promise]\"===r&&!e.cast)return}t.Promise=H}return q.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===A&&r<t;r++)this._eachEntry(e[r],r)},q.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===k){var a=C(t);if(a===w&&t._state!==A)this._settledAt(t._state,e,t._result);else if(\"function\"!=typeof a)this._remaining--,this._result[e]=t;else if(r===H){var i=new r(M);P(i,t,a),this._willSettleAt(i,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},q.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===A&&(this._remaining--,t===E?D(n,r):this._result[e]=r),0===this._remaining&&I(n,this._result)},q.prototype._willSettleAt=function(t,e){var r=this;R(t,void 0,function(t){return r._settledAt(S,e,t)},function(t){return r._settledAt(E,e,t)})},H.all=function(t){return new q(this,t).promise},H.race=function(t){var e=this;return r(t)?new e(function(r,n){for(var a=t.length,i=0;i<a;i++)e.resolve(t[i]).then(r,n)}):new e(function(t,e){return e(new TypeError(\"You must pass an array to race.\"))})},H.resolve=k,H.reject=function(t){var e=new this(M);return D(e,t),e},H._setScheduler=function(t){s=t},H._setAsap=function(t){l=t},H._asap=l,H.prototype={constructor:H,then:w,catch:function(t){return this.then(null,t)}},G(),H.polyfill=G,H.Promise=H,H})}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{_process:484}],222:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Symbol:t(\"./polyfill\")},{\"./is-implemented\":223,\"./polyfill\":225}],223:[function(t,e,r){\"use strict\";var n={object:!0,symbol:!0};e.exports=function(){var t;if(\"function\"!=typeof Symbol)return!1;t=Symbol(\"test symbol\");try{String(t)}catch(t){return!1}return!!n[typeof Symbol.iterator]&&(!!n[typeof Symbol.toPrimitive]&&!!n[typeof Symbol.toStringTag])}},{}],224:[function(t,e,r){\"use strict\";e.exports=function(t){return!!t&&(\"symbol\"==typeof t||!!t.constructor&&(\"Symbol\"===t.constructor.name&&\"Symbol\"===t[t.constructor.toStringTag]))}},{}],225:[function(t,e,r){\"use strict\";var n,a,i,o,s=t(\"d\"),l=t(\"./validate-symbol\"),c=Object.create,u=Object.defineProperties,h=Object.defineProperty,f=Object.prototype,p=c(null);if(\"function\"==typeof Symbol){n=Symbol;try{String(n()),o=!0}catch(t){}}var d,g=(d=c(null),function(t){for(var e,r,n=0;d[t+(n||\"\")];)++n;return d[t+=n||\"\"]=!0,h(f,e=\"@@\"+t,s.gs(null,function(t){r||(r=!0,h(this,e,s(t)),r=!1)})),e});i=function(t){if(this instanceof i)throw new TypeError(\"Symbol is not a constructor\");return a(t)},e.exports=a=function t(e){var r;if(this instanceof t)throw new TypeError(\"Symbol is not a constructor\");return o?n(e):(r=c(i.prototype),e=void 0===e?\"\":String(e),u(r,{__description__:s(\"\",e),__name__:s(\"\",g(e))}))},u(a,{for:s(function(t){return p[t]?p[t]:p[t]=a(String(t))}),keyFor:s(function(t){var e;for(e in l(t),p)if(p[e]===t)return e}),hasInstance:s(\"\",n&&n.hasInstance||a(\"hasInstance\")),isConcatSpreadable:s(\"\",n&&n.isConcatSpreadable||a(\"isConcatSpreadable\")),iterator:s(\"\",n&&n.iterator||a(\"iterator\")),match:s(\"\",n&&n.match||a(\"match\")),replace:s(\"\",n&&n.replace||a(\"replace\")),search:s(\"\",n&&n.search||a(\"search\")),species:s(\"\",n&&n.species||a(\"species\")),split:s(\"\",n&&n.split||a(\"split\")),toPrimitive:s(\"\",n&&n.toPrimitive||a(\"toPrimitive\")),toStringTag:s(\"\",n&&n.toStringTag||a(\"toStringTag\")),unscopables:s(\"\",n&&n.unscopables||a(\"unscopables\"))}),u(i.prototype,{constructor:s(a),toString:s(\"\",function(){return this.__name__})}),u(a.prototype,{toString:s(function(){return\"Symbol (\"+l(this).__description__+\")\"}),valueOf:s(function(){return l(this)})}),h(a.prototype,a.toPrimitive,s(\"\",function(){var t=l(this);return\"symbol\"==typeof t?t:t.toString()})),h(a.prototype,a.toStringTag,s(\"c\",\"Symbol\")),h(i.prototype,a.toStringTag,s(\"c\",a.prototype[a.toStringTag])),h(i.prototype,a.toPrimitive,s(\"c\",a.prototype[a.toPrimitive]))},{\"./validate-symbol\":226,d:153}],226:[function(t,e,r){\"use strict\";var n=t(\"./is-symbol\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not a symbol\");return t}},{\"./is-symbol\":224}],227:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n=e||0,a=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[a*t[12]-t[8],a*t[13]-t[9],a*t[14]-t[10],a*t[15]-t[11]]]}},{}],228:[function(t,e,r){\"use strict\";var n=t(\"is-string-blank\");e.exports=function(t){var e=typeof t;if(\"string\"===e){var r=t;if(0===(t=+t)&&n(r))return!1}else if(\"number\"!==e)return!1;return t-t<1}},{\"is-string-blank\":425}],229:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:if(\"number\"==typeof t){var n=l(t);return new o(n,n,0)}return new o(t,l(t.length),0);case 2:if(\"number\"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error(\"state and velocity lengths must match\");return new o(t,e,r)}};var n=t(\"cubic-hermite\"),a=t(\"binary-search-bounds\");function i(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.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=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}var s=o.prototype;function l(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}s.flush=function(t){var e=a.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},s.curve=function(t){var e=this._time,r=e.length,o=a.le(e,t),s=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,h=this.bounds;if(o<0)for(var f=u-1,p=0;p<u;++p,--f)s[p]=l[f];else if(o>=r-1){f=l.length-1;var d=t-e[r-1];for(p=0;p<u;++p,--f)s[p]=l[f]+d*c[f]}else{f=u*(o+1)-1;var g=e[o],v=e[o+1]-g||1,m=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(p=0;p<u;++p,--f)m[p]=l[f],x[p]=c[f]*v,y[p]=l[f+u],b[p]=c[f+u]*v,_=_&&m[p]===y[p]&&x[p]===b[p]&&0===x[p];if(_)for(p=0;p<u;++p)s[p]=m[p];else n(m,x,y,b,(t-g)/v,s)}var w=h[0],k=h[1];for(p=0;p<u;++p)s[p]=i(w[p],k[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,i=a.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,c=this.dimension;if(i>=r-1)for(var u=s.length-1,h=(e[r-1],0);h<c;++h,--u)o[h]=l[u];else{u=c*(i+1)-1;var f=e[i],p=e[i+1]-f||1,d=this._scratch[1],g=this._scratch[2],v=this._scratch[3],m=this._scratch[4],y=!0;for(h=0;h<c;++h,--u)d[h]=s[u],v[h]=l[u]*p,g[h]=s[u+c],m[h]=l[u+c]*p,y=y&&d[h]===g[h]&&v[h]===m[h]&&0===v[h];if(y)for(h=0;h<c;++h)o[h]=0;else{n.derivative(d,v,g,m,(t-f)/p,o);for(h=0;h<c;++h)o[h]/=p}}return o},s.lastT=function(){var t=this._time;return t[t.length-1]},s.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var h=0;h<r;++h)n.push(n[o++]),a.push(0);this._time.push(t);for(h=r;h>0;--h)n.push(i(l[h-1],c[h-1],arguments[h])),a.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],h=s>1e-6?1/s:0;this._time.push(t);for(var f=r;f>0;--f){var p=i(c[f-1],u[f-1],arguments[f]);n.push(p),a.push((p-n[o++])*h)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,a=this.bounds,o=a[0],s=a[1];this._time.push(t);for(var l=e;l>0;--l)r.push(i(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,h=u>1e-6?1/u:0;this._time.push(t);for(var f=r;f>0;--f){var p=arguments[f];n.push(i(l[f-1],c[f-1],n[o++]+p)),a.push(p*h)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,a=this._velocity,o=n.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var h=r-1;h>=0;--h)n.push(i(l[h],c[h],n[o]+u*a[o])),a.push(0),o+=1}}},{\"binary-search-bounds\":93,\"cubic-hermite\":147}],230:[function(t,e,r){var n=t(\"dtype\");e.exports=function(t,e,r){if(!t)throw new TypeError(\"must specify data as first parameter\");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&\"number\"==typeof t[0][0]){var a,i,o,s,l=t[0].length,c=t.length*l;e&&\"string\"!=typeof e||(e=new(n(e||\"float32\"))(c+r));var u=e.length-r;if(c!==u)throw new Error(\"source length \"+c+\" (\"+l+\"x\"+t.length+\") does not match destination length \"+u);for(a=0,o=r;a<t.length;a++)for(i=0;i<l;i++)e[o++]=null===t[a][i]?NaN:t[a][i]}else if(e&&\"string\"!=typeof e)e.set(t,r);else{var h=n(e||\"float32\");if(Array.isArray(t)||\"array\"===e)for(e=new h(t.length+r),a=0,o=r,s=e.length;o<s;o++,a++)e[o]=null===t[a]?NaN:t[a];else 0===r?e=new h(t):(e=new h(t.length+r)).set(t,r)}return e}},{dtype:171}],231:[function(t,e,r){\"use strict\";var n=t(\"css-font/stringify\"),a=[32,126];e.exports=function(t){var e=(t=t||{}).shape?t.shape:t.canvas?[t.canvas.width,t.canvas.height]:[512,512],r=t.canvas||document.createElement(\"canvas\"),i=t.font,o=\"number\"==typeof t.step?[t.step,t.step]:t.step||[32,32],s=t.chars||a;i&&\"string\"!=typeof i&&(i=n(i));if(Array.isArray(s)){if(2===s.length&&\"number\"==typeof s[0]&&\"number\"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split(\"\");e=e.slice(),r.width=e[0],r.height=e[1];var h=r.getContext(\"2d\");h.fillStyle=\"#000\",h.fillRect(0,0,r.width,r.height),h.font=i,h.textAlign=\"center\",h.textBaseline=\"middle\",h.fillStyle=\"#fff\";for(var f=o[0]/2,p=o[1]/2,c=0;c<s.length;c++)h.fillText(s[c],f,p),(f+=o[0])>e[0]-o[0]/2&&(f=o[0]/2,p+=o[1]);return r}},{\"css-font/stringify\":144}],232:[function(t,e,r){\"use strict\";function n(t,e){e||(e={}),(\"string\"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(\", \"):e.family;if(!r)throw Error(\"`family` must be defined\");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||\"\",c=(t=[e.style||e.fontStyle||\"\",l,s].join(\" \")+\"px \"+r,e.origin||\"top\");if(n.cache[r]&&s<=n.cache[r].em)return a(n.cache[r],c);var u=e.canvas||n.canvas,h=u.getContext(\"2d\"),f={upper:void 0!==e.upper?e.upper:\"H\",lower:void 0!==e.lower?e.lower:\"x\",descent:void 0!==e.descent?e.descent:\"p\",ascent:void 0!==e.ascent?e.ascent:\"h\",tittle:void 0!==e.tittle?e.tittle:\"i\",overshoot:void 0!==e.overshoot?e.overshoot:\"O\"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,h.font=t;var d={top:0};h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillStyle=\"black\",h.fillText(\"H\",0,0);var g=i(h.getImageData(0,0,p,p));h.clearRect(0,0,p,p),h.textBaseline=\"bottom\",h.fillText(\"H\",0,p);var v=i(h.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-v+g,h.clearRect(0,0,p,p),h.textBaseline=\"alphabetic\",h.fillText(\"H\",0,p);var m=p-i(h.getImageData(0,0,p,p))-1+g;d.baseline=d.alphabetic=m,h.clearRect(0,0,p,p),h.textBaseline=\"middle\",h.fillText(\"H\",0,.5*p);var y=i(h.getImageData(0,0,p,p));d.median=d.middle=p-y-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline=\"hanging\",h.fillText(\"H\",0,.5*p);var x=i(h.getImageData(0,0,p,p));d.hanging=p-x-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline=\"ideographic\",h.fillText(\"H\",0,p);var b=i(h.getImageData(0,0,p,p));if(d.ideographic=p-b-1+g,f.upper&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.upper,0,0),d.upper=i(h.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),f.lower&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.lower,0,0),d.lower=i(h.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),f.tittle&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.tittle,0,0),d.tittle=i(h.getImageData(0,0,p,p))),f.ascent&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.ascent,0,0),d.ascent=i(h.getImageData(0,0,p,p))),f.descent&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.descent,0,0),d.descent=o(h.getImageData(0,0,p,p))),f.overshoot){h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.overshoot,0,0);var _=o(h.getImageData(0,0,p,p));d.overshoot=_-m}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,a(d,c)}function a(t,e){var r={};for(var n in\"string\"==typeof e&&(e=t[e]),t)\"em\"!==n&&(r[n]=t[n]-e);return r}function i(t){for(var e=t.height,r=t.data,n=3;n<r.length;n+=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}function o(t){for(var e=t.height,r=t.data,n=r.length-1;n>0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement(\"canvas\"),n.cache={}},{}],233:[function(t,e,r){\"use strict\";e.exports=function(t){return new c(t||d,null)};var n=0,a=1;function i(t,e,r,n,a,i){this._color=t,this.key=e,this.value=r,this.left=n,this.right=a,this._count=i}function o(t){return new i(t._color,t.key,t.value,t.left,t.right,t._count)}function s(t,e){return new i(t,e.key,e.value,e.left,e.right,e._count)}function l(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function c(t,e){this._compare=t,this.root=e}var u=c.prototype;function h(t,e){this.tree=t,this._stack=e}Object.defineProperty(u,\"keys\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(u,\"values\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(u,\"length\",{get:function(){return this.root?this.root._count:0}}),u.insert=function(t,e){for(var r=this._compare,o=this.root,u=[],h=[];o;){var f=r(t,o.key);u.push(o),h.push(f),o=f<=0?o.left:o.right}u.push(new i(n,t,e,null,null,1));for(var p=u.length-2;p>=0;--p){o=u[p];h[p]<=0?u[p]=new i(o._color,o.key,o.value,u[p+1],o.right,o._count+1):u[p]=new i(o._color,o.key,o.value,o.left,u[p+1],o._count+1)}for(p=u.length-1;p>1;--p){var d=u[p-1];o=u[p];if(d._color===a||o._color===a)break;var g=u[p-2];if(g.left===d)if(d.left===o){if(!(v=g.right)||v._color!==n){if(g._color=n,g.left=d.right,d._color=a,d.right=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(m=u[p-3]).left===g?m.left=d:m.right=d;break}d._color=a,g.right=s(a,v),g._color=n,p-=1}else{if(!(v=g.right)||v._color!==n){if(d.right=o.left,g._color=n,g.left=o.right,o._color=a,o.left=d,o.right=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(m=u[p-3]).left===g?m.left=o:m.right=o;break}d._color=a,g.right=s(a,v),g._color=n,p-=1}else if(d.right===o){if(!(v=g.left)||v._color!==n){if(g._color=n,g.right=d.left,d._color=a,d.left=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(m=u[p-3]).right===g?m.right=d:m.left=d;break}d._color=a,g.left=s(a,v),g._color=n,p-=1}else{var v;if(!(v=g.left)||v._color!==n){var m;if(d.left=o.right,g._color=n,g.right=o.left,o._color=a,o.right=d,o.left=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(m=u[p-3]).right===g?m.right=o:m.left=o;break}d._color=a,g.left=s(a,v),g._color=n,p-=1}}return u[0]._color=a,new c(r,u[0])},u.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,a){if(r(e,a.key)<=0){var i;if(a.left&&(i=t(e,r,n,a.left)))return i;if(i=n(a.key,a.value))return i}if(a.right)return t(e,r,n,a.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,a,i){var o,s=n(e,i.key),l=n(r,i.key);if(s<=0){if(i.left&&(o=t(e,r,n,a,i.left)))return o;if(l>0&&(o=a(i.key,i.value)))return o}if(l>0&&i.right)return t(e,r,n,a,i.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(u,\"begin\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(u,\"end\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),u.at=function(t){if(t<0)return new h(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new h(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new h(this,[])},u.ge=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<=0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new h(this,n)},u.gt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new h(this,n)},u.lt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new h(this,n)},u.le=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>=0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new h(this,n)},u.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var a=e(t,r.key);if(n.push(r),0===a)return new h(this,n);r=a<=0?r.left:r.right}return new h(this,[])},u.remove=function(t){var e=this.find(t);return e?e.remove():this},u.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var f=h.prototype;function p(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function d(t,e){return t<e?-1:t>e?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 h(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new i(r._color,r.key,r.value,r.left,r.right,r._count);for(var u=t.length-2;u>=0;--u){(r=t[u]).left===t[u+1]?e[u]=new i(r._color,r.key,r.value,e[u+1],r.right,r._count):e[u]=new i(r._color,r.key,r.value,r.left,e[u+1],r._count)}if((r=e[e.length-1]).left&&r.right){var h=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var f=e[h-1];e.push(new i(r._color,f.key,f.value,r.left,r.right,r._count)),e[h-1].key=r.key,e[h-1].value=r.value;for(u=e.length-2;u>=h;--u)r=e[u],e[u]=new i(r._color,r.key,r.value,r.left,e[u+1],r._count);e[h-1].left=e[h]}if((r=e[e.length-1])._color===n){var d=e[e.length-2];d.left===r?d.left=null:d.right===r&&(d.right=null),e.pop();for(u=0;u<e.length;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(r.left||r.right){r.left?p(r,r.left):r.right&&p(r,r.right),r._color=a;for(u=0;u<e.length-1;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(1===e.length)return new c(this.tree._compare,null);for(u=0;u<e.length;++u)e[u]._count--;var g=e[e.length-2];return function(t){for(var e,r,i,c,u=t.length-1;u>=0;--u){if(e=t[u],0===u)return void(e._color=a);if((r=t[u-1]).left===e){if((i=r.right).right&&i.right._color===n)return c=(i=r.right=o(i)).right=o(i.right),r.right=i.left,i.left=r,i.right=c,i._color=r._color,e._color=a,r._color=a,c._color=a,l(r),l(i),u>1&&((h=t[u-2]).left===r?h.left=i:h.right=i),void(t[u-1]=i);if(i.left&&i.left._color===n)return c=(i=r.right=o(i)).left=o(i.left),r.right=c.left,i.left=c.right,c.left=r,c.right=i,c._color=r._color,r._color=a,i._color=a,e._color=a,l(r),l(i),l(c),u>1&&((h=t[u-2]).left===r?h.left=c:h.right=c),void(t[u-1]=c);if(i._color===a){if(r._color===n)return r._color=a,void(r.right=s(n,i));r.right=s(n,i);continue}i=o(i),r.right=i.left,i.left=r,i._color=r._color,r._color=n,l(r),l(i),u>1&&((h=t[u-2]).left===r?h.left=i:h.right=i),t[u-1]=i,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}else{if((i=r.left).left&&i.left._color===n)return c=(i=r.left=o(i)).left=o(i.left),r.left=i.right,i.right=r,i.left=c,i._color=r._color,e._color=a,r._color=a,c._color=a,l(r),l(i),u>1&&((h=t[u-2]).right===r?h.right=i:h.left=i),void(t[u-1]=i);if(i.right&&i.right._color===n)return c=(i=r.left=o(i)).right=o(i.right),r.left=c.right,i.right=c.left,c.right=r,c.left=i,c._color=r._color,r._color=a,i._color=a,e._color=a,l(r),l(i),l(c),u>1&&((h=t[u-2]).right===r?h.right=c:h.left=c),void(t[u-1]=c);if(i._color===a){if(r._color===n)return r._color=a,void(r.left=s(n,i));r.left=s(n,i);continue}var h;i=o(i),r.left=i.right,i.right=r,i._color=r._color,r._color=n,l(r),l(i),u>1&&((h=t[u-2]).right===r?h.right=i:h.left=i),t[u-1]=i,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}}}(e),g.left===r?g.left=null:g.right=null,new c(this.tree._compare,e[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 t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),f.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,\"hasNext\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),f.update=function(t){var e=this._stack;if(0===e.length)throw new Error(\"Can't update empty node!\");var r=new Array(e.length),n=e[e.length-1];r[r.length-1]=new i(n._color,n.key,t,n.left,n.right,n._count);for(var a=e.length-2;a>=0;--a)(n=e[a]).left===e[a+1]?r[a]=new i(n._color,n.key,n.value,r[a+1],n.right,n._count):r[a]=new i(n._color,n.key,n.value,n.left,r[a+1],n._count);return new c(this.tree._compare,r[0])},f.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,\"hasPrev\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],234:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=607/128,i=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function o(t){if(t<0)return Number(\"0/0\");for(var e=i[0],r=i.length-1;r>0;--r)e+=i[r]/(t+r);var n=t+a+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(o(e));e-=1;for(var r=n[0],a=1;a<9;a++)r+=n[a]/(e+a);var i=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(i,e+.5)*Math.exp(-i)*r},e.exports.log=o},{}],235:[function(t,e,r){e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"must specify type string\");if(e=e||{},\"undefined\"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement(\"canvas\");\"number\"==typeof e.width&&(r.width=e.width);\"number\"==typeof e.height&&(r.height=e.height);var n,a=e;try{var i=[t];0===t.indexOf(\"webgl\")&&i.push(\"experimental-\"+t);for(var o=0;o<i.length;o++)if(n=r.getContext(i[o],a))return n}catch(t){n=null}return n||null}},{}],236:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=new u(t);return r.update(e),r};var n=t(\"./lib/text.js\"),a=t(\"./lib/lines.js\"),i=t(\"./lib/background.js\"),o=t(\"./lib/cube.js\"),s=t(\"./lib/ticks.js\"),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function c(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function u(t){this.gl=t,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=i(t)}var h=u.prototype;function f(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}h.update=function(t){function e(e,r,n){if(n in t){var a,i=t[n],o=this[n];(e?Array.isArray(i)&&Array.isArray(i[0]):Array.isArray(i))?this[n]=a=[r(i[0]),r(i[1]),r(i[2])]:this[n]=a=[r(i),r(i),r(i)];for(var s=0;s<3;++s)if(a[s]!==o[s])return!0}return!1}t=t||{};var r,i=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),c=e.bind(this,!0,function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]}),u=!1,h=!1;if(\"bounds\"in t)for(var f=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)f[p][d]!==this.bounds[p][d]&&(h=!0),this.bounds[p][d]=f[p][d];if(\"ticks\"in t){r=t.ticks,u=!0,this.autoTicks=!1;for(p=0;p<3;++p)this.tickSpacing[p]=0}else i(\"tickSpacing\")&&(this.autoTicks=!0,h=!0);if(this._firstInit&&(\"ticks\"in t||\"tickSpacing\"in t||(this.autoTicks=!0),h=!0,u=!0,this._firstInit=!1),h&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(p=0;p<3;++p)r[p].sort(function(t,e){return t.x-e.x});s.equal(r,this.ticks)?u=!1:this.ticks=r}o(\"tickEnable\"),l(\"tickFont\")&&(u=!0),i(\"tickSize\"),i(\"tickAngle\"),i(\"tickPad\"),c(\"tickColor\");var g=l(\"labels\");l(\"labelFont\")&&(g=!0),o(\"labelEnable\"),i(\"labelSize\"),i(\"labelPad\"),c(\"labelColor\"),o(\"lineEnable\"),o(\"lineMirror\"),i(\"lineWidth\"),c(\"lineColor\"),o(\"lineTickEnable\"),o(\"lineTickMirror\"),i(\"lineTickLength\"),i(\"lineTickWidth\"),c(\"lineTickColor\"),o(\"gridEnable\"),i(\"gridWidth\"),c(\"gridColor\"),o(\"zeroEnable\"),c(\"zeroLineColor\"),i(\"zeroLineWidth\"),o(\"backgroundEnable\"),c(\"backgroundColor\"),this._text?this._text&&(g||u)&&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&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=a(this.gl,this.bounds,this.ticks))};var p=[new f,new f,new f];function d(t,e,r,n,a){for(var i=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var h=i,f=s,p=o,d=l;c&1<<u&&(h=s,f=i,p=l,d=o),h[u]=r[0][u],f[u]=r[1][u],a[u]>0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],v={model:l,view:l,projection:l,_ortho:!1};h.isOpaque=function(){return!0},h.isTransparent=function(){return!1},h.drawTransparent=function(t){};var m=[0,0,0],y=[0,0,0],x=[0,0,0];h.draw=function(t){t=t||v;for(var e=this.gl,r=t.model||l,n=t.view||l,a=t.projection||l,i=this.bounds,s=t._ortho||!1,u=o(r,n,a,i,s),h=u.cubeEdges,f=u.axis,b=n[12],_=n[13],w=n[14],k=n[15],T=(s?2:1)*this.pixelRatio*(a[3]*b+a[7]*_+a[11]*w+a[15]*k)/e.drawingBufferHeight,M=0;M<3;++M)this.lastCubeProps.cubeEdges[M]=h[M],this.lastCubeProps.axis[M]=f[M];var A=p;for(M=0;M<3;++M)d(p[M],M,this.bounds,h,f);e=this.gl;var S,E=g;for(M=0;M<3;++M)this.backgroundEnable[M]?E[M]=f[M]:E[M]=0;this._background.draw(r,n,a,i,E,this.backgroundColor),this._lines.bind(r,n,a,this);for(M=0;M<3;++M){var L=[0,0,0];f[M]>0?L[M]=i[1][M]:L[M]=i[0][M];for(var C=0;C<2;++C){var P=(M+1+C)%3,O=(M+1+(1^C))%3;this.gridEnable[P]&&this._lines.drawGrid(P,O,this.bounds,L,this.gridColor[P],this.gridWidth[P]*this.pixelRatio)}for(C=0;C<2;++C){P=(M+1+C)%3,O=(M+1+(1^C))%3;this.zeroEnable[O]&&Math.min(i[0][O],i[1][O])<=0&&Math.max(i[0][O],i[1][O])>=0&&this._lines.drawZero(P,O,this.bounds,L,this.zeroLineColor[O],this.zeroLineWidth[O]*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=c(m,A[M].primalMinor),I=c(y,A[M].mirrorMinor),D=this.lineTickLength;for(C=0;C<3;++C){var R=T/r[5*C];z[C]*=D[C]*R,I[C]*=D[C]*R}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,I,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,a,this.pixelRatio);var F,B;function N(t){(B=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,a=(t+2)%3,i=e[n],o=e[a],s=r[n],l=r[a];i>0&&l>0?N(n):i>0&&l<0?N(n):i<0&&l>0?N(n):i<0&&l<0?N(n):o>0&&s>0?N(a):o>0&&s<0?N(a):o<0&&s>0?N(a):o<0&&s<0&&N(a)}for(M=0;M<3;++M){var V=A[M].primalMinor,U=A[M].mirrorMinor,q=c(x,A[M].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[M]&&(q[C]+=T*V[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);var H=[0,0,0];if(H[M]=1,this.tickEnable[M]){-3600===this.tickAngle[M]?(this.tickAngle[M]=0,this.tickAlign[M]=\"auto\"):this.tickAlign[M]=-1,F=1,\"auto\"===(S=[this.tickAlign[M],.5,F])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]),B=[0,0,0],j(M,V,U);for(C=0;C<3;++C)q[C]+=T*V[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(M,this.tickSize[M],this.tickAngle[M],q,this.tickColor[M],H,B,S)}if(this.labelEnable[M]){F=0,B=[0,0,0],this.labels[M].length>4&&(N(M),F=1),\"auto\"===(S=[this.labelAlign[M],.5,F])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]);for(C=0;C<3;++C)q[C]+=T*V[C]*this.labelPad[C]/r[5*C];q[M]+=.5*(i[0][M]+i[1][M]),this._text.drawLabel(M,this.labelSize[M],this.labelAngle[M],q,this.labelColor[M],[0,0,0],B,S)}}this._text.unbind()},h.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{\"./lib/background.js\":237,\"./lib/cube.js\":238,\"./lib/lines.js\":239,\"./lib/text.js\":241,\"./lib/ticks.js\":242}],237:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,h=[0,0,0],f=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),h[l]=p,f[l]=p;for(var d=-1;d<=1;d+=2){h[c]=d;for(var g=-1;g<=1;g+=2)h[u]=g,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),s+=1}var v=c;c=u,u=v}var m=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=a(t,[{buffer:m,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:m,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=i(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,m,x,b)};var n=t(\"gl-buffer\"),a=t(\"gl-vao\"),i=t(\"./shaders\").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,a,i){for(var o=!1,s=0;s<3;++s)o=o||a[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:a,colors:i},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()}},{\"./shaders\":240,\"gl-buffer\":244,\"gl-vao\":329}],238:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i,p){a(s,e,t),a(s,r,s);for(var y=0,x=0;x<2;++x){u[2]=i[x][2];for(var b=0;b<2;++b){u[1]=i[b][1];for(var _=0;_<2;++_)u[0]=i[_][0],f(l[y],u,s),y+=1}}for(var w=-1,x=0;x<8;++x){for(var k=l[x][3],T=0;T<3;++T)c[x][T]=l[x][T]/k;p&&(c[x][2]*=-1),k<0&&(w<0?w=x:c[x][2]<c[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,L=-1,C=0;C<2;++C){var P=C<<M,O=P+(C<<A)+(1-C<<S),z=P+(1-C<<A)+(C<<S);o(c[P],c[O],c[z],h)<0||(C?E=1:L=1)}if(E<0||L<0)L>E&&(w|=1<<M);else{for(var C=0;C<2;++C){var P=C<<M,O=P+(C<<A)+(1-C<<S),z=P+(1-C<<A)+(C<<S),I=d([l[P],l[O],l[z],l[P+(1<<A)+(1<<S)]]);C?E=I:L=I}L>E&&(w|=1<<M)}}}for(var D=7^w,R=-1,x=0;x<8;++x)x!==w&&x!==D&&(R<0?R=x:c[R][1]>c[x][1]&&(R=x));for(var F=-1,x=0;x<3;++x){var B=R^1<<x;if(B!==w&&B!==D){F<0&&(F=B);var S=c[B];S[0]<c[F][0]&&(F=B)}}for(var N=-1,x=0;x<3;++x){var B=R^1<<x;if(B!==w&&B!==D&&B!==F){N<0&&(N=B);var S=c[B];S[0]>c[N][0]&&(N=B)}}var j=g;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^N)]=R&N;var V=7^N;V===w||V===D?(V=7^F,j[n.log2(N^V)]=V&N):j[n.log2(F^V)]=V&F;for(var U=v,q=w,M=0;M<3;++M)U[M]=q&1<<M?-1:1;return m};var n=t(\"bit-twiddle\"),a=t(\"gl-mat4/multiply\"),i=t(\"split-polygon\"),o=t(\"robust-orientation\"),s=new Array(16),l=new Array(8),c=new Array(8),u=new Array(3),h=[0,0,0];function f(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var a=0;a<3;++a)t[n]+=e[a]*r[4*a+n]}}!function(){for(var t=0;t<8;++t)l[t]=[1,1,1,1],c[t]=[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(t){for(var e=0;e<p.length;++e)if((t=i.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],a=r[1]/r[3],o=0;for(e=1;e+1<t.length;++e){var s=t[e],l=t[e+1],c=s[0]/s[3]-n,u=s[1]/s[3]-a,h=l[0]/l[3]-n,f=l[1]/l[3]-a;o+=Math.abs(c*f-u*h)}return o}var g=[1,1,1],v=[0,0,0],m={cubeEdges:g,axis:v}},{\"bit-twiddle\":94,\"gl-mat4/multiply\":270,\"robust-orientation\":509,\"split-polygon\":526}],239:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var o=[],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[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 h=0;h<3;++h){for(var f=o.length/3|0,d=0;d<r[h].length;++d){var g=+r[h][d].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var v=o.length/3|0;s[h]=f,l[h]=v-f;for(var f=o.length/3|0,m=0;m<r[h].length;++m){var g=+r[h][m].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var v=o.length/3|0;c[h]=f,u[h]=v-f}var y=n(t,new Float32Array(o)),x=a(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=i(t);return b.attributes.position.location=0,new p(t,y,x,b,l,s,u,c)};var n=t(\"gl-buffer\"),a=t(\"gl-vao\"),i=t(\"./shaders\").line,o=[0,0,0],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[1,1];function h(t){return t[0]=t[1]=t[2]=0,t}function f(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,a,i,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=a,this.tickOffset=i,this.gridCount=o,this.gridOffset=s}var d=p.prototype;d.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,u[0]=this.gl.drawingBufferWidth,u[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=u,this.vao.bind()},d.unbind=function(){this.vao.unbind()},d.drawAxisLine=function(t,e,r,n,a){var i=h(s);this.shader.uniforms.majorAxis=s,i[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=i;var o,u=f(c,r);u[t]+=e[0][t],this.shader.uniforms.offset=u,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=n,(o=h(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=h(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,a){if(this.tickCount[t]){var i=h(o);i[t]=1,this.shader.uniforms.majorAxis=i,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=a;var s=h(l);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},d.drawGrid=function(t,e,r,n,a,i){if(this.gridCount[t]){var u=h(s);u[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=u;var p=f(c,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=h(o);d[t]=1,this.shader.uniforms.majorAxis=d;var g=h(l);g[t]=1,this.shader.uniforms.screenAxis=g,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=a,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,a,i){var o=h(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var u=f(c,n);u[t]+=r[0][t],this.shader.uniforms.offset=u;var p=h(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=a,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{\"./shaders\":240,\"gl-buffer\":244,\"gl-vao\":329}],240:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),a=t(\"gl-shader\"),i=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}\"]);r.line=function(t){return a(t,i,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}\"]);r.text=function(t){return a(t,s,l,null,[{name:\"position\",type:\"vec3\"}])};var c=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}\"]),u=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}\"]);r.bg=function(t){return a(t,c,u,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},{\"gl-shader\":304,glslify:411}],241:[function(t,e,r){(function(r){\"use strict\";e.exports=function(t,e,r,i,s,l){var u=n(t),h=a(t,[{buffer:u,size:3}]),f=o(t);f.attributes.position.location=0;var p=new c(t,f,u,h);return p.update(e,r,i,s,l),p};var n=t(\"gl-buffer\"),a=t(\"gl-vao\"),i=t(\"vectorize-text\"),o=t(\"./shaders\").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,h=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var a=this.shader.uniforms;a.model=t,a.view=e,a.projection=r,a.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,a){var o=[];function s(t,e,r,n,a,s){var c=l[r];c||(c=l[r]={});var u=c[e];u||(u=c[e]=function(t,e){try{return i(t,e)}catch(e){return console.warn('error vectorizing text:\"'+t+'\" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:a,styletags:s}));for(var h=(n||12)/12,f=u.positions,p=u.cells,d=0,g=p.length;d<g;++d)for(var v=p[d],m=2;m>=0;--m){var y=f[v[m]];o.push(h*y[0],-h*y[1],t)}}for(var c=[0,0,0],u=[0,0,0],h=[0,0,0],f=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){h[d]=o.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),f[d]=(o.length/3|0)-h[d],c[d]=o.length/3|0;for(var g=0;g<n[d].length;++g)n[d][g].text&&s(n[d][g].x,n[d][g].text,n[d][g].font||a,n[d][g].fontSize||12,1.25,p);u[d]=(o.length/3|0)-c[d]}this.buffer.update(o),this.tickOffset=c,this.tickCount=u,this.labelOffset=h,this.labelCount=f},u.drawTicks=function(t,e,r,n,a,i,o,s){this.tickCount[t]&&(this.shader.uniforms.axis=i,this.shader.uniforms.color=a,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t]))},u.drawLabel=function(t,e,r,n,a,i,o,s){this.labelCount[t]&&(this.shader.uniforms.axis=i,this.shader.uniforms.color=a,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},u.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,t(\"_process\"))},{\"./shaders\":240,_process:484,\"gl-buffer\":244,\"gl-vao\":329,\"vectorize-text\":549}],242:[function(t,e,r){\"use strict\";function n(t,e){var r=t+\"\",n=r.indexOf(\".\"),a=0;n>=0&&(a=r.length-n-1);var i=Math.pow(10,a),o=Math.round(t*e*i),s=o+\"\";if(s.indexOf(\"e\")>=0)return s;var l=o/i,c=o%i;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=\"\"+l;if(o<0&&(u=\"-\"+u),a){for(var h=\"\"+c;h.length<a;)h=\"0\"+h;return u+\".\"+h}return u}r.create=function(t,e){for(var r=[],a=0;a<3;++a){for(var i=[],o=(t[0][a],t[1][a],0);o*e[a]<=t[1][a];++o)i.push({x:o*e[a],text:n(e[a],o)});for(var o=-1;o*e[a]>=t[0][a];--o)i.push({x:o*e[a],text:n(e[a],o)});r.push(i)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var a=t[r][n],i=e[r][n];if(a.x!==i.x||a.text!==i.text||a.font!==i.font||a.fontColor!==i.fontColor||a.fontSize!==i.fontSize||a.dx!==i.dx||a.dy!==i.dy)return!1}}return!0}},{}],243:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,l,h){var f=e.model||c,p=e.view||c,m=e.projection||c,y=e._ortho||!1,x=t.bounds,b=(h=h||i(f,p,m,x,y)).axis;o(u,p,f),o(u,m,u);for(var _=g,w=0;w<3;++w)_[w].lo=1/0,_[w].hi=-1/0,_[w].pixelsPerDataUnit=1/0;var k=n(s(u,u));s(u,u);for(var T=0;T<3;++T){var M=(T+1)%3,A=(T+2)%3,S=v;t:for(var w=0;w<2;++w){var E=[];if(b[T]<0!=!!w){S[T]=x[w][T];for(var L=0;L<2;++L){S[M]=x[L^w][M];for(var C=0;C<2;++C)S[A]=x[C^L^w][A],E.push(S.slice())}for(var P=y?5:4,L=P;L===P;++L){if(0===E.length)continue t;E=a.positive(E,k[L])}for(var L=0;L<E.length;++L)for(var A=E[L],O=d(v,u,A,r,l),C=0;C<3;++C)_[C].lo=Math.min(_[C].lo,A[C]),_[C].hi=Math.max(_[C].hi,A[C]),C!==T&&(_[C].pixelsPerDataUnit=Math.min(_[C].pixelsPerDataUnit,Math.abs(O[C])))}}}return _};var n=t(\"extract-frustum-planes\"),a=t(\"split-polygon\"),i=t(\"./lib/cube.js\"),o=t(\"gl-mat4/multiply\"),s=t(\"gl-mat4/transpose\"),l=t(\"gl-vec4/transformMat4\"),c=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=new Float32Array(16);function h(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var f=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,a){for(var i=0;i<3;++i){for(var o=f,s=p,c=0;c<3;++c)s[c]=o[c]=r[c];s[3]=o[3]=1,s[i]+=1,l(s,s,e),s[3]<0&&(t[i]=1/0),o[i]-=1,l(o,o,e),o[3]<0&&(t[i]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,h=(o[1]/o[3]-s[1]/s[3])*a;t[i]=.25*Math.sqrt(u*u+h*h)}return t}var g=[new h(1/0,-1/0,1/0),new h(1/0,-1/0,1/0),new h(1/0,-1/0,1/0)],v=[0,0,0]},{\"./lib/cube.js\":238,\"extract-frustum-planes\":227,\"gl-mat4/multiply\":270,\"gl-mat4/transpose\":279,\"gl-vec4/transformMat4\":400,\"split-polygon\":526}],244:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\"),a=t(\"ndarray-ops\"),i=t(\"ndarray\"),o=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function s(t,e,r,n,a){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=a}var l=s.prototype;function c(t,e,r,n,a,i){var o=a.length*a.BYTES_PER_ELEMENT;if(i<0)return t.bufferData(e,a,n),o;if(o+i>r)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return t.bufferSubData(e,i,a),r}function u(t,e){for(var r=n.malloc(t.length,e),a=t.length,i=0;i<a;++i)r[i]=t[i];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(t,e){if(\"number\"!=typeof e&&(e=-1),this.bind(),\"object\"==typeof t&&\"undefined\"!=typeof t.shape){var r=t.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\";if(r===t.dtype&&function(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=i(s,t.shape);a.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var h;h=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,\"uint16\"):u(t,\"float32\"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?h:h.subarray(0,t.length),e),n.free(h)}else if(\"object\"==typeof t&&\"number\"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if(\"number\"!=typeof t&&void 0!==t)throw new Error(\"gl-buffer: Invalid data type\");if(e>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.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!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.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 a=t.createBuffer(),i=new s(t,r,a,0,n);return i.update(e),i}},{ndarray:452,\"ndarray-ops\":446,\"typedarray-pool\":544}],245:[function(t,e,r){\"use strict\";var n=t(\"gl-vec3\");e.exports=function(t,e){var r=t.positions,a=t.vectors,i={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),i;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,h=1/0,f=-1/0,p=null,d=null,g=[],v=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),c=Math.min(x[1],c),u=Math.max(x[1],u),h=Math.min(x[2],h),f=Math.max(x[2],f);var b=a[y];if(n.length(b)>o&&(o=n.length(b)),y){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(v=Math.min(v,_),m=!1):m=!0}m||(p=x,d=b),g.push(b)}var w=[s,c,h],k=[l,u,f];e&&(e[0]=w,e[1]=k),0===o&&(o=1);var T=1/o;isFinite(v)||(v=1),i.vectorScale=v;var M=t.coneSize||.5;t.absoluteConeSize&&(M=t.absoluteConeSize*T),i.coneScale=M;y=0;for(var A=0;y<r.length;y++)for(var S=(x=r[y])[0],E=x[1],L=x[2],C=g[y],P=n.length(C)*T,O=0;O<8;O++){i.positions.push([S,E,L,A++]),i.positions.push([S,E,L,A++]),i.positions.push([S,E,L,A++]),i.positions.push([S,E,L,A++]),i.positions.push([S,E,L,A++]),i.positions.push([S,E,L,A++]),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vertexIntensity.push(P,P,P),i.vertexIntensity.push(P,P,P);var z=i.positions.length;i.cells.push([z-6,z-5,z-4],[z-3,z-2,z-1])}return i};var a=t(\"./lib/shaders\");e.exports.createMesh=t(\"./create_mesh\"),e.exports.createConeMesh=function(t,r){return e.exports.createMesh(t,r,{shaders:a,traceType:\"cone\"})}},{\"./create_mesh\":246,\"./lib/shaders\":247,\"gl-vec3\":348}],246:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),a=t(\"gl-buffer\"),i=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"gl-mat4/multiply\"),l=t(\"gl-mat4/invert\"),c=t(\"ndarray\"),u=t(\"colormap\"),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(t,e,r,n,a,i,o,s,l,c,u){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.pickShader=n,this.trianglePositions=a,this.triangleVectors=i,this.triangleColors=s,this.triangleUVs=l,this.triangleIds=o,this.triangleVAO=c,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=u,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=h,this._view=h,this._projection=h,this._resolution=[1,1]}var p=f.prototype;p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),\"opacity\"in t&&(this.opacity=t.opacity),\"ambient\"in t&&(this.ambientLight=t.ambient),\"diffuse\"in t&&(this.diffuseLight=t.diffuse),\"specular\"in t&&(this.specularLight=t.specular),\"roughness\"in t&&(this.roughness=t.roughness),\"fresnel\"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=u({colormap:t,nshades:256,format:\"rgba\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var a=e[n],i=0;i<3;++i)r[4*n+i]=a[i];r[4*n+3]=255*a[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,a=t.vectors;if(n&&r&&a){var i=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=a;var f=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,g=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],g=+t.vertexIntensityBounds[1];else for(var v=0;v<p.length;++v){var m=p[v];d=Math.min(d,m),g=Math.max(g,m)}else for(v=0;v<n.length;++v){m=n[v][2];d=Math.min(d,m),g=Math.max(g,m)}this.intensity=p||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(v=0;v<n.length;++v)for(var y=n[v],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;t:for(v=0;v<r.length;++v){var _=r[v];switch(_.length){case 3: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 t}for(x=0;x<3;++x){var k;y=n[k=_[2-x]];i.push(y[0],y[1],y[2],y[3]);var T=a[k];o.push(T[0],T[1],T[2],T[3]||0);var M,A=f;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)/(g-d),0]:[(y[2]-d)/(g-d),0],l.push(M[0],M[1]),h.push(v)}b+=1}}this.triangleCount=b,this.trianglePositions.update(i),this.triangleVectors.update(o),this.triangleColors.update(s),this.triangleUVs.update(l),this.triangleIds.update(new Uint32Array(h))}},p.drawTransparent=p.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||h,n=t.view||h,a=t.projection||h,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);var c={model:r,view:n,projection:a,inverseModel:h.slice(),clipBounds:i,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};c.inverseModel=l(c.inverseModel,c.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);s(u,c.view,c.model),s(u,c.projection,u),l(u,u);for(o=0;o<3;++o)c.eyePosition[o]=u[12+o]/u[15];var f=u[15];for(o=0;o<3;++o)f+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];c.lightPosition[o]=p/f}if(this.triangleCount>0){var g=this.triShader;g.bind(),g.uniforms=c,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||h,n=t.view||h,a=t.projection||h,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:a,clipBounds:i,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(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),a={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return\"cone\"===this.traceType?a.index=Math.floor(r[1]/48):\"streamtube\"===this.traceType&&(a.intensity=this.intensity[r[1]],a.velocity=this.vectors[r[1]].slice(0,3),a.divergence=this.vectors[r[1]][3],a.index=e),a},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(t,e,r){var s=r.shaders;1===arguments.length&&(t=(e=t).gl);var l=function(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(t,s),u=function(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(t,s),h=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));h.generateMipmap(),h.minFilter=t.LINEAR_MIPMAP_LINEAR,h.magFilter=t.LINEAR;var p=a(t),d=a(t),g=a(t),v=a(t),m=a(t),y=new f(t,h,l,u,p,d,m,g,v,i(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:v,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||\"cone\");return y.update(e),y}},{colormap:128,\"gl-buffer\":244,\"gl-mat4/invert\":268,\"gl-mat4/multiply\":270,\"gl-shader\":304,\"gl-texture2d\":324,\"gl-vao\":329,ndarray:452}],247:[function(t,e,r){var n=t(\"glslify\"),a=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\"]),i=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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment