diff --git a/.binder/requirements.txt b/.binder/requirements.txt index 722658a..48ad8af 100644 --- a/.binder/requirements.txt +++ b/.binder/requirements.txt @@ -12,3 +12,5 @@ gudhi>=3.9.0 # Tuto-GUDHI-cover-complex.ipynb requires sklearn interfaces torch tqdm eagerpy +ipywidgets +anywidget diff --git a/.github/workflows/test_notebooks.yml b/.github/workflows/test_notebooks.yml index ad83692..d117b72 100644 --- a/.github/workflows/test_notebooks.yml +++ b/.github/workflows/test_notebooks.yml @@ -4,23 +4,22 @@ on: [push, pull_request] jobs: build: - runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - name: Set up Python 3.8 - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - name: Install LaTeX support for matplotlib - run: | - sudo apt update - sudo apt install -y ghostscript dvipng texlive-full - - name: Install Python dependencies - run: | - python -m pip install --upgrade pip - pip install -r .binder/requirements.txt - pip install jupyter - - name: Execute notebooks - run: | - for f in *.ipynb; do echo "Processing $f file.."; time jupyter nbconvert --to notebook --ExecutePreprocessor.timeout=600 --inplace --execute $f;done; + - uses: actions/checkout@v2 + - name: Set up Python 3.11 + uses: actions/setup-python@v2 + with: + python-version: 3.11 + - name: Install LaTeX support for matplotlib + run: | + sudo apt update + sudo apt install -y ghostscript dvipng texlive-full + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install -r .binder/requirements.txt + pip install jupyter + - name: Execute notebooks + run: | + for f in *.ipynb; do echo "Processing $f file.."; time jupyter nbconvert --TagRemovePreprocessor.enabled=True --TagRemovePreprocessor.remove_cell_tags="['do_not_execute']" --to notebook --ExecutePreprocessor.timeout=600 --inplace --execute $f;done; diff --git a/Tuto-GUDHI-Barycenters-of-persistence-diagrams.ipynb b/Tuto-GUDHI-Barycenters-of-persistence-diagrams.ipynb index c5cad5a..77ac2a6 100644 --- a/Tuto-GUDHI-Barycenters-of-persistence-diagrams.ipynb +++ b/Tuto-GUDHI-Barycenters-of-persistence-diagrams.ipynb @@ -2,7 +2,13 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ "# Barycenters of persistence diagrams" ] @@ -107,7 +113,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Current gudhi version: 3.2.0\n", + "Current gudhi version: 3.11.0\n", "Version >= 3.2.0 is required for this tutorial\n" ] } @@ -123,17 +129,6 @@ "execution_count": 2, "metadata": {}, "outputs": [], - "source": [ - "# Note: %matplotlib notebook allows for iteractive 3D plot.\n", - "#%matplotlib notebook\n", - "%matplotlib inline" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], "source": [ "from gudhi.wasserstein.barycenter import lagrangian_barycenter as bary\n", "from gudhi.persistence_graphical_tools import plot_persistence_diagram\n", @@ -158,7 +153,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -171,7 +166,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -180,20 +175,18 @@ "Text(0.5, 1.0, 'Set of 3 persistence diagrams')" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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w83NTeySSIsweBARkdp06NAB586dg6GhIU6ePAlLS0uxSyItw+BBREQqk0ql8Pb2xsOHD2FmZoaQkBAYGxuLXRZpIQYPIiJSSW5uLpydnfHixQvY29vj2LFjnI2USsRRLUREVGGpqamoW7cuXrx4gUaNGuHkyZMMHVQqBg8iIqqQqKgo2NjYICMjA+3bt8fu3bvFLomqAAYPIiJS2pUrV+Dm5obc3Fz069cPq1evFrskqiIYPIiISClBQUFo06YNZDIZxo0bh1mzZoldElUhDB5ERFRua9euRa9evSAIAmbMmIHx48eLXRJVMQweRERULjNnzsSnn34KAFi2bBk+/PBDkSuiqojDaYmIqExjx47FunXroKOjg23btqFx48Zil0RVFIMHERGVqlevXggKCoKenh4OHz4MJycnsUuiKozBg4iIStS6dWtcuXIFxsbGCAkJgZmZmdglURXH4EFEREVIpVJ4eHjgyZMnsLCwQEhICAwMDMQui6oBdi4lIqJCsrKyYG1tjSdPnqBevXo4deoUQwepDYMHEREpJCQkoG7dukhOTkazZs1w9OhRToFOasXgQUREAICHDx/CwcEBWVlZeOedd7B161axS6JqiMGDiIhw7tw5eHl5IT8/H0OGDMGSJUvELomqKQYPIqIabu/evejQoQNkMhm++uorTJ06VeySqBpj8CAiqsGWLVuGAQMGAADmzJmDMWPGiFwRVXccTktEVEN9//33WLBgASQSCdauXQtfX1+xS6IagMGDiKgG+vjjj7Ft2zbo6Ohgz549aNCggdglUQ3B4EFEVMO88847irk5jh8/Dmtra7FLohqEwaOSZGYCV68C6elAnTpAy5aAkZHYVRFRTde0aVPcvn0btWrVQkhICExNTcUuiWoYrexceubMGfTp0wcODg6QSCQ4cOBAqeuHh4dDIpEUucXFxWmm4AIEAQgKAsaOBaZPB+bOBaZOBT79FAgP13g5REQA5FOgOzo64vbt27CxscG5c+cYOkgUWtnikZmZiebNm2PUqFHo379/uR/34MGDQhcwsrGxqYzySnXyJLB4sfzf7u6AgQGQkwNERQELFsh/btdO42URUQ2WkZEBR0dHpKWloX79+mX+MUdUmbQyePTs2RM9e/ZU+nE2NjaoU6eO+gsqp5wcYMcOQCYD6tf/3/2GhoCHB/DgAbB9O/DWW4CO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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -217,7 +210,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -228,7 +221,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -254,7 +247,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -266,21 +259,19 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": { "scrolled": true }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYMAAAGLCAYAAAAlN/5/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3de3xU9Z0//tdngBAhJAMEdcs1wRWlXDQJWTBQEQOiWwUt4C5awu5PoltxV2sfUC9FF+0ltMrab10LaEvU6gJphdW6xQTEgqAxiQ/BSq4TcoMkTJKZXCfJZD6/P+ZMmEwmyUxyZs5cXs/HI49kzjlzzjvnnDnvOedzE1JKEBFReNNpHQAREWmPyYCIiJgMiIiIyYCIiMBkQEREYDIgIiIwGYQEIUS6EOKQECJb61hocGofKyFEvGN9QohUNdapJiFEghJfvhAiQet4aGAi1NoZCCHiAWwHYHKafEBKWSCE2Cal3KVRaAMSQmxT/pwMoExKuXeY63hKSjnRaVoCgGMAEqWUBlWCpRFzd6xGuL54AGUAVkopc1RYn6rnjdrxkW+E1J2BctIdArBdStn7AyBVCHEI9out1+v05TcuIUQ6gNlKkioDMHuYq8pyM80EgEkg8Lg7VoMa7DxULtgFI47qClXPGyU+nodOfH1dGY7RWgegsj2wJwLnuwJIKXcpyWA4EtD3LkNt62GPG8O5IxiM8iFMVHOdpBlfn4e9eN74hd+Op6dC6s4AQBKAvAHm/XyY67x/mO/z1CQE2ElBAcnX5yH5V8Adz1BLBgAw0K10AYAGT1cihNArz3bXqRUYkbd4HoaWQD6eofaYaC+AfUIIg3Lx78O18FgpY3gYwBewf0PXOy2TjivP77cLIdYrf+9xt25XQgi9sg7Ht349gL2OR1jK88L1AOKd1l/maQG3ECID9jKGRiX2PJf5etgLAeMBbJFSZjnNS4D9LgqwPw445K5gTwixDsAiXCnLOOD0Psfrfco2bld+TwKwXkq50tPtOZX1xCv7BLDvr0kAVsL+6M+glK80KstNVsqDnONNVd5nUpZpBLDIdbmBqBDnFtdHlMr7Bj1WQ/DqPHTaBwPGNNh57+68UfbLkMfZE8o55bBI+T8MLssMdRwGjUe52D6sTM+SUq53eu82ABmwl7FscexD5f9+Cvbj5HDQed8Nsd88PTc8Op5DbEu149GHlDKkfgBkA5AA8pWDnjrAcgkA8l2mZQDIcJlWNtA6BokhXolD7zRN7zpNmZ4PYJ0X69YrMcW7TN8DoMnN8k3O61diS3VZpgxAgsu0dW72T5kjfufllf29TVm3Xtmm3pvtOcW6zfl/g/3Dkw0g3c1xTnf5v7a5Ow5eHLMRxzmSYzVEfIOeh8p55ElMnp73fc6boY6zh/EfGmC6c8zeHIehzjvpLj7XOAY5Ttuc/vZmv3lyHAY8nl5sa9jHw+12h/vGQP6B/UJ2SNk5UvntejHpdxFWdmifE2ioD+EA2892XbfTSeF6InqbDPa4nhTK9FR3FxjX9SsnT5nLMtvcnKzZsH9bcZ22zc02ytzF5M32nGJ13WaCckxcLxAZzvtS2bfuYus3zZdxjuRYDRGfJ8nAk5g8Pe/dLTfgcfYw/nQ30/tcKL08DoPG4+58hftkc8h1Pcoxkk6vvdlvnhyHwZKBN9emYR0Pdz+hWGYAKWWWlHK9tNfjTgRwEMAexy2qcguWAJfqeNJ+G2fClVtUrynrTgXgrj71QQDrlFvS4UqH/dbRVaOH78+CUnvJiQH220zXaa5cl3FWNsB0T7fnkD9AHK6PVhpg/4A45ADIEEJsU46Bg6c1tNSK09lIj5W3Bo1JpfN+oOPsCXf7KA/2qt+OY+ntcRgsnj2wP2pxlir7PxJdB3vicI1rOzCs/ebJueHWMLY1kuPRR0iVGQgh9LJ/tdICAA8LIUywf5vMgn1nA0CCm1aRBzGyD2u8st1+z46llCYhBGA/oF43vnGKddh1yqX9+ewu5cO3AcpzdfS9sAL2fZXt2KfKSarHwBdXtye8F9tzcLvv3e1P1+0oz18zYE8KBti/oXlUBqNWnA5qHKthGOq8VeO8V7u9gGN9SQByhnEcBoxH2ss79gkhEuQA5XxO+6HPepTzzXHueLvfRnL98HZbqh2PkEoGsBcADVRYuAf2281e0qlQ1cmgDYLcJRwXI/nW73PKh+wQ7BepnzslKNfaDY2wF4RtUObrYW+R6lU1WC+2N2LK8cxyujvbLoRYKT0oVPNnnGrw4Dwc0HDOe19x2s8AfHIc9sJ+XVivPBk4OIJYfbbfXI+nFsco1B4TDdj3iexbY8FRgyB+gMUHs2GI+c61E/pw2p43tUl6OX27GUkfL4cAGKS9dba7mi+OuDdIKQuklHuVn13DvPh4ur0RUfr80QP2Y63EPBtAvIfbUDVOlY7VYIY6D90ZyXnvE24+E2qfL3tw5dHspAGeHADKHf0A/LHfHMdTs2MUaskgdaDOsJTpOUBvYsiBm28bSjNx13XoB/i7H3mlawB3H9Z1sN8Kj6SRWRbst82uPD15UmH/wA30XkfcepU6FvN0eyOlh/s2JjkYvKzDwRdxjvRYufL4PHRnGOe92tz9366fCVWPg9PnMQMDP1LJwpXqoL0c+8SH+63f8dTyGIVaMjDBXj7Q56KgfCvYh76FSQ8ry7qeoOtcni/moO8H2pML+Xpl3b0HW9nO/ehfoOXth3oL3BdC3z/AulynOergu3K9YBagf6wDGexi6+n2gCv1svst5+E3wqfcbUd61tmaL+L09lgNZqjz0NOYPD3v3cXnSVIdTJ91KnE9jL4XYm+Og6fx/BzuC44dtsD9F0nnfeLNfvPkOAx2PD3d1kiPR19qVUsKhB8oVddgr8Wxx+Un3s3yelwpS1gHN1XflOX2KOt0O3+A9+hh/zayTXlvBvpWC3M0UpGw1wjY4zzfw3WnO+LGlSqYZbB/u3Jdf7rLdrcpy61z+h/3wKm6G+y1IqTTTxPstS4SBvof3MQ65PbcrGebssw6pxiyHbEp/7uj2vAhZX+sU9bjvE/61PceYp+qHqenx8qLc6rfeTiCmNye9+7OG0+OsyexO8WVDjefiREch0HjUf7fQasYu9kn7qqGe7PfPDkOA15XvNyW18fD3U/IdWFNI6d8g8mAU6tIxzNX2C9k+wDcLj1oiU2kNaXgeKSPZ0NeqNUmInWkw94CsvdiL6/UczY41dZhMqCA41SRwHHxj2ciGFqolRmQOnLgpkDNyUpoVBWRyAP7YL+zdfTVxHPVA357TKR0MgbYB3Lp1xZACJEhpdwuhEiXKvfrT95Tvv2vg/uCyizJkdMoQCkFwY7O2wySo6t5xC/JQMnOBmlvJXoI9mfROS7LNMHe0OlhHjwiIv/yV5lBvPKzF/a6vu6qjq33NAnExsbKWbNmqRcdEVEYyM/PN0opp7ib55dk4PLYJwH2fvBdJSjNzhOkm/5klMdM6QAwY8YM5OUNqxEvEVHYEkJUDDTPrwXIyrO8bHdVEqW9u4McAJNdG40p8/dKKZOklElTprhNbERENEz+rk2UOsC3/nVOIyA1YPjN9YmIaBj8lgyUWkKOYdtSld+O5tmO/jgA+5BwfAZERORHfikzUC7+GUKI7VDG6lRmHYO9W+QCpdfJRthHOWJjJiI/6+7uRnV1NSwWi9ah0AhFRkZi2rRpGDNmjMfv8VcBcg6AiW6mJzr9zbYFRBqqrq7GhAkTMGvWLDiPMUDBRUqJhoYGVFdXIy4uzuP3sQUyEQEALBYLJk+ezEQQ5IQQmDx5std3eEwGRNRrOImguaZZlW1nZWVh/frBekEJHjk5OTCZvO8OyWAweLwPTCYTCgrcP1EfznFkMiCiYas4WYHd03ej8lTliNe1bl3gjDCalTX87owcSUCv92zICudtxcfHY9++fR69T6/Xw2BQr1cYJgMiGhab1YYjm48AEji8+TBsVpvWIanCZDIhOzt72O/fu3cvUlPdDbo39LYMBoNXF/iEhIQRJS5n7MKaiIYl9//lorWuFQDQWtuK3N/kYvHji0e0ToPB0PuIRa/X915UHRe8xsZGpKenIysrCwcOHMD9998Pg8GA+Ph4bN++Hfn5+cjJycGBAwdw6NAh7Nq1CwkJCTAYDEhPT+/zOj4+HhkZGdi+fTsKCgqQmpqKhIQE5OXlIS8vD1lZWb13K87vmzRpUp9tb9u2rc//UFZW1ue183uTkpLQ2NjYZ77rtrZv347s7Gzk5OT0iS8+Ph56vR6HDh1CRkYG9Hp97/+gyl2VGiPk+PsnMTFREpG6vvnmG4+XbbnUIn86/qfyeTzf+/PT8T+VLbUtI4ph3bp1vX+npqZKKaXMz8+XGRkZUkopExISeufHx8e7fW9+fr6UUso9e/bIQ4cOSSmlzMjIkNu2bZPZ2dlSSim3bdvWZ31lZWW901zjcPc+1207S09PH/C9zq/Lysr6bcv1tXN8jul79uzpXYe79zu4O54A8uQA11U+JiIir5179xxkT98ej2WPxNfvfq3aNhzPxBMSEpCQkICcnBxMmnRl2N+EhL5DFt9///3Iysrq/eadn5+P+Hh7Zwbbtm2DwWDoLXSdPXs2APRZ30Dcvc91256+96mnnkJ2djYSExM9KmB2js/xv7jG7Mn/4AkmAyLy2vyN8yFG9a2xIkYJzPvneSNar/MF0mQyIT4+Hnv37oXBYOh9ZDTQRXTdunXYs2dP70Vz9uzZvc/fTSYTFi1ahPj4eCQkJGDDhg0Ahi7kLSgocPs+T7m+1/Hox/E4y3VbrjwthFYDywyIyGtR10RhxQsrcPwnx9Hd1o0x48dgxYsrEHVN1IjWm5CQgIKCAhgMBmzfbh8DKz4+HgUFBSgoKOi9Q9Dr9X2mOaxcubLP3YBjHY7Xu3bt6vPM3rGOnJwcFBQU9JZVxMfHIysrC6mpqYO+b6g7BNf3GgyG3vIPx3N+52051usoSHaNz2Aw4MCBA5g0aZLHhdSe8ttIZ2pKSkqS7MKaSF3nz5/HjTfe6PHyNqsNv7nhN2gqa8LE2ROxtXArdKO1edjgnCjUvkh6a+/evUhPTx96QRU4Eoa7AmR3x1MIkS+lTHK3Lj4mIqJh0Y3WYc3v1wACWLt/rWaJALA38nJ8u9bahg0bVKvuOZSBEsFw8DEREQ3bzGUz8UTVE4ieGq1pHK7VO7Wk1+uh1+t7Hzn5iqN6rFqYDIhoRLROBIHIH3coaiYCgI+JiIgITAZE5CQYK5RQf8M5jkwGRATAPiBKQ0MDE0KQk8p4BpGRkV69j2UGRAQAmDZtGqqrq3H58mWtQ6ERcox05g0mAyICAIwZM8arkbEotPAxERERMRkQEYWDlpaWQefzMRERUYhrbGzEpUuXBl2GyYCIKERJKVFfXw+j0ThkLTEmAyKiECSlRE1NDcxms0fVhZkMiIhCjM1mQ0VFBdrb2z1uN8JkQEQUQqxWKy5cuIDOzk6vGhAyGRARhYiuri6Ul5eju7vb6/cyGRARhQCLxYLy8nL09PQM6/1MBkREQa61tRWVlZWw2WzDXgeTARFREDOZTKipqRlxB4NMBkPIrc5F5leZKDeVI04fh7SFaUielqx1WEREMBqNqKurU6WnWXZHMYjc6lzsOLEDxnYjpk6YCmO7ETtO7EBuda7WoRFRGJNS4tKlS6olAoDJYFCZX2UiZmwM9JF6VOdXI6I9AjFjY5D5VabWoRFRmJJSoqqqCo2NjaqOPcFkMIhyUzmix0bD0mzBsV8ew0c/+wjjMA7lpnKtQyOiMNTT04Py8nK0tLSoPggRk8Eg4vRxaO5sRmR0JJY/vhz1xfU4/spxzIqZpXVoRBRmrFYrysrK0NHR4ZPR6JgMBpG2MA3mTjNMFhNmLp6J+Rvno/LTStg+GX71LSIib3V2dqK0tBRdXV0+G5aUyWAQydOSsXP5TsSOi0VNSw2W/vNS3Pm9O7HnV3uQl5endXhEFAba29tRVlYGq9Xq0+2waukQkqcl96lK2rmyE3+8749ITEzUMCoiCgctLS2orKz02d2AM94ZeGns2LHYuHEjhBD45ptvUFNTo3VIRBSCGhsb/ZYIACaDYbNYLFi5ciXWrFmD9vZ2rcMhohAhpURdXR0uXbrkt0QAMBkMW2RkJH7729+ioKAAaWlpI+oThIgIsCeCixcvejQymdqYDEbg7rvvxi9/+UtkZWXh+eef1zocIgpijgFpTCaT3xMBwALkEfvhD3+Ib775Bi+88AJuueUWrF69WuuQKEyw36zQ4WhM5u2ANGrincEICSHw2muvISMjA7fddpvW4VCYYL9ZoaO7uxulpaWwWCyaJQKAyUAVERER2LZtG8aOHYuGhgZUV1f3zmuuadYwMgpVmV9lAvWArdYGndBBH6lnv1lByGKxoLS0dFgjk6mNj4lUZLPZcMcdd8BqteLUqVNo+LIB+2/dj3/5679gxtIZWodHIUBKiZycHBx8+iCMZ42YmTwTdzx7BwAgemw0+80KEnV1dTAajRBCBEzlE94ZqEin0+HFF1/EuXPn8MADD+C9tPcACRzefBg2a2AccApuO3bswKpVq9Be1Y55/zQPt/77rb3zmjubEaeP0zA68kRVVRUuX74MKWXAJAKAyUB1q1evxu7du/G///u/eK/6PQBAa20rcn/DZ7nkvcbGRvzsZz9Dfn4+AOCBBx7A7373Oxz94iim/uNUWCIssEkbTBYTzJ1mpC1M0zhiGojNZoPBYIDZbNY6FLf4mMgH/mX9v+DNJ9/EX7v/ih70YGHbQuQ8k4N5/zwPUddEaR0eBYDmmmZET40ecH5paSl2796N/fv3o729HUIIJCYm4oYbbsANN9wAANg5dmef2kRPLnmStYkClM1mQ0lJSUCUDQyEyUBFFy9exAcffIC3fv0WvrJ+BQD4DJ/hU3yKiPYIHFpyCMvvXo61a9ey5lEYqzhZMWhZ0r/+679i//79GDNmDB544AH88Ic/xLx58/ot59pvFgUmq9WK4uLigHok5A6TwQjYbDZYrVZERETgyJEjWLt2LQBgxrQZSBqdhNnW2RiP8ahHPepG18EWa8Prr7+OiRMn4rbbboPZbMZdd92FxMTE3p8bbrgBo0fzsIQqm9WGI5uP9JYlbS3cChts+POf/4y7774bOp0O119/PZ555hk8+uijuPbaa7UOmUagq6sLxcXFWofhEaFlvdbhSkpKklp1Id3e3o6cnBx88MEH+OCDD/DUU0/hscceg9FoxOuvv47vfve7+Pa3v43P/+tzHP/JcXS3dWPM+DFY8eIKLH58MXp6emCxWDB+/HiUlZVh8+bNKCgo6O3f6KqrrsLbb7+N++67D01NTaiursaNN97IBBEiPtv9We950TOuB+aVZhz+8jAqKytx9OhRrFq1SusQSSXt7e0wGAxah9HH/Pnz86WUSe7m8QrjoZ6eHtx7773Izs6GxWLBhAkTsHr1atx4440AgNjYWPz4xz/uXT75sWTkvpqLprImRF0bheSt9tv5UaNGYfz48QCA2bNn4+TJk+jp6UFRURHy8/ORn5/f+0z4L3/5CzZu3IirrroKCxcu7L17uPfee6HX6/28B2ikWmtbcfTZo6hor8B5nMeX7V+i80gnbll8C379618jNTVV6xBJJc3NzaisrNQ6DK/wzsANm82GL774Au+//z6amprw6quvAgA2btyIq6++GnfffTeWLVuGiIiIQdcz1LPhoVy8eBHHjx/vTRJffvklWltbUVlZienTp+PgwYP45JNPepPE3LlzMWbMmGH9z+Qbf/vb33D48GGcO3cOn5/4HJV1lbDBBh10mIZpuCviLqRlpGHx44u1DpVU0tjYiIsXL2odhluD3Rn4LRkIIdKVP2dLKbe7mb8OgAlAgpRy12Dr8lUy+Otf/4r9+/fjz3/+M+rr6zFq1CjcdtttOHr0KHS64dXCHarWiDccNRKuv/56CCHw4osvYteuXWhpaQFgH2shMTERJ0+ehE6nQ11dHSZNmsQE4WPNzc34+uuvce7cOZw9exZnz57Fq6++igULFuDNN99EWloa4uLiMHfOXLQfa0dUdxRykYt61GNtxFq8Wfkma5mFiNraWhiNRq3DGJDmj4mEEKkAcqSUBiHEISFEqpQyx2l+AgBIKXOEEPFCiAQpZYGqQeTmApmZQHk5EBcHpKXhwtVX44MPPsCmTZsQHR2N06dP409/+hPuvPNO3H333Vi9ejUmTZo0os2qlQgAe6O2OXPm9L5+9tln8fTTT6O0tBR5eXnIz89HU1NTb+J64IEHcOrUKSxYsKD37mHx4sV9aqa42S1IDvcKKgPslJ6eHpSVleHs2bOYN28ebrjhBpw8eRLf+c53et8aHR2N+fPno62tDQDwve99D/feey8mTJgA4EqZwby2eTg06hDe63oPP3ruv6DTPYMLFwSPQRCrqqoK2DYEnvDLnYHjrkBKuVcIkQGgTEq512l+BoBsJRmkYoi7A6/vDHJzgR07gJgY5FosOFxcjPerq/F1aysA4P3338d3v/tdtLW1ISIiImS+SR85cgSnTp1Cfn4+CgoKYDabsXLlSnz00UcAgPT0/8Snn34L06cvwfTp89DcDJjNwM6dYXwxcjpXEB0Ns9GIH37xBc5GR+NvFy6go6MDAPDTn/4UTz/9NBobG/Haa69hwYIFWLBgAWbMmAEhxICrt1lt+M0Nv0FTWRMmxE9A9vVf4i9/eRsLF/4KixY9yWMQhGw2G8rLy3vPjUCm+Z2B84UfQAKAAy6L6AE0Or2erGoAmZn2D7dej58dPYoPKivxnSlT8NKCBfju73+P66+/HgB6C3ZDxZo1a7BmzRoAV1o/OmotdXV14a23/h8slga0ta3BzJmH4SiTzswM4wuR07kCAONjY5Hd1ITrhcAjjzyCBQsWYP78+Zg7dy4AYNKkSXjmmWc8Xr1utA5rfr8G+2/dj3WZ61D6zhNYsGAhFi5Mg04HHoMgY7PZUFxc7PPB6v3Br7WJlMdB2cN5BKTcXaQDwIwZXhbGlpcDU6cCAHYvWYL9y5dDP2YMUFMDKIkg1Ol0Olx33XW9ryMiIrB8+WVERxsgZWfv9Oho++4KW07nCgCM1ulQuXGj/Vx5+WVVNjFz2Uw8UfUEoqdG48LPgOTkH8G5SCrsj0GQCJbGZJ7yd99EqQM8/jEBcDyc1wNocF1ASrlXSpkkpUyaMmWKd1uNiwOa7V1Jx0VHQz92rP11XHh36hUfLwDMxsSJc3unhf1ucTpXevlgpzjKkvy0OVJZV1cXCgsLQyYRAH5MBkKIdEciUMoFIIRwVJY/ACBe+TseQE7/NYxAWpr9QazJBNhs9t9ms316GONuccPPO4XHIPi0t7cHTatib/glGSgX/wwhRJkQoslp1jEAcDw2UpYzqV6TKDnZXiIXG2u/3Y+NZQkduFvc8vNO4TEILs3NzQHXqlgtbHRGROSBQG5M5inNaxMREQWzQG9MpgYmAyKiQVRWVqLZtZQ/BDEZEBG5EUyNydTAZEBE5CKUGpN5ismAiMiJ1WpFUVERgrFyzUgwGRARKYJpZDK1MRkQEQFoa2tDeRj3A8JkQERhz2w2o6qqSuswNMVkQBTsOCjFiDQ0NODSpUtah6E5f3dUR0Rqcoy/YDTae1s1Gu2vc3O1jiwo1NbWMhEomAyIgpnT+AvvGAwo0+nsrzMztY4s4FVWVoZ8q2JvMBkQBbPyciA6GkaLBT84dQrf//hjWKOiOCDCIGw2G8rKysKiVbE3mAyIgpkyIEJsZCReW7oUZ+rqkF1SwgERBuBoTBYurYq9wQJkomCWlmYvIwDwz/HxuGHUKNys03FABDfCtTGZp3hnQBTMXAZEuPnv/x7YuRN5Oh1aWlq0ji5gdHZ2orCwkIlgELwzIAp2ycl9qpLW1NQgJT4eDz74IN544w0NAwsM4d6YzFO8MyAKUrm5wKOPAnfdZf/tqE06depUPPnkk/jd736HP/3pT9oGqTGz2cxE4CEmA6IgNFTzgueffx6JiYnYsmVL0I/ONVwNDQ1h36rYG0wGREHIqXkBdDr7b+fmBREREfjDH/6Ajo4ObN68GTabTduA/YyNybzHZEAUhJTmBQAAKSWKi9/EVVe19mleMGfOHLzyyiv4zne+E1YFpxUVFWxMNgwsQCYKQnFx9kdDej1gNBbgxIk0REQ8gZtuegIm01bo9XoAwJYtWzSO1H9sNhsMBgMsFovWoQQl3hkQBaG0NMBsBkwmYPLkRNx++xnExNyC3NyfYObMmXjmmWf6VC396KOPsGrVqt4LZXNNaLW+dTQmYyIYPiYDoiDk0rwAc+YsxgcfvI+CggKsWrUKv//97zF6tP3G32q1wmq1Ijs7G8888wwqTlZg9/TdqDxVqfF/oQ6r1Yrz58+H1RCVviCC8VliUlKSzMvL0zoMooDV0tKCCRMmwGq1YsGCBVi+fDlaW1vx1ltv4QfX/gBX116NibMnYmvhVuhGB+93ws7OTpSUlGgdRtCYP39+vpQyyd284D0LiGhAEyZMAGBvcPWd73wHb7zxBt59912MjxyPzNpMtKMdrbWtyP1N8HZ13dbWxkSgIiYDohAWExOD3/72tygrK0P65nR0WjrRhjb8CX9CR1sHjj97HK11rVqH6TU2JlMfkwFRGJg2bRoenPsgfjT2R1iABShFKd7G2+iwduDrd7/WOjyvGI1GNibzASYDojAxf+N8TBg9AffhPtyLe1GJSrze/TpiV8RqHZrHLl26hNraWq3DCElMBkRhIuqaKKx4YQXGjB+DhViITWM3oXlMM1LvSUVRUZHW4Q2poqICDQ0NWocRspgMiMJI8mPJiLo2CgBw87SbceKTE+jo6MCZM2c0jmxgNpsNpaWl7JLbx5gMiMKIbrQOa36/BhDA2v1rsegfFqGoqAibN28GgIDrxoGNyfyHyYAozMxcNhNPVD2BGUtnAEBv1xX5+fmIi4vD66+/rmV4vdiYzL+YDIjCUPTU6H7T5syZg5SUFGzZsgU7d+7UtHM7jkzmf0wGRAQAiIqKwvvvv49NmzbhueeewyOPPKLJt3I2JtMGey0lol5jxozB/v37MXXqVPz85z9HUlKSX3s+NZvNbPGLrDoAACAASURBVEOgESYDIupDCIGf/exnSElJwerVq/22XaPRyDYEGuJjIiJy6x//8R8xatQoVFdX44477kBlpe96Oa2pqWEi0BiTARENqqqqCp9//jmWLFmCc+fOqb7+CxcuoKmpSfX1kneYDIhoUEuWLMHJkychhMDSpUtx4sQJVdZrs9lQUlKC1tbg6ygvFDEZENGQ5s+fjzNnzmDq1Km44447cOzYsRGtz9GYrLOzU6UIaaSYDIjII9OnT8epU6ewadMmJCW5HR/FI2xMFpiYDIjIY5MmTcK+ffsQExODjo4OvPbaa141DLNYLGxMFqCYDIhoWN5++2384Ac/wObNm9Hd3T3k8m1tbSgtLfVDZDQcbGdARMPy0EMPoa6uDj/5yU9QV1eHrKwsREVFuV3WZDKhurrazxGSN3hnQETDIoTAs88+i3379iE7Oxu33XYb6uvr+y13+fJlJoIgwGRARCPy0EMP4fDhw6irq+vXXqCmpgZ1dXUaRUbe4GMiIhqxu+++G6tWrcLYsWMhpcSFCxcghGAbgiDCOwMiUsXYsWMBALt370ZGRgYTQZDhnQERqcZms2Hx4sVITU3VOhTyEpMBEanCarWiqKgI0dH9B86hwMdkQEQjZrFY2IYgyDEZENGItLW1oby8XOswaIT8WoAshEgYZF6G8jvdfxER0UiYTCYmghDht2QghEgFsG+QRdKFEGUADH4KiYhGoL6+no3JQojfHhNJKXOEEI2DLLJeSpnjq+3n5gKZmUB5ORAXB6SlAcnJvtoaUWirrq6GyWTSOgxSUSC1M0gQQqQKIbapveLcXGDHDsBoBKZOtf/escM+nYi8U15ezkQQggImGUgpdyl3BpOVR0qqycwEYmIAvR7Q6ey/Y2Ls04nIM46Rydra2rQOhXwgIJKBEGKdEGKd8rIBQLybZdKFEHlCiLzLly97tf7yciA6GrDZelBXdwYmUxGio+3TiWhoNpsNRUVFHJkshGmaDIQQeuVPAwBHecFsAHmuy0op90opk6SUSVOmTPFqO3FxQHMzIKUVH3ywAt988xqam+3TiWhw3d3dOH/+PHp6erQOhXzIn7WJ1gFIcroDAIBjACClLACwQZlXprxWTVoaYDYDLS1jcc01t6C6+hOYzfbpRDQwi8WCoqIijkwWBvyWDKSUWVLKiVLKLKdpiU5/71WW2aX2tpOTgZ07gdhYYNy4W2EyfYUf/aiJtYmIBtHa2spWxWEkIMoM/CE5GXj1VeCNN5YDkGhvP6l1SEQBy2Qy4cKFC1qHQX4UNsnAITk5GWPHjsUnn3yidShEAYmNycJT2PVNFBkZiTNnzuCGG27QOhSigMPGZOEr7JIBANx8881ah0AUcMrLy9mGIIyF3WMiAGhqasJTTz2FTz/9VOtQiDTHxmQEhOmdQWRkJF5++WVYrVakpKRoHQ6RZhyNydiGgMIyGVx11VVYvHgxC5EprHV3d6O4uJhtCAhAmD4mAoBbb70V+fn5aG5u1joUIr9jYzJyFbbJYPny5bDZbCw3oLDDxmTkTlg+JgKAxYsX4+qrr0Ztba3WoRD5jclkYhsCcitsk8G4ceNQW1sLIYTWoRD5RX19Perr67UOgwJU2CYDAEwEFDbYmIyGMuIyAyHErJGHoY3CwkLMnTsXR48e1ToUIp/hyGTkCa+TgRAi2vkHwHYfxOUX06dPR0lJCU6cOKF1KESqs9lsKC4uZmMy8ojHyUAIsUUIYQPQBKAcwAUAJgDpvgnN98aPH49FixaxvQGFnJ6eHhQWFqKrq0vrUChIeHNnMFtKqZNSjpJSTpZSTpJS6gD80lfB+cOtt96KL774gt+eKGR0dXWhsLAQNptN61AoiHiTDLIHmP5zNQLRyvLly2G1WnH69GmtQyEaMYvFwlbFNCzeJAM5QGHxFnVC0UZKSgoefPBB6PX6oRcmCmAtLS1sTEbDNmDVUiHEFgDO4xULAIlCiEbYB7AHgMkAbgbwK59F6GNRUVF46623tA6DaESamppQU1OjdRgUxAZrZzAbQA6AwQanFwC2qRqRBqSUKCsrw7Rp0xAZGal1OEReYWMyUsNgyeCAlPLLoVYghGhQMR5N5OTkYNWqVcjJycHtt9+udThEHquqqoLZbNY6DAoBA5YZDJUIhBA3ebJcMPiHf/gH6HQ6tjegoFJeXs5EQKrxpp3BQy6TzEKI291MDzrR0dFITExkewMKCmxMRr7gTW2iPtVtpJTlUspjKsejmVtvvRWff/45Ojo6tA6FaEBsTEa+MmgyUFod/1YIcQDAw0KIAy4/XwBI9E+ovrV8+XJ0dXXhs88+0zoUIre6urpw/vx5NiYjnxi011Ip5T4A+4QQvwXwJYCDLosYQqHMAACWLVuGgwcP4qabbtI6FKJ+LBYL2xCQT3nahfV2AKlSyj/6MhgtRUdHY/369VqHQdRPS0sLKioqtA6DQpxHZQZSSrO7RCCE+J4QYoX6YWmjoqICL7/8MiwWi9ahEAEAGhsbmQjIL4bThfUsxw+AfAAh83X67NmzePLJJ/H555+juaZZ63AozNXV1eHixYtah0FhwpuqpTcrXVHkKz8FAMqUv0PCsmXLIITA4czD2D19NypPVWodEoWpqqoqXL58WeswKIx4c2fwMIBEKeVkAOlKF9ajYB/bICTo9XrctPAm/PndPwMSOLz5MGxW1txQTW4u8OijwF132X/n5modUUAyGAxsTEZ+51UX1lJKx4V/otP0kOor9/ro61FuKYcVVrTWtiL3N7xgqSI3F9ixAzAagalT7b937GBCcOJoTNbe3q51KBSGvCozEELcp/xZ7tTyOEHdkLTTWtsKfAZYYUU+8tHd1o3jzx5Ha12r1qEFv8xMICYG0OvRYrWic8IE++vMTK0jCwhWq5WNyUhT3iSDAgBPCyGilZbHG5RO6mb7JjT/O/fuObT12Jv4/x/+D4dxGB3WDnz97tcaRxYCysuB6Gh8aTRiUmYm/lJVBURH26eHOY5MRoHA03YGUB4RJTm9XiWEuDlUGp0BwPyN83H2R2cxGZNxI27Ep/gU5V3lSPq7pKHfTIOLiwOMRnx74kT8z+23Y/m3vgU0N9unh7GOjg6UlZVpHQaR14+JooUQ9zm1LQip8oJLzZdQaatE0pgkpCIVD0c+jIlXT8Taf1qLt99+W+vwgltaGmA2I6KlBd+bNQsx7e2A2WyfHqaam5uZCChgeFO19HbYHxX9E66UE5Q7lSMEvTfffBM6nQ4p30oBANw49Ub8rfRveOGFF3DPPfcAADuyG67kZGDnTiA2FnUGAzIqK3HhkUfs08NQQ0MDKitZdZkChzd3BglSyuuklBtg76cIUkoz7KOdBT0pJd566y2sXLkSm97aBAhg7f61GBc1Ds8++yyio6PR2dmJ5ORkbN26Fa2tLFT2WnIy8OqraN27Fz/+7DO8X1WldUSaqKurw6VLl7QOg6gPb5LBQPezIfGoSAiBo0eP4he/+AVmLpuJJ6qewIylM/osI6XEypUr8d///d9YsGABxz8YptmzZ+O6667D0aNHtQ7F7yorK9mYjAKSN8kgWQgxU/lbAvauKQCEzH3+nDlzenstjZ4a3W9+ZGQkXn75ZXzyySfQ6XRYvnw5/uM//oOPjobhjjvuwMcff4zOzk6tQ/ELm82GsrIyNDezmxMKTN4kg58DOCaEKAGQoYxlcAjAz3wSmR+1trbigQcewFdffeXR8suWLcNXX32Fxx57DJ9++ilGj/a4UhYpVq9ejfb2dpw6dUrrUHzOZrOhpKSEXxoooHmcDJSeS68D8BTs4xr8WEq5SEoZ9F91/vjHP+Kdd95BS0uLx+8ZP348fv3rX+PUqVMYM2YMmpqa8Nxzz/ED76Hly5cjKioKxcXFWofiU47GZN3d3VqHQjQor7/SSimzfBGIljIzMzF79mykpKR4/d7IyEgAwPvvv4+dO3fiwIED2L9/P3TTdMj8KhPlpnLE6eOQtjANydNC5okacqtzR/T/RUVFwWg0YuzYsT6MUltdXV0hn+wodAx5Z6B0V31ACFEihOgRQjQorxf6I0Bfq6iowMcff4y0tDQIMfyKUZs2bcJHH32E9vZ2pKSk4J/+7Z9QZ6rD1AlTYWw3YseJHcitDo1+eHKrc7HjxA4Y240j+v9CORF0dHQwEVBQGXIMZAAG2KuP7gXwCIBfAGgC8LEQ4kmfR+hjb731FgDg+9///ojXtXLlSnz99deYkzoH5R+U4/w756ETOugj9YgZG4PMr0KjH57MrzIRMzYGER0RaKtvQ8zYmGH9f0ajESkpKXjzzTd9FKk22JiMgtGAj4mURmbrpZQDJYxHhBAHhRArpJTHfROe7+n1ejz44IOYNWuWKuuLjo7GrE2zMGPJDMTOir0yfWw0yk2h0Q9PuakcUydMxZeHv0T+O/kYN2kcFty3AC3LWyClRFdXl0ff+idPngyDwYAPP/wQa29f67YGV7BpaGhgGwIKSoPdGayTUq4a7M1KA7SgHuls69atvXcHaonTxyHm2zEYP3l877TmzmbE6UOjH544fRyaO5sxe9lspDycgm/N/xYw3j7dYDAgOjoaS5YswQ9/+EMcOnQINTU1btcjhMAdd9yBo/93FC9NeynoBxNiYzIKZoMlA09H1wjaUTjOnTsHq9Wq+nrTFqbB3GmGyWKCTdpgsphg7jQjbWFo9MPj+P8wGbjxrhuR8GgCYpJikLYwDREREXj88ccxevRovPbaa9iwYQOmTZuGI0eOAAAuXryIL774orer5pWpK2FqNuEiLgb1YEJsTEbBbrBk0ODhOjxdLqB0dHRg6dKl+Pd//3fV1508LRk7l+9E7LhY1LTUIHZcLHYu3xkytYkG+/+mT5+OjIwMnDx5EmazGbm5ufiv//ovLF68GABw8OBBJCcnIyYmBsuWLcPh3x4GABShKCgHE2JjMgoVg1Ut9bSbiaDsjuLw4cNobm7G+vW+ecqVPC05ZC7+7njy/0VERGDRokVYtGhR77SNGzdi2rRpOH36NE799RTey38PAFCIQsxrm4fjzx7HvH+eh6hronwavxocI5P54u6SyN+ElO6v5UoL4wMATIO8Xw/gfinlokGWUV1SUpLMy8sb0TpWr16NwsJCGAwG6HRe9eRNKjmz+wyOPnUU5zvP40N8CCuseCDiATyU8RAWP75Y6/AGZbVaUVxczAFpKKjMnz8/X0rpdoCWwe4MEmEf63ioZBB0paI1NTXIzs7G008/zUSgofkb5+Pjn3yMuZ1z8Xf4O7yNt5HZlYnbom/DYgRuMmBjMgpFgyWDXVLKHw+1AiHEL1SMxy/++Mc/wmazYdOmTVqHEtaironCihdW4PhPjmNi20Q8Mu4RHJlyBN9/6PsYEzUGGzZs0DrEftrb22EwGLQOg0h1g30t3uPhOjxdDkKIhEHmrRNCpAohtnm6vuHaunUrcnNz8fd///e+3hQNIfmxZERday8fuPrvrsaZs2fwb//2b7j11ls1jqy/5uZmJgIKWQMmA2XM4yF5upwQIhXAvgHmJSjrygFgGixpqEGn0/Up1CTt6EbrsOb3a3oHE4qKjsKrr76Ka665Bt3d3XjllVcCopM3jkxGoc5vD8yVC33jALPvx5WyCQOAVNUDyM0FHn0UO667Dk8lJNhfU0AYaDChDz/8EI8//jjWrFmDtrY2jaIDLl26xMZkFPICpfRUj76JYrKqa8/NBXbsQGddHX5TXY0LRiOwYwcTQgBx1xXFmjVrsGfPHhw9ehQrVqzQpFFXRUUFGhqCsikNkVcCJRn4VmYmEBODEiEQOWoU0ubNA2Ji7NMpoKWnp+O9997D2bNnkZKS4rdn9o7GZN6McUEUzAIlGZgATFL+1sNNq2YhRLoQIk8Ikef1N8TyciA6GvMmTULlxo1YOXUqEB1tn04B75577sGxY8fQ1dUFs9n3vZ84GpNxoCIKJ5omAyGEXvnzAIB45e94ADmuy0op90opk6SUSVOmTPFuQ3FxgNJdwGidDqN0OvvruKBrIhG2brnlFhQXF+Pmm28GAJSUlPhkO46RydiqmMKN35KBEGIdgCTlt8MxAJBSFijLpAIwOV6rJi0NMJsBkwmw2ey/zWb7dAoaERERAIA333wTc+fOxR/+8AdV19/V1YXCwkK2Kqaw5M/aRFlSyonOw2ZKKROd/t4rpcyRUu5VfePJycDOnUBsLFBTY/+9c6d9OgWde+65BykpKXjwwQfx0ksvqbLO9vZ2tiqmsOb1GMhBKzmZF/8Qodfr8Ze//AWbNm3Cj370I9TU1OBXv/rVsLsWaW5uZhsCCnvhkwwopERGRuJ//ud/cO2112L37t247777sHTpUq/XYzQaUVtb64MIiYJLoNQmIvKaTqfDK6+8gi+++KI3EXjzvP/SpUtMBEQKJgMKakIIJCXZe+Q9duwYlixZ4lFrYTYmI+qLyYBCRk9PD/72t7/hlltuQVFRkdtlbDYbSktL2ZiMyAWTQZjLrc7Fo39+FHf94S48+udHkVsdvF10rFq1CidOnEBbWxtSUlLw2Wef9ZnvaExmsVg0ipAocDEZhLHc6lzsOLEDxnYjpk6YCmO7ETtO7AjqhJCUlITTp09Dr9djxYoV+OabbwDYG5OdP3+ejcmIBsBkEMYyv8pEzNgYxIyNQVdLF/SResSMjUHmV8HdZ9N1112H06dP4+mnn8aNN97Y25hsoCFeiYjJIKyVm8oRPTYa+e/k4/TrpwEA0WOjUW4K/j6brr76ajz77LNsTEbkIbYzCGNx+jgY242IuyUOUVPso42ZLWbE6UOjzyaz2YyqqiqtwyAKCrwzCGNpC9Ng7jRj1N+NwpjxY2BsNuL4C8cRVxf8ycBoNDIREHmBySCMJU9Lxs7lOxE7LhY1LTXQ6/S4ZtQ12L5lO/btcztCaVC4ePEiG5MReYmPicJc8rRkJE+70mdT2z1tWL9+PdLT03Hx4kXs2LEDQggNI/TOhQsX0NraqnUYREGHdwbUx/jx43HkyBFs3rwZzz//PJ577jmtQ/KIzWZDSUkJEwHRMPHOgPoZM2YMfve73+G6667DunXrhn6Dxmw2G4qKitDT06N1KERBi3cG5JYQAs888wzmzJkDKSVeeumlgOzLx9GYjImAaGSYDGhI58+fxzPPPIOlS5eioqJC63B6dXZ2sjEZkUqYDGhIc+fORXZ2Nmpra7FkyRKcPXtW65DQ1tbms3GQicIRk0GIyM0FHn0UuOsu++9clbsXWrZsGU6ePAmdTodly5bh448/VncDXjCZTCgvD/5W0kSBhMkgBOTmAjt2AEYjMHWq/feOHeonhHnz5uHMmTOIi4vTrOdPo9GI6upqTbZNFMqYDEJAZiYQEwOMGlWBM2ceQ0yMREyMfbrapk+fjvz8fNx5550AgHPnzvWZ31zTrP5GFTU1NWxMRuQjTAYhoLwciI4GLl78GJMmzYcQAtHR9um+MGrUKADAp59+iptuugnbtm2DzWZDxckK7J6+G5Wn1B9cvry8HE1NTaqvl4js2M4gBMTF2R8NzZmzuXdaSckxzJx5A4CpPtvu4sWL8fDDD+OXv/wlLtZcRMKZBEAChzcfxtbCrdCNHvl3DZvNhrKyMnR2dqoQMRENhHcGISAtDTCbAZMJsNkAo7EdZ848gKNHl+D8+fM+2+6oUaPw6quv4sUXX8Qf3vkDXqt8DZ3oRGttK3J/M/ICC5vNhsLCQiYCIj9gMggBycnAzp1AbCxQUwNce+04vPHGXyBEN1JSUvDpp5/6bNtCCPzH//cfuDfiXpT1lCETmahuq8bxZ4+jtW74XUNYrVZ88803sNlsKkZLRANhMggRycnAq68CH35o//3ggzfh9OnTiI2NRWpqKg4fPuyzbZ979xwSdYlYgzW4iIvYgz0o7irG1+9+Paz1ORqTEZH/MBmEsLi4OJw+fRoLFy5ETk6Oz7Yzf+N8iFECN+Em3IN7YIMNmd2Z+Ep85fW6Wltb2ZiMSANMBiEuNjYWx48fxyuvvAIAqKurU737hqhrorDihRUYM34MEpCAzWM3Y5RuFB55/BHs3LnT4/WYTCZcuHBB1diIyDNMBmFg3LhxGDVqFBobG7Fo0SJs2bIFVqtV1W0kP5aMqGvtQ2fePO1m5H2Rh6uuusrj6qD19fVsTEakISaDMDJx4kRs3rwZb7zxBu699160t7ertm7daB3W/H4NIIC1+9fipoSb0NjYiN27dwMAjhw5MmBhcE1NDerr61WLhYi8x2QQRoQQ2LlzJ1577TV8+OGHuP3222E0GlVb/8xlM/FE1ROYsXQGACAyMhIAcPDgQaxduxY33XQTurq6+ryHjcmIAgOTQRh65JFHkJWVhS+//BLbtm1Tdd3RU6P7TbvvvvuQmJiIc+fOIT4+HiaTqXdksra2NlW3T0TDw2QQpu69916cOHECL730ktv5avYxNHr0aOTl5eG73/0uampqkJCQwMZkRAGGySCMLV68GBMnToTFYsHdd9+NY8eOAYDP+hh6//33sXXrVmzfvp2NyYgCDJMB9Y4PcOedd+KdP7yDI5uP9PYxZLOqd9G2WCx4+OGHkZKSoto6iUgdTAaEa6+9FidPnsTixYvxwIMP4Gj1UQBQrY8hAGhpaUFpaakq6yIi9TEZEAB7tdM/vfknfHvUt/Fh14c4iqOwtFlG3McQADQ1NQXU2MlE1B+TAfUqea8E94++H4uwCJ/jc/wav0ZHd8ew+xgC7I3JampqVIySiHyByYB6zd84H6NGj8KduBOzMAtmmPFS10uYeOvEYa2vurqajcmIggSTAfVy9DE0dvxYbMImJI5KRAc6cHPKzTh79qxX6zIYDDCZTD6KlIjUxmRAfTj3MbRp1iY8/9zz6OjowF133eXR+202G4qKilTt6oKIfI/DXlIfjj6G9t+6H2v3r8WMpTMQFx+HhISEId/rGJmMbQiIgg/vDKgf1z6GNm3ahHnz5qG9vR3Tpk3Df/7nf/Z7T3d3N0cmIwpiTAbklrs+hi5duoTGxkY8//zzeOihh3qnWywWFBUV+TM8IlIZkwF5bPbs2SgtLcWkSZPwxhtvYOXKlTCbzWxMRhQCmAzIK9/61rdQUVGBWbNmoaamho3JiEIEC5DJa1FRUTh58iTq6+uh0/H7BFEoYDIgr1VVVcFsNiMiIkLrUIhIJUwG5BWDwcA2BEQhiMmAPOIYmay7u1vrUIjIB5gMaEg9PT0oKipiGwKiEMZkQIPq7u5mGwKiMMBkQAPq6OhAWVmZ1mEQkR8wGZBbLS0tbENAFEb8VklcCLFOCJEqhNg2wPwM5Xe6v2Ii9xoaGpgIiMKMX5KBECIBAKSUOQBMjtcu0oUQZQAM/oiJ3KutrcWlS5e0DoOI/Mxfdwb3A3CMdGIAkOpmmfVSytlKwiANVFRUwGg0ah0GEWnAX2UGegCNTq8nu1kmQQgBAAlSyl1+iYp6lZaWwmKxaB0GEWkkYDqWkVLuUu4KJgsh+t05CCHShRB5Qoi8y5cvaxBhaHIMSMNEQBTe/JUMTAAmKX/rATQ4z1QKl9cpLxsAxLuuQEq5V0qZJKVMmjJlik+DDRc9PT04f/48rFar1qEQkcb8lQwO4MoFPh5ADgAIIfTKNINjGoDZAPL8FFfY6u7uxvnz5yGl1DoUIgoAfkkGUsoCAFAe/5gcrwEcc5q/Qbk7KHOaTz7Q3t7OVsVE1IffGp1JKfe6mZY42HxSX3NzMyorK7UOg4gCDFsghxGj0Yja2lqtwyCiAMRkECYuXryIxsbGoRckorDEZBAGKioq0NLSonUYRBTAmAxCXElJCTo7O7UOg4gCHJNBiLLZbCgqKkJPT4/WoRBREGAyCEE9PT0oLCxkGwIi8hiTQYjhyGRENBxMBiGkvb0dBgN7ACci7zEZhAiz2YyqqiqtwyCiIMVkEAIuX76Muro6rcMgoiDGZBDk2JiMiNTAZBDEysvL0dbWpnUYRBQCmAyCVHFxMbq6urQOg4hCBJNBkOnp6UFxcTEbkxGRqpgMgggbkxGRrzAZBInOzk6UlJRoHQYRhSgmgyDQ1taG8vJyrcMgohDGZBDgTCYTqqurtQ6DiEIck0EAY2MyIvIXJoMAVVNTg6amJq3DIKIwwWQQgAwGA9rb27UOg4jCCJNBgGFjMiLSApNBgGBjMiLSEpNBAGBjMiLSGpOBxtiYjIgCAZOBhlpbW3HhwgWtwyAiYjLQSlNTE2pqarQOg4gIAJOBJurr61FfX691GEREvZgM/Ky6uhomk0nrMIiI+mAy8KOysjJ0dHRoHQYRUT9MBn4gpURxcTG6u7u1DoWIyC0mAx/r6elBUVERbDab1qEQEQ2IycCHuru7UVRUpHUYRERDYjLwkY6ODpSVlWkdBhGRR5gMfICNyYgo2DAZqKyhoQGXLl3SOgwiIq8wGaiorq4Oly9f1joMIiKvMRmopLKyEs3NzVqHQUQ0LEwGKigtLYXFYtE6DCKiYWMyGAE2JiOiUMFkMExsTEZEoYTJYBjYmIyIQg2TgZfa29thMBi0DoOISFVMBl5oaWlBRUWF1mEQEamOycBDRqMRtbW1WodBROQTTAYeuHTpEhoaGrQOg4jIZ5gMhlBRUYGWlhatwyAi8ikmgwFIKVFWVsbGZEQUFpgM3JBSoqioCFarVetQiIj8gsnAhdVqRXFxMRuTEVFYYTJw0tnZiZKSEq3DICLyOyYDRVtbG8rLy7UOg4hIE0wGAMxmM6qqqrQOg4hIM35LBkKIdQBMABKklLu8ne8rly9fRl1dnb82R0QUkHT+2IgQIgEApJQ5AEyO157O95WamhomAiIi+CkZALgf9m/9AGAAkOrlfNVduHABTU1Nvt4MEVFQ8NdjIj2ARqfXk72crxopJUpLS9HZ2emrTRARBR1/3RmMmBAiXQiRJ4TIG+6g8z09PSgsLGQiICJy4a9kYAIwSflbD8C117eh5kNKQWbqCwAABVVJREFUuVdKmSSlTJoyZYrXAVitVhQWFqKnp8fr9xIRhTp/JYMDAOKVv+MB5ACAEEI/2Hy1WCwWFBYWQkqp5mqJiEKGX5KBlLIAAIQQqQBMjtcAjg0xf8Ta2tpQWlqq1uqIiEKS39oZSCn3upmWONj8kTKZTKiurlZ7tUREISdkWyDX19ejvr5e6zCIiIJCSCaD6upqmEymoRckIiIAIZgMysvL0dbWpnUYRERBJWSSgZQSJSUl6Orq0joUIqKgExLJoKenB8XFxWxDQEQ0TEGfDLq7u1FcXMw2BEREIxDUycBisbANARGRCoI2GbS2tuLChQtah0FEFBKCpqM6Zz09PUwEREQqEsH4rF0IcRlAxTDfHgvAqGI4oYL7pT/uk/64T9wLlv0yU0rptqfPoEwGIyGEyJNSJmkdR6DhfumP+6Q/7hP3QmG/BOVjIiIiUheTARERhWUyUL131BDB/dIf90l/3CfuBf1+CbsyA6KBCCESBhpLQwixDvYR+RKklLv8G5l2htgnGVLK7UKIdF90QU/+FdJ3BkKIdUKIVCHEtuHMD0Ue7JMM5Xe6fyPTljKw0r4B5iUAgJQyB4DJ8TrUDbZPFOlCiDIABj+FpDllLPZ0x+fEzfygvaaEbDIY6gMcjh9wD//nsPuAA737pHGA2ffDflcA2PdLql+C0tgQ+wQA1kspZyvLhTwlOeYod0Hxymvn+UF9TQnZZIChP8Dh+AH35H8Oqw+4h/Toe1GcrFUgASYhWL8FD1M8rnxmDLgybrtDUF9TgrY7Cg8M9QEOxw+4J/9zghACCLNn4+Q9x/khhFgphEgN9S8QLuUiCQAOuCwS1NeUUL4zoGGQUu5SPtSTXW+Dw5gJwCTlbz2ABg1jCQjKs/F1yssG9P+WHLKUxz/ZAxWsB6tQTgZDfYDD8QM+6P8czh9wd4QQeuXPA7iyL+IBhPQ34ME47RMDruyH2QDytIlIE6kD3DUH9TUllJOB2w9wmH/Ah9onYfsBV5JgklMyBIBjAOD4BqjcKZlC7RvhQDzYJxuUeWVhtE/SnR6PpSq/Q+KaEtLtDJTqkQYA8Y7nfUKIfCll4kDzQ52H+6RRmc8yAyKFcvE/BPvnYxLslS1yQuWaEtLJgIiIPBPKj4mIiMhDTAZERMRkQERETAZERAQmAyIiQmh3R0HkMSFEPICHAWwDUIC+XQ0sArDHubsFIcQeAJBSPjyMbSXA3o9NWbBVP6TQxaqlRE6EEPmwX/j3Ok2LB1AGINGpAZqjh8ohG1u56+9f6dxtpZRypZrxEw0XHxMRDUFK6WiZ/ZTTtAIvWt0mupkWFi12KXgwGRB5Jh7KGA9CCL0QImGo/uqV5fbgSn81RAGLZQZEQ3Aa9e3nyu9JsN8l6AGsVLopyIC9L6ds2MsDDjgtm6A8FjK5eVzk6Bl2JViGQBpiMiDqL1G5SOthLzyOh/35vgmwPzZSvvFvV17nOL3eDuUOQkpZoIwNgQH6eUoCYHA8hhJCSITAwOoUnJgMiPrLd6o5lKX0SnlMCPFzKWXWAO9phP3CboLn5QGNSiLoJYTQO5IOkT+xzIBoCMrFeQ/sPVYOxtuLuOs400wCpBkmAyLPNAJ9+q73mhAiPtgGSafwwWRA5JmHAeQM4xGO88Dp8S7VUV1rGQ070RCNFMsMiNCnBXICgPVOdwCTYb+YF0gptyvLJsBeUJyk1DTKU96bpNQa2utU2FwghMhzqpHk/H5HLaO9uNKGIUMIkeFalkDka2yBTEREfExERERMBkREBCYDIiICkwEREYHJgIiIwGRARERgMiAiIjAZEBERmAyIiAjA/w+bqpwM7BIYMAAAAABJRU5ErkJggg==\n", + "image/png": "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BtZFyeImXnrpJWfAeP755xUwRETcgFu1ZFSkovBxbqdQi8VCZGQkaWlp5S47a9YsZs6c6byck5OjoNFIPPLII8ybNw+TycSCBQu47LLLjC5JRERws5BhNpvLtFpkZGRUeEjEZrM5D6OUnI1is9mwWCxllm3WrBnNmjWr85rFWDfccANLlizBw8ODDz/8kF69ehldkoiI/M6tDpdERESUe31ISEiZ61JTUwkPDy9z/fl9OqTxGj16NEuWLMHHxwer1aqAISLiZtyqJeP8FgibzUZISIizJSM1NRWz2YzFYsFisTB37lznslarlaioKJ1l0kT069ePH374gVatWmG1WrnooouMLklERM7jViEDis8QiI2NJTQ0lO3bt5ca+2LOnDmEhoYSExOD2WwmJCSEuLg4zGYzaWlpGiejCbDb7QQGBvLbb7/RoUMH1q5di6enp9FliYhIOUwOh8NhdBFGyMnJwc/Pj+zsbE2W1UDk5ubSuXNnTp48ycUXX8xHH31kdEkiIk1Sbm4uYWFhF/wOdas+GSIVOXToEG3btuXkyZNcdtllChgiIg2AQoa4vV27dtG9e3fy8vKYOHEib731ltEliYhIFShkiFtLTk5m8ODB2O127rrrLp577jmjSxIRkSpSyBC39e677zJu3DgcDgePP/44Dz30kNEliYhINShkiFt65plnnEODv/LKK9x4440GVyQiItXldqewitx333288cYbmEwm/vOf/zBo0CCjSxIRkRpQyBC3cu211/LJJ5/g5eXF8uXLNb+MiEgDppAhbuOyyy5j27ZtNG/eHKvVip+fn9EliYhILShkiOHsdjt9+vQhLS0NPz8/NmzYgI+Pj9FliYhILSlkiKHy8/Pp0qULJ06coEuXLqxatUrDhIuINBI6u0QMk5GRQZs2bThx4gT9+/dnzZo1ChgiIo2IQoYYYt++fXTs2JHTp09zxRVX8MEHHxhdkoiI1DGFDKl327Zto1evXhQUFBAVFcVrr71mdEkiIuIC6pMh9Wr58uX8+c9/BuD+++/nnnvuMbgiERFxFbVkSL154403nAHjqaeeUsAQEWnk1JIh9eKJJ57gueeew2Qy8frrrzNixAijSxIRERdTyBCXu+OOO3jvvffw8PBg8eLF9OvXz+iSRESkHihkiEuNHz+edevW4e3tzapVq+jUqZPRJYmISD1RyBCXGTRoELt27aJly5YkJyfj6+trdEkiIlKPFDKkztntdnr27MnBgwcJCAhg/fr1GmRLRKQJ0tklUqfOnDlD27ZtOXjwID179mTTpk0KGCIiTZRChtSZI0eO4O/vT1ZWFkOGDGH58uVGlyQiIgZSyJA68cMPPxAYGMjZs2cZN24c77//vtEliYiIwRQypNY2bdpE//79KSws5JZbbmHevHlGlyQiIm5AIUNqZcmSJYwZMwaHw8HMmTOJjY01uiQREXETChlSY/PmzeOGG24AIC4ujjvvvNPgikRExJ3oFFapkYceeoh//vOfmEwm3nrrLYYNG2Z0SSIi4mYUMqTapk6dytKlS/H09OSjjz7CYrEYXZKIiLghhQypllGjRvH555/j4+PDmjVraNeundEliYiIm1LIkCq75JJL+PHHH2ndujXr16+nRYsWRpckIiJuTCFDLqigoIDAwECOHj1Kx44dWbNmjUbxFBGRC9LZJVKp7OxsAgICOHr0KL179yY5OVkBQ0REqkQhQyp04MAB2rdvz8mTJwkLC+PDDz80uiQREWlAFDKkXDt37sRisZCfn8+kSZNISEgwuiQREWlgFDKkjLVr1xIcHIzdbmfatGk8++yzRpckIiINkEKGlPL2228zYcIEHA4HTz75JDNmzDC6JBERaaAUMsTp6aef5u677wbg1VdfZerUqQZXJCIiDZlOYRUA7rnnHuLj4/Hw8GDhwoUMGDDA6JJERKSBU8gQJk6cyMqVK/Hy8mL58uUEBgYaXZKIiDQCChlNXGhoKDt27KB58+ZYrVb8/PyMLklERBoJhYwmym63c/HFF7Nv3z7MZjPr16/Hx8fH6LJERKQRUchogvLz8+ncuTPp6ekEBgayYsUKjeIpIiJ1TmeXNDEZGRm0adOG9PR0BgwYwOrVqxUwRETEJRQympC0tDQ6duzI6dOnGTNmDIsWLTK6JBERacQUMpqIrVu30rt3bwoKCpg6dSqvvvqq0SWJiEgjp5DRBHz88ceEhYVRVFTEjBkzePLJJ40uSUREmgCFjEbutdde4/rrrwfg2WefZdq0aQZXJCIiTYXOLmnEYmNjiYuLw2QyER8fT1hYmNEliYhIE6KQ0UjdeuutLFy4EA8PD5YuXUqfPn2MLklERJoYhYxGKCIigvXr1+Pt7c2nn35Khw4djC5JRESaIIWMRmbgwIF8++23tGzZkvXr19OqVSujSxIRkSZKIaORsNvtdO/enUOHDtG2bVusVqsG2RIREUPp7JJGIDc3l4CAAA4dOkTPnj3ZuHGjAoaIiBhOIaOBO3LkCG3btiU7O5uhQ4eyfPlyo0sSEREBFDIatN27d9O1a1fy8vKYMGEC7777rtEliYiIOClkNFCbNm1i4MCB2O12brvtNl544QWjSxIRESlFIaMBWrRoEWPGjMHhcPDII4/w6KOPGl2SiIhIGQoZDUxcXBw333wzAC+88AK33367wRWJiIiUT6ewNiD/8z//w6uvvorJZOLf//43ISEhRpckIiJSIYWMBiIqKooPP/wQT09Pli1bRo8ePYwuSUREpFIKGQ3AiBEj2LJlC82aNWPdunX4+/sbXZKIiMgFKWS4MbvdTr9+/dizZw++vr5YrVZatGhhdFkiIiJVopDhpvLz8wkMDOTYsWN06tSJTz/9VKN4iohIg6KzS9xQdnY2AQEBHDt2jD59+rBu3ToFDBERaXAUMtzMgQMHaN++Pbm5uQwfPpykpCSjSxIREakRhQw3kpKSQs+ePcnPz+faa68lPj7e6JJERERqTCHDTaxevZrQ0FCKioqIjo7m6aefNrokERGRWlHIcAMLFizg6quvxuFwMHv2bB588EGjSxIREak1hQyDPfXUU0RHRwMwf/58pkyZYnBFIiIidUOnsBpo2rRpvPXWW3h4eLBw4UIGDBhgdEkiIiJ1RiHDIFdffTWrV6/Gy8uLFStW0LVrV6NLEhERqVMKGQYICQkhJSWFFi1aYLVa8fX1NbokERGROqeQUY/sdju9evVi//79tGnTBqvVio+Pj9FliYiIuIQ6ftaTM2fO0L59e/bv30+3bt3YuHGjAoaIiDRqChn14Pjx4wQEBJCRkcHAgQNZtWqVhgkXEZFGTyHDxfbs2UPnzp05c+YM4eHh/Pe//zW6JBERkXqhkOFCW7Zs4ZJLLqGwsJAbb7yRV155xeiSRERE6o3bdfy02WwkJSVhsViw2WxER0djNptrvWx9+/DDD4mKigLgoYce4q677jK4IhERkfrldiFj8uTJpKSkAMUhYtq0aSQmJtZ62fo0f/58ZsyYAcCcOXO45pprDK5IRESk/rlVyLDZbKUuWywWrFZrrZetTzExMbzwwguYTCbi4+MJCwszuiQRERFDuFWfDKvVir+/f6nr/P39SU1NrdWyAHl5eeTk5JT6q2s333wzL7zwAh4eHiQmJipgiIhIk+ZWISMrK6vc6zMyMmq1LBQftvDz83P+BQYG1rTMco0dO5ZFixbh4+PDunXr6NOnT52uX0REpKFxq5BRkYoCRXWWnTVrFtnZ2c6/gwcP1k1xwIABA9i4cSMXXXQRmzdvpkOHDnW2bhERkYbKrfpkmM3mMi0RGRkZ5Z4xUp1lAZo1a0azZs3qqlSgeJjwbt26cfjwYdq1a0dycrIG2RIREfmdW7VkRERElHt9SEhIrZZ1hdzcXPz9/Tl8+DBBQUFs2LBBAUNEROQcbhUyLBZLqcs2m42QkBBn60RqaqrzrJILLetKhw4dom3btuTk5DBs2DCWLVvm8m2KiIg0NG51uAQgMTGR2NhYQkND2b59e6lxL+bMmUNoaCgxMTEXXNZVdu/ezeDBg7Hb7Vx11VXMnTvX5dsUERFpiEwOh8NhdBFGyMnJwc/Pj+zsbHx9fat0nw0bNhAREYHD4eDOO+9k5syZLq5SRETE/eTm5hIWFnbB71C3OlzizhYuXEh4eDgOh4PHHntMAUNEROQCFDKqYM6cOdx6660AvPTSS9x8880GVyQiIuL+3K5Phrt54IEH+Ne//oXJZOK9995jyJAhRpckIiLSIChkVOK6665j2bJleHl58fHHH9OjRw+jSxIREWkwFDIqMHz4cL766iuaN2/O2rVry8yTIiIiIpVTyDiP3W6nb9++7N27Fz8/P5KTk2nRooXRZYmIiDQ4ChnnyM/Pp2vXrhw/fpzOnTuzevVqjeIpIiJSQzq75HfZ2dn4+/tz/PhxLrnkEtauXauAISIiUgsKGcC+ffto164dp06dYuTIkSxdutTokkRERBq8Jh8yvv76a3r16kVBQQHXX389r7/+utEliYiINApNvk/G6NGjAbjnnnu4//77jS1GRESkEWnyIQPg73//O1FRUUaXISIi0qg02ZBRMi/cs88+y9ixY8nNzTW4IhERkYbh1KlTwB/fpRVpsrOw/vrrrwQGBhpdhoiISIN18OBBunbtWuHtTTZkFBUVcfjwYVq3bo3JZKqTdebk5BAYGMjBgwerPH281B09/8bS8288vQbGakrPv8Ph4OTJk3Tu3BkPj4rPIWmyh0s8PDwqTV+14evr2+h3MHem599Yev6Np9fAWE3l+ffz87vgMk3+FFYRERFxDYUMERERcQmFjDrUrFkz/v73v9OsWTOjS2mS9PwbS8+/8fQaGEvPf1lNtuOniIiIuJZaMkRERMQlFDJERETEJRQyRERExCWa7DgZNWWz2UhKSsJisWCz2YiOjsZsNtd6Wama6jynqampAAQHB2Oz2cjKyiI4OLgeq22cUlNTmTZtGikpKZUup/3fNar6/Gv/d43U1FSsVisA27dvZ8GCBfoOqIxDqiU4ONj577S0NEdUVFSdLCtVU53nNDo62gE4AEdERIQjMzOzHips3BITEx0pKSmOqnx0aP+ve9V5/rX/u8bcuXNL/fvc/fx8eg84HGrJqAabzVbqssVicSba2iwrVVPd53To0KFkZmYCNL1fDy5S1dmKtf+7RnVmi9b+X/dSU1OZM2cOMTExQPHrERsbi81mw2KxlFpW74Fi6pNRDVarFX9//1LX+fv7O5sla7qsVE1NnlOz2awPWANo/3cP2v/rVnBwMAsWLHBezsrKAiizr4PeAyXUklENJTvU+TIyMmq1rFRNdZ/TrKwskpKSgOJjp9OnTy/za0NcQ/u/8bT/u8a5rUlLliwhIiKi3CCn90AxhYw6UNHOVNtlpWoqek7P7WRlsViIjIwkLS2t/gqTMrT/1x/t/65VEuIu1AG3vPs1JTpcUg1ms7lMCs3IyCg3xVZnWama6j6n5x4TLendff5xUnEN7f/G0/7vWrGxsSQnJ1e4T+s9UEwhoxoiIiLKvT4kJKRWy0rVVOc5TU1NJTw8vMz15R07lbqn/d9Y2v9dKy4ujtjYWCwWC1lZWeW2Tug9UEwhoxrK6z0cEhLiTKapqanOXwoXWlaqr7rP/9y5c53LWq1WoqKi9PzXofM/WLX/168LPf/a/10jKSmJ4OBgZ8BYunSpvgMqoQnSqslmsxEfH09oaCjbt29n1qxZzp1m8uTJhIaGOk9vqmxZqZnqPP8lg+aYzWbS0tJKfehKzVitVpKTk4mLiyMmJobQ0FBnRzjt/65Xnedf+3/ds9lsBAUFlbrObDY7TxXWe6AshQwRERFxCR0uEREREZdQyBARERGXUMgQERERl1DIEBEREZdQyBARERGXUMgQERERl1DIEBEREZdQyBCRGpk8eTJDhw7FZDJhMpmYPHlyqb/IyEgmT55c7tTWWVlZBAUFERcXV2f1pKamMnToUNq0aUNkZGSdrVdEak6zsIpIjSQmJgJgMpmIiIhwXj5XXFwcQ4cOJT4+nujoaOf1GRkZ2Gw2tm/fXqNtx8bGlhnBMjg4mJSUFCIjI5vcdNoi7kotGSLiMjExMQQHBzN9+vQys4I6HI5yg0lVVDab6PlzRoiIcRQyRMSlSmajtFqtdbK+pKSkcme9FBH3o5AhIi5V0ayUNV3XtGnTar0eEakf6pMhIi5js9lISkoiIiLC2aJhs9mYPn06O3bswGKxkJKSAhS3dMTGxmKz2YiOjmbq1KnOWUenT58OwJIlSwDYsWMHkydPBspOa14iKyuLhIQEALZv317hciLiOpqFVURqpaTjZ3JysvO6rKwsZ2iIiooq98u9pINmScgoERQUREREBEFBQcTExBAUFERwcLCz/0bJmSPnbu9cJQFm6tSpzim3Adq0acOsWbNKXScirqWWDBGpNZvNVuZ01LS0NCIiIggNDS33PhaLpdyzQCwWC0uXLmXfvn0ApKSkYDabq1VPampqmU6lISEhLFmyRCFDpB4pZIhIrVkslnK/vLOyshg6dChz5swp02JxofWVBIvqBoyS+5zfB6SiUCMirqOOnyLiMmazmfj4eFJTU539KqrC39+/Vtut7f1FpG4oZIiIS5V0+CzphFkV1Wm9KO901pq0fohI3VPIEJEGbceOHZUOziUixlHIEBGXSkpKAiAqKqpO1nd+K0VWVpYOj4i4KYUMEXGZ1NRUpk2bhsViYcGCBWVur2jkzspG9IyMjGTHjh3OyzabrVTwyMjIKPf+FV0vIq6jcTJEpEYmT56MzWZzzrIaFRXlbFEomQANKDNehc1mIzY2FqvVSlZWFlFRUcyaNQuAOXPmlGr5CA0NLfesldjYWFJTU4mMjCQ4OJiIiIhy1zt9+nQsFkup6yMiIpg+fXqdtayISMUUMkRERMQldLhEREREXEIhQ0RERFxCIUNERERcQiFDREREXEIhQ0RERFxCIUNERERcQiFDREREXEIhQ0RERFxCIUNERERcQiFDREREXEIhQ0RERFxCIUNERERcQiFDREREXOL/A6A9bbJ+EvL4AAAAAElFTkSuQmCC", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -326,19 +317,17 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { - "image/png": "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DWDz5s0EBgYC8PHHHxMREcHAgQMNrraNOLJpUkICjB3L/06fJsbomppB2k7CVXNaECn1PO5Tx5BDQkJ4+eWXuXv+3Tyc/jADLhkAgFKKwMBAtNY89thjXHLJJbz22mumPkTeuXNnIiIi2Lhxo9GlNFlVVRUHDx6ksrLS6FKEdzFFPt1zzz08//zzDJo4qEY+ORtYa9asYe7cufz617/m5MmTRpbqMe3atePdd9/lhhtu4KGHHiIxMdHokupVVFQknT9Rmymy6YILLuC5555j5oMz68ymwsJC5s6dS0REBJ9//rmRpba5iIgIQkJCpO0kfFpzOoBRSinnbh0NoJQaBPjOoSOge/fuPPLIIwwaNIjQvqFnPK+U4rPPPmPq1Kncd999zJw5k9OnTxtQqWe89tprrPKRyxg7A6yiosLoUoT3MUU+XXPNNdx8880AdebTrFmzWLFiBRs3bmTUqFFs2bLF0yUaIigoiPfff5+4uDgiIyONLqdORUVFWK1Wo8sQ3scU2RQWFsaCBQto3759ndkUHBzMli1b6N+/P9dccw1/+tOfTPt/dbt27fjvf//LggULjC6lSaTtJOqimnqESynVBUjCHmCuJ8td7ry6ladERkbqluwFzszMJD4+nmnTphESEtLgtFVVVbz44os8+eSTDBkyhI0bN5JWnsaq3atItaUSZglj9sjZRPXzngxPyEjw6vpao6qqikOHDlFeXm50KaKNjBgxIklr3aLWvRny6YMPPmDUqFEMHdr4FT937tzJjBkzSEtL44033uD8Ked7/XffnfmUlJTEnj17uO2229xbZAsVFxeTklLfgR5hBi3NJzNk0+7du0lPT+fKK68kKCiowWmLi4t54IEHWLlyJZMnT+arr75i54mdXp1P0nYSvqyl2dSc20DkOcax/xFYAzyhtR7j6QBrjbVr13Lrrbdy7NixRqcNCAjgiSeeYMOGDVxyySWklqay4LsFZBdl07dzX7KLslnw3QISMhI8UHnjEjISWlzfm2++yccff+yBKlsuOTlZAkzUy9fz6fTp09x22238v//3/5o0/ahRo0hKSiImJob2/dp7dTZB6/KpLi+99BJ33HEHb731lpsrbT7p/ImG+Ho2ASxbtoyZM2c2afhgp06deP3111m1ahWTJk1i54mdXp1PLc2mwsJCXnnlFbZt2+ahSltG2k6iPs2+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\n", + "image/png": "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w/nwww+NjiQiIk7m/vvvZ/PmzXh6ehIdHY27u7vRkUTEyanpJv/op59+okmTJthsNkaPHk3//v2NjiQiIk7EYrFQqVIl4uPjadCgAXPnzjU6koiIOJnHHnuMVatW4eHhQXR0NJ6enkZHEpESQE03+VvHjh2jQYMGWK1WnnrqKQYNGmR0JBERcTLVq1fnt99+o1atWixatMjoOCIi4mSeeOIJ5s2bh5ubG1FRUXh7exsdSURKCDXdJFenT5+mVq1aWCwWhgwZwvDhw42OJCIiTqZmzZqcPHmSatWqsXLlSqPjiIiIkxk9ejQzZszA1dWViIgIfH19jY4kIiWImm6SowsXLhAaGkpmZiYPPvggzzzzjNGRRETEyTRo0ICjR48SHBzMunXrjI4jIiJOZsKECUydOhUXFxc2btxIhQoVjI4kIiWMmm5yg8TEREJCQkhPT6dPnz688MILRkcSEREn07RpUw4ePEiFChXYuHGj0XFERMTJTJkyhVdffRUXFxfWrFlDUFCQ0ZFEpARS002ySUlJITg4mLS0NLp27cqECROMjiQiIk6mVatW7N27l7Jly7J161bMZrPRkURExIl88MEHjB07FpPJxLJly6hWrZrRkUSkhFLTTbKkp6cTEBDAtWvXuOeee5g8ebLRkURExMl06tSJL7/8kjJlyrBt2zY13ERExKE+/fRTnn76aUwmEwsXLqR27dpGRxKREkxNNwHAYrEQGBjIlStXuPPOO3n//feNjiQiIk6md+/ebNmyBS8vL2JiYtRwExERh1q+fDmDBw8GYM6cOTRo0MDgRCJS0qnpJlkNt8uXL9OoUSNmz55tdCQREXEyDz30EGvWrKFUqVLExMTg7u5udCQREXEi69evp3///gB89NFHhIeHG5xIRERNtxLPYrFQpUoVLl68SN26dZk/f77RkURExMkMHTqURYsW4e7uTlRUFJ6enkZHEhERJxIdHU2PHj0AePfdd2nVqpXBiURE7NR0K+Fq1KjBmTNnCAsLY9myZUbHERERJ/PMM88wZ84cXF1d2bp1Kz4+PkZHEhERJ/LNN9/QoUMHAN544w06duxocCIRkT+o6VaC1a1bl+PHjxMSEsLnn39udBwREXEy48aN47333sNsNrN582b8/f2NjiQiIk5k//79tGzZEpvNxksvvUTPnj2NjiQiko2abiXUHXfcwc8/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PcTq1avx8PAgKioKd3d3oyOJiIgT2bhxI3379gXggw8+IDw83OBEIiKFT023Iqhq1aqcP3+eOnXq8NlnnxkdR0REnMywYcNYtGgR7u7uREdH4+3tbXQkERFxIjExMXTr1g2Ad955hzZt2hicSETEGGq6FTFhYWGcPn2a0NBQli9fbnQcERFxMs888wyzZ8/G1dWVrVu34uPjY3QkERFxIt988w3t2rUD4I033qBTp04GJxIRMY6abkVIvXr1iIuLo3LlyqxZs8boOCIi4mTGjx/Pe++9h9lsZvPmzfj7+xsdSUREnMiBAwdo2bIlNpuNl156iZ49exodSUTEUGq6FRGNGzfmp59+IiAggE2bNhkdR0REnMykSZOYOHEiLi4urFu3joCAAKMjiYiIEzl8+DCNGjXCZrMxatQoBgwYYHQkERHDqelWBNx111189913+Pv7ExERYXQcERFxMtOnT2fcuHGYTCZWrlxJSEiI0ZFERMSJnDhxgnr16mG1Wnn88ccZPHiw0ZFERIoENd0M1r59e7766it8fHyIjo7GbDYbHUlERJzI3LlzGTlyJCaTiSVLllCjRg2jI4mIiBM5d+4cYWFhWCwWHnvsMZ544gmjI4mIFBlquhmoR48eREdHU7p0abZt26aGm4iIONTixYv597//DcC8efOoV6+ewYlERMSZxMfHU7VqVTIzMxk4cCDPPvus0ZFERIoUNd0MMmDAANavX0+pUqXYtm0b7u7uRkcSEREnsnbtWh588EEAZs2aRaNGjQxOJCIiziQ5OZlKlSqRnp5Oz549efHFF42OJCJS5KjpZoB//etfLFu2DHd3d6KiovD09DQ6koiIOJGtW7fSq1cvAN5//31atGhhcCIREXEmKSkpBAQEkJqayr333ssbb7xhdCQRkSJJTbdC9vTTT/O///0PNzc3oqOj8fHxMTqSiIg4kZ07d9KpUycApkyZwj333GNwIhERcSbp6ekEBARw7do1WrduzdSpU42OJCJSZKnpVojGjh3LBx98gKurKxEREfj6+hodSUREnMjevXtp1aoVNpuNCRMm0KVLF6MjiYiIE7FYLAQEBHDlyhXCw8P58MMPjY4kIlKkqelWSF5//XWmTJmCi4sL69ato0KFCkZHEhERJ3Lw4EHCw8Ox2WyMGTOGPn36GB1JRESciMViISgoiISEBG6//Xbm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ZFGdyZ1qTf6VtHMmL0ry+aI6cyM13XLQoUOHHF9v2rRpvrZ1Bnn5efft20f79u1veD2nZ7tLkpJ2zuRFST5npkyZwtixYwkNDSUhISHHuz06d5yLak3OVGfyrySdL3lVks8Z1ZmSR3Umd6o1+VfSzpmbVZLPF9WZnKnploO/Pm8dFxdH06ZNs7qv+/bty+pU/9O2ziavn83kyZOzto2MjKRv375O+9n82V9/wZTkc+av/umzKYnnzIoVK2jcuHFWgVq2bJl+35QAqjU5U525OaozuVOduZHqTMmkOpM71Zqbo1qTM9WZG6nO5M5ks9lsRocoiuLi4pg5cybNmjVj9+7dvPDCC1knQr9+/WjWrBljxoz5x22dUV4+m3379hEZGYmfnx+xsbHZfgE5m8jISLZu3cqUKVMYM2YMzZo1y5pQsqSfM3n5bErSOQP2cyEsLCzba35+fly+fBnQuePsVGtypjqTM9WZ3KnO5E51pmRTncmdak3OVGtypjqTO9WZv6emm4iIiIiIiIiIiIPp8VIREREREREREREHU9NNRERERERERETEwdR0ExERERERERERcTA13URERERERERERBxMTTcREREREREREREHU9NNRERERERERETEwdR0ExERERERERERcTA13URERERERERERBxMTTeRfOrXrx9NmjTBZDJhMpno169ftj8dO3akX79+7Nu374b3JiQkEBYWxpQpUxyWZ9++fTRp0oSyZcvSsWNHh+1XRESMo1ojIiIFSXVGpGC4Gh1ApLhbvnw5ACaTiQ4dOmR9/WdTpkyhSZMmzJw5k2HDhmW9Hh8fT1xcHLt3776lY48dO5bJkydne61x48bs3buXjh07Eh8ff0v7FRGRokW1RkRECpLqjEjB0Eg3kUIwZswYGjduzPDhw4mLi8t6PTQ0FJvNlmNRuxl/3tdfhYaG3tI+RUSkeFKtERGRgqQ6I5J3arqJFJIOHToAEBkZ6ZD9rVixgoSEBIfsS0REnINqjYiIFCTVGZG8UdNNpJBcv4PjiLs1cXFxDB06NN/7ERER56JaIyIiBUl1RiRvNKebSCGIi4tjxYoVdOjQIevuUFxcHMOHD2fPnj2Ehoayd+9ewH7XaOzYscTFxTFs2DAGDBhAZGQkW7duZfjw4QAsXboUgD179tCvXz/AXvj+OhcC2Cc2nTVrFgC7d+/OdTsRESneVGtERKQgqc6I5J3JZrPZjA4h4gyuTzq6devWrNcSEhKyCk7fvn1zLAzXJwe9XqCuCwsLo0OHDoSFhTFmzBjCwsJo3Lhx1lwJ11fx+fPx/ux68RswYABjxozJer1s2bK88MIL2V4TEZHiQbVGREQKkuqMiGNppJuIA8XFxd2wVHZsbCwdOnSgWbNmOb4nNDQ0xxV5QkNDWbZsGceOHQNg7969+Pn55SnPvn37bpjQtGnTpixdulQFSkSkmFKtERGRgqQ6I+I4arqJOFBoaGiOv/gTEhJo0qQJkyZNuuHuzz/t73pRymtxuv6ev863kFtBFBGR4kG1RkRECpLqjIjjaCEFkULg5+fHzJkz2bdvX9YcBjfD398/X8fN7/tFRKT4UK0REZGCpDojkndquokUkuuTjV6fAPRm5OVOUE5Lbd/KnSQRESm+VGtERKQgqc6I5I2abiJOYs+ePVlLeIuIiBQE1RoRESlIqjPibNR0EykkK1asAKBv374O2d9f7/gkJCRo6LWISAmnWiMiIgVJdUYkb9R0EykE+/btY+jQoYSGhjJ79uwbvp/TMOq/ex3sy2vv2bMn6+u4uLhsRSs+Pj7H9+f2uoiIFG+qNSIiUpBUZ0TyzmSz2WxGhxApzvr160dcXBz79u0D7Hd9rt+diY+PzxoePWDAgGyrAMXFxTF27FgiIyNJSEigb9++vPDCCwBMmjQp212kZs2a5biC0NixY9m3bx8dO3akcePGdOjQIcf9Dh8+nNDQ0Gyvd+jQgeHDhzvsLpWIiBQc1RoRESlIqjMiBUNNNxEREREREREREQfT46UiIiIiIiIiIiIOpqabiIiIiIiIiIiIg6npJiIiIiIiIiIi4mBquomIiIiIiIiIiDiYmm4iIiIiIiIiIiIOpqabiIiIiIiIiIiIg6npJiIiIiIiIiIi4mBquomIiIiIiIiIiDiYmm4iIiIiIiIiIiIOpqabiIiIiIiIiIiIg6npJiIiIiIiIiIi4mBquomIiIiIiIiIiDiYmm4iIiIiIiIiIiIO9v+vbJVHLxdX7wAAAABJRU5ErkJggg==", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -362,7 +351,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -376,9 +365,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.2" + "version": "3.11.0" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/Tuto-GUDHI-Expected-persistence-diagrams.ipynb b/Tuto-GUDHI-Expected-persistence-diagrams.ipynb index ba65797..0159e0d 100644 --- a/Tuto-GUDHI-Expected-persistence-diagrams.ipynb +++ b/Tuto-GUDHI-Expected-persistence-diagrams.ipynb @@ -97,17 +97,6 @@ "execution_count": 1, "metadata": {}, "outputs": [], - "source": [ - "# Note: %matplotlib notebook enables iteractive 3D plot.\n", - "#%matplotlib notebook\n", - "%matplotlib inline" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], "source": [ "import numpy as np\n", "import gudhi as gd\n", @@ -131,7 +120,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -160,7 +149,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -175,19 +164,17 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -197,7 +184,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -207,7 +194,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -217,7 +204,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -228,7 +215,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -238,19 +225,17 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -272,7 +257,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -286,9 +271,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.2" + "version": "3.11.0" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/Tuto-GUDHI-Quantization-of-persistence-diagrams.ipynb b/Tuto-GUDHI-Quantization-of-persistence-diagrams.ipynb index f00e05e..56468d3 100644 --- a/Tuto-GUDHI-Quantization-of-persistence-diagrams.ipynb +++ b/Tuto-GUDHI-Quantization-of-persistence-diagrams.ipynb @@ -2,7 +2,13 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ "# Quantization of (expected) Persistence Diagram" ] @@ -34,23 +40,13 @@ }, { "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Notebook global settings" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "%matplotlib inline" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ "## Motivation and mathematical formulation" ] @@ -241,7 +237,13 @@ { "cell_type": "code", "execution_count": 7, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "n = len(diags)\n", @@ -298,7 +300,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -312,7 +314,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.2" + "version": "3.11.0" } }, "nbformat": 4, diff --git a/Tuto-GUDHI-alpha-complex-visualization.ipynb b/Tuto-GUDHI-alpha-complex-visualization.ipynb index 0c90be2..8e1d03a 100644 --- a/Tuto-GUDHI-alpha-complex-visualization.ipynb +++ b/Tuto-GUDHI-alpha-complex-visualization.ipynb @@ -80,30 +80,18 @@ { "cell_type": "code", "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# For matplotlib in a notebook\n", - "%matplotlib inline" - ] - }, - { - "cell_type": "code", - "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [ { "data": { - "image/png": "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mhpSUlJOKt99Ii+++CJPPPEEW7duTa48hmMF0le22M6dO086btOmTbzzzjuUlJTw85//vF+r/1hx1ou8J7Iss3DhQhYuXMjDDz9MdXU1GzduZPXq1WRnZ7N27VquueaaPqtxtra2UldXx/z585P7tbS0NIqLi+nq6qK1tZWjR49itVqTy9uRcr0k4tAzMzNH1R7QM6Ze07RkTH1nZ2eymstYZvvBcYE7HI4BBf7KK6/w2GOP8corr4yJcXDVqlXccsstWCwWfve737F+/XreeuutUR/HQJyVe/Khklj2bty4kZdffpnU1FRWr17NqlWryMnJYefOnZjN5kEZtXrG0yuKkgyvHS5XzNkUhw7HW0oVFRXh8XiStovhtNQPFiEEe/fuxWq1Mn369H6Pff3113n00UfZtm1bvyWWT5cdO3bw0EMP8dprrwHw6KOPAvDggw/2ebyu62RmZuLz+U7n7T59hrczIZGmumnTJl588UV8Ph+TJk3it7/9LZMmDVxltCeJ/azb7UaW5eR+9nTvdok682dDXTiIR/gdOXKE+fPnJy9iw22pHywJgVsslgG3L3/729946KGHeOWVV0bse9Q0jZKSEt58803y8/O54IILePbZZykrK0se09zcnMx827x5Mz/+8Y95//33T+ftxkV+Oggh+MIXvkBmZiZTp05ly5YtGIbBqlWrWLt2LQUFBUMSfDgcTobXCiGS4bWD3b8m/M5nQxw6xLcvx44dY/78+afclpyppX6wDKV81Lvvvst3vvMdXnnllRH3jGzbto377rsPXde5/fbb+e53v8v3vvc9Fi9ezOrVq3nwwQd56aWXUBSFzMxMfvvb3yYbhwyRcZGfLtXV1cyZMwcgWaxi06ZNbN68mVAoxDXXXMOaNWuGXLYoGo0mBa9pWvIOfyqLbsItdTb4nSF+B2psbGT+/PlDujsnupW43e7khe5UlvrBIoSgtrYWRVEGFPiOHTu4//772bp165inIg8z4yIfCVwuF5s3b+aFF16go6ODlStXsnbt2iFHviXKILW2thKJRJITPxFb7vV62bdv31nhloK41TgRo38my+/Ehc7tdifzCIYaU58QuMlkYsaMGf2+7qOPPuKee+7hpZdeGrEa92PIuMhHmvb2drZs2cKmTZtoaWlhxYoVXHvttZSWlg7J8JSwWLtcLoLBIDabjUAgwIIF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Lr/8cvbv33/SceebyAEef/xxSkpK+OxnP9srJ97r9bJy5UrWrFkz5Jx4IQQejweXy4XH4yElJYW8vLxemWOnoqGhAbfbPaDAw+Ew//iP/8jatWu56667zhuj1jAxLvITSU9Px+v1AvEJmpGRkXzcE0VRktVPHnjgAdauXTuq4xxN2tvbefHFF3nhhRdobW3tlRM/VMGfmDmWl5dHdnb2SYJP1LAvLy/v92IQjUb54he/yFVXXcXXv/71cYGfzKdT5P0F3axfv76XqDMyMvB4PCcd29jYSH5+PocPH2b58uW8+eabA1YBPR/wer289NJLvPDCC9TV1SVz4oeaS57om56o8Wa1WpOCd7lctLa2DijwWCzGl770JS655BK+8Y1vjAu8bz6dIu+PwS7Xe/KlL32Jz3/+89xwww2jNMqzg5458QcOHEjmxC9atGjIe+9EUcempiY0TWP69Onk5eWdMhFH0zTuuOMOFixYwIMPPjgu8FNz7iSojBY9AxeefvrpPsNpPR4PkUgEiEdVvffee+dsptuZkJKSws0338yGDRvYsWMHl1xyCb/73e+4+OKL+fa3v8327dsHndrqdDqx2WzYbDYWLVqEruvs3r2bXbt2UV9fn/y+IW7J/+pXv8rs2bNHROAdHR1ceeWVzJgxgyuvvLLPlRzEPSzz589n/vz5n6qgq56ck3fy9vZ2brrpJo4dO0ZRURF//vOfyczM5KOPPuLxxx/niSeeYPv27dx1113IsoxhGNx3333ccccdYz30s4ZwOMwbb7zBxo0b+fjjj7n44ou59tprufjii0+Z2trc3ExTUxPz58/vtUTvWa7a4/Gwfft26uvrKSoq4pFHHhmRO/h55mEZX66PM7JEo1HeeustNm3axI4dO7jwwgtZu3Ytl156aXIp3tLSQkNDw4BlnF0uF/feey9VVVVMmDCBO++8c0TcZeeZh2Vc5KPNQH2pI5EIt912G7t27SIrK4s//elPZ03m15miaRrvvPMOGzZs4N1332XhwoXk5eXh9/v5yU9+0q/ADcNIfle//OUv8Xq9HD16lIULFw77OM8zD8vIGiuEEP39ferQNE1MmzZNHDp0SEQiETFv3jxRU1PT65hf//rX4q677hJCCPHcc8+Jm266aSyGOuJomiZ+8IMfiIKCAjF//nxx8803i+eee0643W4RCAR6/fn9fvEv//Iv4itf+YrQdX1Y3v+KK64QZWVlJ/29+OKLIi0trdex6enpfZ6joaFBCCHEoUOHRFFRkTh48OCwjG2YGUiHZ/Q3LvIT2L59u7jqqquSjx955BHxyCOP9DrmqquuEtu3bxdCCBGLxURWVpYwDGNUxzkaxGIx8eUvf1l4vV6h67rYsWOH+Nd//Vcxb948cf3114v//d//Fa2traKrq0t8+9vfFuvXrxeapo3K2EpKSkRTU5MQQoimpiZRUlIy4GvWr18vNmzYMNJDOx1GVOTnpHV9JOmrikhjY+Mpj+lZReR8Q1EUfv/735OWlpbMif+v//ovKioqePDBB6murmbFihUsWbKE/fv38+STTw5r04b+GPewDJ5zqj/5OGcHsiyzaNEiFi1axCOPPMLWrVtZvnz5qAkc4IEHHuCmm27iySefTHpYgF4eln379vXysDzwwAPjIh9nvIrIUJFleUz8z1lZWbz55psnPb948WKeeOIJAC6++GKqqqpGe2hnHePL9RP4tFcRGef8Y/xOfgKKovDYY4+xYsWKZBWRsrKyXlVE7rjjDm699VaKi4uTVUTGGedsZdxPPs44Y8947Pr5zEDte5566ilycnKS8deJ/eY44wyW8eX6GKLrOl/72td6te9ZvXr1SRbgdevW8dhjj43RKMc51xm/k48h51vLqHHOTsZFPoYMJvAGYNOmTcybN48bbrihl3tvnHEGw7jIz3JWrVrF0aNHqays5Morr0w25TsfOJ9bXZ9NjIt8DBlM4E1WVlayseGdd97Jrl27RnWMI8mcOXN44YUX+u1/lrBb/OUvf2Hv3r0899xz7N27dxRHee4zLvIxZDCBN83Nzcl/v/TSS5SWlo72MEeMT2Or67Fg3Lo+hgwm8OaXv/wlL730EoqikJmZyVNPPTXWwx5VzsdW16PNuMjHmJUrV7Jy5cpez33/+99P/vvRRx/l0UcfHe1hDRvjra7HnoEi3sY5j5Ak6ffA5wGXEGJOH/8vAf8NrASCwJeEEB+PwrjeBu4XQpxkfZMk6SLgISHEiu7HDwIIIc7dK98oM74n/3TxFNBfj+B/AGZ0//1/wG9HYUwD8SEwQ5KkqZIkmYGbgXOvqd0YMi7yTxFCiHeA/pqfrwH+0F2t5H0gXZKkiSM1HkmSrpUkqQG4CHhFkqTXup+fJEnStu4xa8DdwGvAPuDPQoiakRrT+cj4nnycnuQDPaNtGrqfa+778DNDCLEZ2NzH803EtwyJx9uAbSMxhk8D43fyccY5zxkX+Tg9aQQm93hc0P3cOOcw4yIfpycvAbdJcZYCPiHEiCzVxxk9xvfknyIkSXoOuBzI7jZ4/TugAgghHie+710JHCTuQvvy2Ix0nOFk3E8+zjjnOePL9XHGOc8ZF/k445znjIt8nHHOc8ZFPs445znjIh9nnPOccZGPM855zrjIxxnnPGdc5OOMc57z/wNQSeka/AbK7AAAAABJRU5ErkJggg==\n", + "image/png": "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9m+sXbuWz3/+84MwSotzFUto+klzczPf+973+Otf/4osy1x33XX89re/7dOk8vLLL+f999+Pe+y22267oDNawuFwXE8dWZb5whe+QFlZGYsWLeq3T5oQgo6ODlN0QqGQ6Vicm5sbJ2axpl3JWt2fb8TqhIqLi5MSGYA1a9bw7W9/mxdeeIFly5YN8AgtznUsoeknS5cupaamhieffBJVVfn617/O3Llzee6553p9zuWXX86ECRP46U9/aj7m8Xis7oKdqKrK+++/z+rVq3n55ZdRVdXsqXPFFVf0u6eOEAK/32+2N/D7/WRnZ5Ofn08gEODo0aNJN+0632hra2PLli2MHz8+6TqhV199lX/913/lz3/+s1W7ZpEUltD0g7179zJlyhQ+++wz5syZA8Bbb73F1VdfzbFjx3rd37788sspLS3l0UcfHcTRnpvous4//vEPs72Bz+dj6dKllJWVsXjx4tOyrImZfh49epRwOEx6ejpFRUXk5ub2W8zORdrb29m8eTPjxo1L2ofszTff5KabbmLVqlV86UtfGuARWpwvDM1OTUOcDRs2kJGRYYoMwOLFi5FlmY0bN/b53D//+c/k5ORQUlLCD3/4QwKBwEAP95xEURQuv/xyHnvsMY4cOcLrr79OYWEhK1euZPTo0dx0002sXbsWn893yuf2eDxomoYQglmzZpGfn09NTQ3/+Mc/+Oyzz6iqqjonTT9PhY6ODjZv3szYsWOTFpl169Zx880388c//tESGYtT4qxb0JyL1NbW9uhnYbPZyMrK6tOA7ytf+QqjRo2iqKiIHTt28IMf/IDy8nLWrl070EM+p1EUxTT2fOSRR9i8eTOrV6/mpz/9Kd/61rf4p3/6J5YvX87VV1990m1IIQTl5eXU19czZ84cvF4v2dnZjBo1ilAoZFrh7N+/n7S0NNOVYKibfp4KMZEZM2ZM0t5tH3zwATfeeCO///3vufHGGwd4hBbnG9bWWRdWrlx50grmvXv3snbtWp5++mnKy8vjfpeXl8dPfvKTpM093333Xa688koOHjx4Viw6znViXT5jPXUOHz7MlVdeybXXXss111xDRkZGXCGnEIK9e/fS1NTEnDlz+hSPWG+W+vp6mpubSUlJifNfO1fx+Xxs2rSJUaNGJe2o/NFHH3HdddfxyCOP8M1vfvO8a49gMfBYQtOFWMOnvhg7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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -132,7 +120,13 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ "Thanks to [Plotly](https://plot.ly/python/), we can also visualize triangulations. Here, we added some interactivity with a [slider widget](https://www.plot.ly/python/slider-widget/) to set the maximal filtration value to use for displaying triangles.\n", "\n", @@ -141,8 +135,16 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, + "execution_count": 4, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [ + "do_not_execute" + ] + }, "outputs": [ { "data": { @@ -154,70 +156,13 @@ " require.undef(\"plotly\");\n", " define('plotly', function(require, exports, module) {\n", " /**\n", - "* plotly.js v2.12.1\n", - "* Copyright 2012-2022, Plotly, Inc.\n", + "* plotly.js v2.35.2\n", + "* Copyright 2012-2024, 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 t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\"function\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(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 i(e[o][1][t]||t)}),u,u.exports,t,e,r,n)}return r[o].exports}for(var a=\"function\"==typeof require&&require,o=0;o:not(.watermark)\":\"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;\",\"X:hover .modebar--hover .modebar-group\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar.vertical\":\"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\"X .modebar.vertical svg\":\"top:-1px;\",\"X .modebar.vertical .modebar-group\":\"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\"X .modebar.vertical .modebar-group .modebar-btn\":\"display:block;text-align:center;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":'content:\"\";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\"X .vertical [data-title]:before,X .vertical [data-title]:after\":\"top:0%;right:200%;\",\"X .vertical [data-title]:before\":\"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",\"X .select-outline\":\"fill:none;stroke-width:1;shape-rendering:crispEdges;\",\"X .select-outline-1\":\"stroke:#fff;\",\"X .select-outline-2\":\"stroke:#000;stroke-dasharray:2px 2px;\",Y:'font-family:\"Open Sans\",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',\"Y p\":\"margin:0;\",\"Y .notifier-note\":\"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\"Y .notifier-close\":\"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\"Y .notifier-close:hover\":\"color:#444;text-decoration:none;cursor:pointer;\"};for(var a in i){var o=a.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");n.addStyleRule(o,i[a])}},{\"../src/lib\":503}],2:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/aggregate\")},{\"../src/transforms/aggregate\":1118}],3:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/bar\")},{\"../src/traces/bar\":656}],4:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/barpolar\")},{\"../src/traces/barpolar\":669}],5:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/box\")},{\"../src/traces/box\":679}],6:[function(t,e,r){\"use strict\";e.exports=t(\"../src/components/calendars\")},{\"../src/components/calendars\":364}],7:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/candlestick\")},{\"../src/traces/candlestick\":688}],8:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/carpet\")},{\"../src/traces/carpet\":707}],9:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choropleth\")},{\"../src/traces/choropleth\":721}],10:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choroplethmapbox\")},{\"../src/traces/choroplethmapbox\":728}],11:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/cone\")},{\"../src/traces/cone\":734}],12:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contour\")},{\"../src/traces/contour\":749}],13:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contourcarpet\")},{\"../src/traces/contourcarpet\":760}],14:[function(t,e,r){\"use strict\";e.exports=t(\"../src/core\")},{\"../src/core\":481}],15:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/densitymapbox\")},{\"../src/traces/densitymapbox\":768}],16:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/filter\")},{\"../src/transforms/filter\":1119}],17:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/funnel\")},{\"../src/traces/funnel\":778}],18:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/funnelarea\")},{\"../src/traces/funnelarea\":787}],19:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/groupby\")},{\"../src/transforms/groupby\":1120}],20:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmap\")},{\"../src/traces/heatmap\":800}],21:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmapgl\")},{\"../src/traces/heatmapgl\":811}],22:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram\")},{\"../src/traces/histogram\":823}],23:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2d\")},{\"../src/traces/histogram2d\":829}],24:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2dcontour\")},{\"../src/traces/histogram2dcontour\":833}],25:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/icicle\")},{\"../src/traces/icicle\":839}],26:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/image\")},{\"../src/traces/image\":852}],27:[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(\"./icicle\"),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\"),t(\"./scattersmith\"),t(\"./aggregate\"),t(\"./filter\"),t(\"./groupby\"),t(\"./sort\"),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,\"./icicle\":25,\"./image\":26,\"./indicator\":28,\"./isosurface\":29,\"./mesh3d\":30,\"./ohlc\":31,\"./parcats\":32,\"./parcoords\":33,\"./pie\":34,\"./pointcloud\":35,\"./sankey\":36,\"./scatter3d\":37,\"./scattercarpet\":38,\"./scattergeo\":39,\"./scattergl\":40,\"./scattermapbox\":41,\"./scatterpolar\":42,\"./scatterpolargl\":43,\"./scattersmith\":44,\"./scatterternary\":45,\"./sort\":46,\"./splom\":47,\"./streamtube\":48,\"./sunburst\":49,\"./surface\":50,\"./table\":51,\"./treemap\":52,\"./violin\":53,\"./volume\":54,\"./waterfall\":55}],28:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/indicator\")},{\"../src/traces/indicator\":860}],29:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/isosurface\")},{\"../src/traces/isosurface\":866}],30:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/mesh3d\")},{\"../src/traces/mesh3d\":871}],31:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/ohlc\")},{\"../src/traces/ohlc\":876}],32:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcats\")},{\"../src/traces/parcats\":885}],33:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcoords\")},{\"../src/traces/parcoords\":896}],34:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pie\")},{\"../src/traces/pie\":907}],35:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pointcloud\")},{\"../src/traces/pointcloud\":916}],36:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sankey\")},{\"../src/traces/sankey\":922}],37:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatter3d\")},{\"../src/traces/scatter3d\":960}],38:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattercarpet\")},{\"../src/traces/scattercarpet\":967}],39:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergeo\")},{\"../src/traces/scattergeo\":975}],40:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergl\")},{\"../src/traces/scattergl\":989}],41:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattermapbox\")},{\"../src/traces/scattermapbox\":999}],42:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolar\")},{\"../src/traces/scatterpolar\":1007}],43:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolargl\")},{\"../src/traces/scatterpolargl\":1015}],44:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattersmith\")},{\"../src/traces/scattersmith\":1022}],45:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterternary\")},{\"../src/traces/scatterternary\":1030}],46:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/sort\")},{\"../src/transforms/sort\":1122}],47:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/splom\")},{\"../src/traces/splom\":1040}],48:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/streamtube\")},{\"../src/traces/streamtube\":1048}],49:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sunburst\")},{\"../src/traces/sunburst\":1056}],50:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/surface\")},{\"../src/traces/surface\":1065}],51:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/table\")},{\"../src/traces/table\":1073}],52:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/treemap\")},{\"../src/traces/treemap\":1084}],53:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/violin\")},{\"../src/traces/violin\":1097}],54:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/volume\")},{\"../src/traces/volume\":1105}],55:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/waterfall\")},{\"../src/traces/waterfall\":1113}],56:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-array\"),t(\"d3-collection\"),t(\"d3-shape\"),t(\"elementary-circuits-directed-graph\")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,null)}(this,(function(t,e,r,n,i){\"use strict\";function a(t){return t.target.depth}function o(t,e){return t.sourceLinks.length?t.depth:e-1}function s(t){return function(){return t}}i=i&&i.hasOwnProperty(\"default\")?i.default:i;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 f(t.source,e.source)||t.index-e.index}function u(t,e){return f(t.target,e.target)||t.index-e.index}function f(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:\"top\"===t.circularLinkType||\"bottom\"===e.circularLinkType?-1:1}function h(t){return t.value}function p(t){return(t.y0+t.y1)/2}function d(t){return p(t.source)}function m(t){return p(t.target)}function g(t){return t.index}function v(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)}function _(t,e,r){var n=0;if(null===r){for(var a=[],o=0;o1||i>1)}function M(t,e,r){return t.sort(E),t.forEach((function(n,i){var a,o,s=0;if(q(n,r)&&A(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.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 S(t,r,i,a){var o=e.min(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),M(t.links.filter((function(t){return\"top\"==t.circularLinkType})),r,a),M(t.links.filter((function(t){return\"bottom\"==t.circularLinkType})),r,a),t.links.forEach((function(e){if(e.circular){if(e.circularPathData.arcRadius=e.width+10,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,q(e,a)&&A(e))e.circularPathData.leftSmallArcRadius=10+e.width/2,e.circularPathData.leftLargeArcRadius=10+e.width/2,e.circularPathData.rightSmallArcRadius=10+e.width/2,e.circularPathData.rightLargeArcRadius=10+e.width/2,\"bottom\"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+25+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-25-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(C):c.sort(L);var u=0;c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=10+e.width/2+u,e.circularPathData.leftLargeArcRadius=10+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(P),u=0,c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=10+e.width/2+u,e.circularPathData.rightLargeArcRadius=10+e.width/2+n*r+u),u+=t.width})),\"bottom\"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(i,e.source.y1,e.target.y1)+25+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-25-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 f=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=f(e)}}))}function E(t,e){return O(t)==O(e)?\"bottom\"==t.circularLinkType?C(t,e):L(t,e):O(e)-O(t)}function L(t,e){return t.y0-e.y0}function C(t,e){return e.y0-t.y0}function P(t,e){return t.y1-e.y1}function I(t,e){return e.y1-t.y1}function O(t){return t.target.column-t.source.column}function z(t){return t.target.x0-t.source.x1}function D(t,e){var r=T(t),n=z(e)/Math.tan(r);return\"up\"==H(t)?t.y1+n:t.y1-n}function R(t,e){var r=T(t),n=z(e)/Math.tan(r);return\"up\"==H(t)?t.y1-n:t.y1+n}function F(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var c,u=s/(l+1),f=Math.pow(1-u,3),h=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),m=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=m-i.width/2,v=m+i.width/2;g>o.y0&&go.y0&&vo.y1)&&(c=v-o.y0+10,o=N(o,c,e,r),t.nodes.forEach((function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0o.y1&&N(t,c,e,r)})))}}))}}))}function B(t,e){return t.y0>e.y0&&t.y0e.y0&&t.y1e.y1)}function N(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 j(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return b(t.source,r)==b(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!V(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=R(e,t);return t.y1-r}if(e.target.column>t.target.column)return R(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=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if(\"bottom\"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!V(t,e))return t.y0-e.y0;if(e.source.column0?\"up\":\"down\"}function q(t,e){return b(t.source,e)==b(t.target,e)}function G(t,r,n){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){\"top\"==t.circularLinkType?o=!0:\"bottom\"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=e.min(i,(function(t){return t.y0})),c=(n-r)/(e.max(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*c;t.y0=(t.y0-l)*c,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*c,t.y1=(t.y1-l)*c,t.width=t.width*c}))}}t.sankeyCircular=function(){var t,n,i=0,a=0,b=1,T=1,A=24,M=g,E=o,L=v,C=y,P=32,I=2,O=null;function z(){var t={nodes:L.apply(null,arguments),links:C.apply(null,arguments)};D(t),_(t,M,O),R(t),B(t),w(t,M),N(t,P,M),V(t);for(var e=4,r=0;r0?r+25+10:r,bottom:n=n>0?n+25+10:n,left:a=a>0?a+25+10:a,right:i=i>0?i+25+10:i}}(o),f=function(t,r){var n=e.max(t.nodes,(function(t){return t.column})),o=b-i,s=T-a,l=o/(o+r.right+r.left),c=s/(s+r.top+r.bottom);return i=i*l+r.left,b=0==r.right?b:b*l,a=a*c+r.top,T*=c,t.nodes.forEach((function(t){t.x0=i+t.column*((b-i-A)/n),t.x1=t.x0+A})),c}(o,u);l*=f,o.links.forEach((function(t){t.width=t.value*l})),c.forEach((function(t){var e=t.length;t.forEach((function(t,n){t.depth==c.length-1&&1==e||0==t.depth&&1==e?(t.y0=T/2-t.value*l,t.y1=t.y0+t.value*l):t.partOfCycle?0==k(t,r)?(t.y0=T/2+n,t.y1=t.y0+t.value*l):\"top\"==t.circularLinkType?(t.y0=a+n,t.y1=t.y0+t.value*l):(t.y0=T-t.value*l-n,t.y1=t.y0+t.value*l):0==u.top||0==u.bottom?(t.y0=(T-a)/e*n,t.y1=t.y0+t.value*l):(t.y0=(T-a)/2-e/2+n,t.y1=t.y0+t.value*l)}))}))}(l),y();for(var u=1,g=s;g>0;--g)v(u*=.99,l),y();function v(t,r){var n=c.length;c.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&k(i,r)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=T/2-s/2,i.y1=T/2+s/2;else if(o==n-1&&1==a)s=i.y1-i.y0,i.y0=T/2-s/2,i.y1=T/2+s/2;else{var l=e.mean(i.sourceLinks,m),c=e.mean(i.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(i))*t;i.y0+=u,i.y1+=u}}))}))}function y(){c.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(f),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-T)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function V(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,i=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=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return z.nodeId=function(t){return arguments.length?(M=\"function\"==typeof t?t:s(t),z):M},z.nodeAlign=function(t){return arguments.length?(E=\"function\"==typeof t?t:s(t),z):E},z.nodeWidth=function(t){return arguments.length?(A=+t,z):A},z.nodePadding=function(e){return arguments.length?(t=+e,z):t},z.nodes=function(t){return arguments.length?(L=\"function\"==typeof t?t:s(t),z):L},z.links=function(t){return arguments.length?(C=\"function\"==typeof t?t:s(t),z):C},z.size=function(t){return arguments.length?(i=a=0,b=+t[0],T=+t[1],z):[b-i,T-a]},z.extent=function(t){return arguments.length?(i=+t[0][0],b=+t[1][0],a=+t[0][1],T=+t[1][1],z):[[i,a],[b,T]]},z.iterations=function(t){return arguments.length?(P=+t,z):P},z.circularLinkGap=function(t){return arguments.length?(I=+t,z):I},z.nodePaddingRatio=function(t){return arguments.length?(n=+t,z):n},z.sortNodes=function(t){return arguments.length?(O=t,z):O},z.update=function(t){return w(t,M),V(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y1a&&(b=a);var o=e.min(i,(function(t){return(y-n-(t.length-1)*b)/e.sum(t,u)}));i.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 a=1,o=A;o>0;--o)l(a*=.99),d(),s(a),d();function s(t){i.forEach((function(r){r.forEach((function(r){if(r.targetLinks.length){var n=(e.sum(r.targetLinks,h)/e.sum(r.targetLinks,u)-f(r))*t;r.y0+=n,r.y1+=n}}))}))}function l(t){i.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)-f(r))*t;r.y0+=n,r.y1+=n}}))}))}function d(){i.forEach((function(t){var e,r,i,a=n,o=t.length;for(t.sort(c),i=0;i0&&(e.y0+=r,e.y1+=r),a=e.y1+b;if((r=a-b-y)>0)for(a=e.y0-=r,e.y1-=r,i=o-2;i>=0;--i)(r=(e=t[i]).y1+b-a)>0&&(e.y0-=r,e.y1-=r),a=e.y0}))}}function P(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 M.update=function(t){return P(t),t},M.nodeId=function(t){return arguments.length?(_=\"function\"==typeof t?t:o(t),M):_},M.nodeAlign=function(t){return arguments.length?(w=\"function\"==typeof t?t:o(t),M):w},M.nodeWidth=function(t){return arguments.length?(x=+t,M):x},M.nodePadding=function(t){return arguments.length?(b=+t,M):b},M.nodes=function(t){return arguments.length?(T=\"function\"==typeof t?t:o(t),M):T},M.links=function(t){return arguments.length?(k=\"function\"==typeof t?t:o(t),M):k},M.size=function(e){return arguments.length?(t=n=0,i=+e[0],y=+e[1],M):[i-t,y-n]},M.extent=function(e){return arguments.length?(t=+e[0][0],i=+e[1][0],n=+e[0][1],y=+e[1][1],M):[[t,n],[i,y]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M},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=a,t.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(y).target(x)},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-array\":107,\"d3-collection\":108,\"d3-shape\":119}],58:[function(t,e,r){(function(){var t={version:\"3.8.0\"},r=[].slice,n=function(t){return r.call(t)},i=self.document;function a(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(i)try{n(i.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}),i)try{i.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=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){f.call(this,t,e+\"\",r)}}function h(t,e){return te?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function m(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return et?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var g=m(h);function v(t){return t.length}t.bisectLeft=g.left,t.bisect=t.bisectRight=g.right,t.bisector=function(t){return m(1===t.length?function(e,r){return h(t(e),r)}:t)},t.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+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],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t){for(var e=1;t*e%1;)e*=10;return e}function b(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function _(){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,i=[],a=x(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,c,u,f,h=-1,p=a.length,d=i[s++],m=new _;++h=i.length)return e;var n=[],o=a[r++];return e.forEach((function(e,i){n.push({key:e,values:t(i,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 i.push(t),n},n.sortKeys=function(t){return a[i.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 L;if(t)for(var r=0,n=t.length;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(j,\"\\\\$&\")};var j=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function V(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},q=function(t,e){return e.querySelectorAll(t)},G=function(t,e){var r=t.matches||t[I(t,\"matchesSelector\")];return(G=function(t,e){return r.call(t,e)})(t,e)};\"function\"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},q=Sizzle,G=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function W(t){return\"function\"==typeof t?t:function(){return H(t,this)}}function X(t){return\"function\"==typeof t?t:function(){return q(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=W(t);for(var o=-1,s=this.length;++o=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),J.hasOwnProperty(r)?{space:J[r],local:t}:t}},Y.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(K(r,e[r]));return this}return this.each(K(e,r))},Y.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=tt(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=ct.apply(this,arguments);for(var e=-1,r=this.length;++e=e&&(e=i+1);!(o=s[e])&&++e0&&(e=e.slice(0,o));var l=mt.get(e);function c(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:c:r?z:function(){var r,n=new RegExp(\"^__on([^.]+)\"+t.requote(e)+\"$\");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=Y.append,ht.empty=Y.empty,ht.node=Y.node,ht.call=Y.call,ht.size=Y.size,ht.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s1?Et:t<-1?-Et:Math.asin(t)}function It(t){return((t=Math.exp(t))+1/t)/2}var Ot=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<1e-12)n=Math.log(c/o)/Ot,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Ot*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),m=(c*c-o*o-4*h)/(2*c*2*p),g=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(m*m+1)-m);n=(v-g)/Ot,r=function(t){var e,r=t*n,s=It(g),l=o/(2*p)*(s*(e=Ot*r+g,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+l*u,a+l*f,o*s/It(Ot*r+g)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,c,u,f,h={x:0,y:0,k:1},p=[960,500],d=Rt,m=250,g=0,v=\"mousedown.zoom\",y=\"mousemove.zoom\",x=\"mouseup.zoom\",b=\"touchstart.zoom\",_=N(w,\"zoomstart\",\"zoom\",\"zoomend\");function w(t){t.on(v,P).on(Dt+\".zoom\",O).on(\"dblclick.zoom\",z).on(b,I)}function T(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function k(t){h.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function M(e,n,i,a){e.__chart__={x:h.x,y:h.y,k:h.k},k(Math.pow(2,a)),A(r=n,i),e=t.select(e),m>0&&(e=e.transition().duration(m)),e.call(w.event)}function S(){c&&c.domain(l.range().map((function(t){return(t-h.x)/h.k})).map(l.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){g++||t({type:\"zoomstart\"})}function L(t){S(),t({type:\"zoom\",scale:h.k,translate:[h.x,h.y]})}function C(t){--g||(t({type:\"zoomend\"}),r=null)}function P(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,l).on(x,c),a=T(t.mouse(e)),s=bt(e);function l(){n=1,A(t.mouse(e),a),L(r)}function c(){i.on(y,null).on(x,null),s(n),C(r)}Di.call(e),E(r)}function I(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=\".zoom-\"+t.event.changedTouches[0].identifier,l=\"touchmove\"+o,c=\"touchend\"+o,u=[],f=t.select(r),p=bt(r);function d(){var n=t.touches(r);return e=h.k,n.forEach((function(t){t.identifier in i&&(i[t.identifier]=T(t))})),n}function m(){var e=t.event.target;t.select(e).on(l,g).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o1){v=p[0];var x=p[1],b=v[0]-x[0],_=v[1]-x[1];a=b*b+_*_}}function g(){var o,l,c,u,f=t.touches(r);Di.call(r);for(var h=0,p=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new Qt(a(t+120),a(t),a(t-120))}function Ut(e,r,n){return this instanceof Ut?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Ut?new Ut(e.h,e.c,e.l):Xt(e instanceof qt?e.l:(e=ae((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Ut(e,r,n)}Nt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Bt(this.h,this.s,this.l/t)},Nt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Bt(this.h,this.s,t*this.l)},Nt.rgb=function(){return jt(this.h,this.s,this.l)},t.hcl=Ut;var Vt=Ut.prototype=new Ft;function Ht(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new qt(r,Math.cos(t*=Lt)*e,Math.sin(t)*e)}function qt(t,e,r){return this instanceof qt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof qt?new qt(t.l,t.a,t.b):t instanceof Ut?Ht(t.h,t.c,t.l):ae((t=Qt(t)).r,t.g,t.b):new qt(t,e,r)}Vt.brighter=function(t){return new Ut(this.h,this.c,Math.min(100,this.l+Gt*(arguments.length?t:1)))},Vt.darker=function(t){return new Ut(this.h,this.c,Math.max(0,this.l-Gt*(arguments.length?t:1)))},Vt.rgb=function(){return Ht(this.h,this.c,this.l).rgb()},t.lab=qt;var Gt=18,Yt=qt.prototype=new Ft;function Wt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new Qt(Kt(3.2404542*(i=.95047*Zt(i))-1.5371385*(n=1*Zt(n))-.4985314*(a=1.08883*Zt(a))),Kt(-.969266*i+1.8760108*n+.041556*a),Kt(.0556434*i-.2040259*n+1.0572252*a))}function Xt(t,e,r){return t>0?new Ut(Math.atan2(r,e)*Ct,Math.sqrt(e*e+r*r),t):new Ut(NaN,NaN,t)}function Zt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function Jt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function Kt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function Qt(t,e,r){return this instanceof Qt?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof Qt?new Qt(t.r,t.g,t.b):ne(\"\"+t,Qt,jt):new Qt(t,e,r)}function $t(t){return new Qt(t>>16,t>>8&255,255&t)}function te(t){return $t(t)+\"\"}Yt.brighter=function(t){return new qt(Math.min(100,this.l+Gt*(arguments.length?t:1)),this.a,this.b)},Yt.darker=function(t){return new qt(Math.max(0,this.l-Gt*(arguments.length?t:1)),this.a,this.b)},Yt.rgb=function(){return Wt(this.l,this.a,this.b)},t.rgb=Qt;var ee=Qt.prototype=new Ft;function re(t){return t<16?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ne(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\((.*)\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\",\"),n[1]){case\"hsl\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\"rgb\":return e(se(i[0]),se(i[1]),se(i[2]))}return(a=le.get(t))?e(a.r,a.g,a.b):(null==t||\"#\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function ie(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new Bt(n,i,l)}function ae(t,e,r){var n=Jt((.4124564*(t=oe(t))+.3575761*(e=oe(e))+.1804375*(r=oe(r)))/.95047),i=Jt((.2126729*t+.7151522*e+.072175*r)/1);return qt(116*i-16,500*(n-i),200*(i-Jt((.0193339*t+.119192*e+.9503041*r)/1.08883)))}function oe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function se(t){var e=parseFloat(t);return\"%\"===t.charAt(t.length-1)?Math.round(2.55*e):e}ee.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=i.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return self.XDomainRequest&&!(\"withCredentials\"in c)&&/^(http(s)?:)?\\/\\//.test(e)&&(c=new XDomainRequest),\"onload\"in c?c.onload=c.onerror=f:c.onreadystatechange=function(){c.readyState>3&&f()},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 i=t,o},[\"get\",\"post\"].forEach((function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}})),o.send=function(t,n,i){if(2===arguments.length&&\"function\"==typeof n&&(i=n,n=null),c.open(t,e,!0),null==r||\"accept\"in l||(l.accept=r+\",*/*\"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on(\"error\",i).on(\"load\",(function(t){i(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==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}le.forEach((function(t,e){le.set(t,$t(e))})),t.functor=ce,t.xhr=ue(C),t.dsv=function(t,e){var r=new RegExp('[\"'+t+\"\\n]\"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=fe(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.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 i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(me),me=setTimeout(ye,e)),de=0):(de=1,ge(ye))}function xe(){for(var t=Date.now(),e=he;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function be(){for(var t,e=he,r=1/0;e;)e.c?(e.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function ke(t,e){return t[0]-e[0]||t[1]-e[1]}t.timer=function(){ve.apply(this,arguments)},t.timer.flush=function(){xe(),be()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},t.geom={},t.geom.hull=function(t){var e=_e,r=we;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ce(e),a=ce(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[c[n]][2]]);for(n=+f;nkt)s=s.L;else{if(!((i=a-Ve(s,o))>kt)){n>-kt?(e=s.P,r=s):i>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=Fe(t);if(Pe.insert(e,l),e||r){if(e===r)return We(e),r=Fe(e.site),Pe.insert(l,r),l.edge=r.edge=Je(e.site,l.site),Ye(e),void Ye(r);if(r){We(e),We(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,p=t.y-f,d=r.site,m=d.x-u,g=d.y-f,v=2*(h*g-p*m),y=h*h+p*p,x=m*m+g*g,b={x:(g*y-p*x)/v+u,y:(h*x-m*y)/v+f};Qe(r.edge,c,d,b),l.edge=Je(c,t,null,b),r.edge=Je(t,d,null,b),Ye(e),Ye(r)}else l.edge=Je(e.site,l.site)}}function Ue(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)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,f=1/a-1/c,h=u/c;return f?(-h+Math.sqrt(h*h-2*f*(u*u/(-2*c)-l+c/2+i-a/2)))/f+n:(n+s)/2}function Ve(t,e){var r=t.N;if(r)return Ue(r,e);var n=t.site;return n.y===e?n.x:1/0}function He(t){this.site=t,this.edges=[]}function qe(t,e){return e.angle-t.angle}function Ge(){er(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ye(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,f=2*(l*(g=a.y-s)-c*u);if(!(f>=-1e-12)){var h=l*l+c*c,p=u*u+g*g,d=(g*h-c*p)/f,m=(l*p-u*h)/f,g=m+s,v=De.pop()||new Ge;v.arc=t,v.site=i,v.x=d+o,v.y=g+Math.sqrt(d*d+m*m),v.cy=g,t.circle=v;for(var y=null,x=Oe._;x;)if(v.y=s)return;if(h>d){if(a){if(a.y>=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y1)if(h>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=h,h<0){if(e0){if(e>f)return;e>u&&(u=e)}if(e=i-l,h||!(e<0)){if(e/=h,h<0){if(e>f)return;e>u&&(u=e)}else if(h>0){if(e0)){if(e/=p,p<0){if(e0){if(e>f)return;e>u&&(u=e)}if(e=a-c,p||!(e<0)){if(e/=p,p<0){if(e>f)return;e>u&&(u=e)}else if(p>0){if(e0&&(t.a={x:l+u*h,y:c+u*p}),f<1&&(t.b={x:l+f*h,y:c+f*p}),t}}}}}),l=o.length;l--;)(!Xe(e=o[l],t)||!s(e)||y(e.a.x-e.b.x)kt||y(i-r)>kt)&&(s.splice(o,0,new $e(Ke(a.site,u,y(n-f)kt?{x:f,y:y(e-f)kt?{x:y(r-d)kt?{x:h,y:y(e-h)kt?{x:y(r-p)=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,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(i(t,e)/kt)*kt,i:e}}))}return o.links=function(t){return ar(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 ar(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(qe),u=-1,f=c.length,h=c[f-1].edge,p=h.l===l?h.r:h.l;++ua||f>o||h=_)<<1|e>=b,T=w+4;wa&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:dr(r,n)})),a=vr.lastIndex;return am&&(m=l.x),l.y>g&&(g=l.y),c.push(l.x),u.push(l.y);else for(f=0;fm&&(m=b),_>g&&(g=_),c.push(b),u.push(_)}var w=m-p,T=g-d;function k(t,e,r,n,i,a,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)A(t,e,r,n,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,f=n>=c,h=f<<1|u;t.leaf=!1,u?i=l:o=l,f?a=c:s=c,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}w>T?g=d+w:m=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+v(t,++f),+x(t,f),p,d,m,g)},visit:function(t){ur(t,M,p,d,m,g)},find:function(t){return fr(M,t[0],t[1],p,d,m,g)}};if(f=-1,null==e){for(;++f=0&&!(n=t.interpolators[i](e,r)););return n}function xr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1?1:t(e)}}function kr(t){return function(e){return 1-t(1-e)}}function Ar(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Mr(t){return t*t}function Sr(t){return t*t*t}function Er(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 Lr(t){return 1-Math.cos(t*Et)}function Cr(t){return Math.pow(2,10*(t-1))}function Pr(t){return 1-Math.sqrt(1-t*t)}function Ir(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 Or(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function zr(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=Rr(i),s=Dr(i,a),l=Rr(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,e):t,i=e>=0?t.slice(e+1):\"in\";return n=_r.get(n)||br,Tr((i=wr.get(i)||C)(n.apply(null,r.call(arguments,1))))},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);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,i+s*t,a+l*t)+\"\"}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return jt(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return Wt(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateRound=Or,t.transform=function(e){var r=i.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 zr(e?e.matrix:Fr)})(e)},zr.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var Fr={a:1,b:0,c:0,d:1,e:0,f:0};function Br(t){return t.length?t.pop()+\",\":\"\"}function Nr(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\"translate(\",null,\",\",null,\")\");n.push({i:i-4,x:dr(t[0],e[0])},{i:i-2,x:dr(t[1],e[1])})}else(e[0]||e[1])&&r.push(\"translate(\"+e+\")\")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Br(r)+\"rotate(\",null,\")\")-2,x:dr(t,e)})):e&&r.push(Br(r)+\"rotate(\"+e+\")\")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(Br(r)+\"skewX(\",null,\")\")-2,x:dr(t,e)}):e&&r.push(Br(r)+\"skewX(\"+e+\")\")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Br(r)+\"scale(\",null,\",\",null,\")\");n.push({i:i-4,x:dr(t[0],e[0])},{i:i-2,x:dr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Br(r)+\"scale(\"+e+\")\")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r0?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=ve(s.tick)),s):n},s.start=function(){var t,e,r,n=v.length,l=y.length,u=c[0],d=c[1];for(t=0;t=0;)r.push(i[n])}function $r(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return $r(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.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&&(Qr(t,(function(t){t.children&&(t.value=0)})),$r(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 i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++cs&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function dn(t){return t.reduce(mn,0)}function mn(t,e){return t+e[1]}function gn(t,e){return vn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function vn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function yn(e){return[t.min(e),t.max(e)]}function xn(t,e){return t.value-e.value}function bn(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function _n(t,e){t._pack_next=e,e._pack_prev=t}function wn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Tn(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,f=1/0,h=-1/0;if(e.forEach(kn),(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(Mn(r,n,i=e[2]),x(i),bn(r,i),r._pack_prev=i,bn(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=c[t.bisect(h,l,1,d)-1]).y+=m,s.push(a[o]));return c}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=ce(t),a):n},a.bins=function(t){return arguments.length?(i=\"number\"==typeof t?function(e){return vn(e,t)}:ce(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(xn),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:\"function\"==typeof e?e:function(){return e};if(s.x=s.y=0,$r(s,(function(t){t.r=+u(t.value)})),$r(s,Tn),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;$r(s,(function(t){t.r+=f})),$r(s,Tn),$r(s,(function(t){t.r-=f}))}return function t(e,r,n,i){var a=e.children;if(e.x=r+=i*e.x,e.y=n+=i*e.y,e.r*=i,a)for(var o=-1,s=a.length;++op.x&&(p=t),t.depth>d.depth&&(d=t)}));var m=r(h,p)/2-h.x,g=n[0]/(p.x+r(p,h)/2+m),v=n[1]/(d.depth||1);Qr(u,(function(t){t.x=(t.x+m)*g,t.y=t.depth*v}))}return c}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=Ln(s),a=En(a),s&&a;)l=En(l),(o=Ln(o)).a=t,(i=s.z+f-a.z-c+r(s._,a._))>0&&(Cn(Pn(s,t,n),t,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!Ln(o)&&(o.t=s,o.m+=f-u),a&&!En(l)&&(l.t=a,l.m+=c-h,n=t)}return n}(t,i,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 a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},Kr(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Sn,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),c=l[0],u=0;$r(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 f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=f.x-r(f,h)/2,d=h.x+r(h,f)/2;return $r(c,i?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 a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},Kr(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=In,s=!1,l=\"squarify\",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=c[i-1]),s.area+=r.area,\"squarify\"!==l||(n=p(s,m))<=h?(c.pop(),h=n):(s.area-=s.pop().area,d(s,m,a,!1),m=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,m,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((i||u>r.dy)&&(u=r.dy);++or.dx)&&(u=r.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},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;r2?jn:Rn,s=i?Ur:jr;return a=t(e,r,s,n),o=t(r,e,s,yr),l}function l(t){return a(t)}return 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(Or)},l.clamp=function(t){return arguments.length?(i=t,s()):i},l.interpolate=function(t){return arguments.length?(n=t,s()):n},l.ticks=function(t){return qn(e,t)},l.tickFormat=function(t,r){return d3_scale_linearTickFormat(e,t,r)},l.nice=function(t){return Vn(e,t),s()},l.copy=function(){return t(e,r,n,i)},s()}([0,1],[0,1],yr,!1)};t.scale.log=function(){return function t(e,r,n,i){function a(t){return(n?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(r)}function o(t){return n?Math.pow(r,t):-Math.pow(r,-t)}function s(t){return e(a(t))}return s.invert=function(t){return o(e.invert(t))},s.domain=function(t){return arguments.length?(n=t[0]>=0,e.domain((i=t.map(Number)).map(a)),s):i},s.base=function(t){return arguments.length?(r=+t,e.domain(i.map(a)),s):r},s.nice=function(){var t=Fn(i.map(a),n?Math:Gn);return e.domain(t),i=t.map(o),s},s.ticks=function(){var t=zn(i),e=[],s=t[0],l=t[1],c=Math.floor(a(s)),u=Math.ceil(a(l)),f=r%1?2:r;if(isFinite(u-c)){if(n){for(;c0;h--)e.push(o(c)*h);for(c=0;e[c]l;u--);e=e.slice(c,u)}return e},s.copy=function(){return t(e.copy(),r,n,i)},Un(s,e)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var Gn={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function Yn(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 i=Yn(r),a=Yn(1/r);function o(t){return e(i(t))}return o.invert=function(t){return a(e.invert(t))},o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n},o.ticks=function(t){return qn(n,t)},o.tickFormat=function(t,e){return d3_scale_linearTickFormat(n,t,e)},o.nice=function(t){return o.domain(Vn(n,t))},o.exponent=function(t){return arguments.length?(i=Yn(r=t),a=Yn(1/r),e.domain(n.map(i)),o):r},o.copy=function(){return t(e.copy(),r,n)},Un(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 i,a,o;function s(t){return a[((i.get(t)||(\"range\"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map((function(t){return e+n*t}))}return s.domain=function(t){if(!arguments.length)return r;r=[],i=new _;for(var e,a=-1,o=t.length;++a0?i[t-1]:r[0],tf?0:1;if(c=St)return l(c,p)+(s?l(s,1-p):\"\")+\"Z\";var d,m,g,v,y,x,b,_,w,T,k,A,M=0,S=0,E=[];if((v=(+o.apply(this,arguments)||0)/2)&&(g=n===Qn?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Pt(g/c*Math.sin(v))),s&&(M=Pt(g/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(f-S),_=c*Math.sin(f-S);var L=Math.abs(f-u-2*S)<=At?0:1;if(S&&ii(y,x,b,_)===p^L){var C=(u+f)/2;y=c*Math.cos(C),x=c*Math.sin(C),b=_=null}}else y=x=0;if(s){w=s*Math.cos(f-M),T=s*Math.sin(f-M),k=s*Math.cos(u+M),A=s*Math.sin(u+M);var P=Math.abs(u-f+2*M)<=At?0:1;if(M&&ii(w,T,k,A)===1-p^P){var I=(u+f)/2;w=s*Math.cos(I),T=s*Math.sin(I),k=A=null}}else w=T=0;if(h>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){m=s0?0:1}function ai(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,f=t[1]+c,h=e[0]+l,p=e[1]+c,d=(u+h)/2,m=(f+p)/2,g=h-u,v=p-f,y=g*g+v*v,x=r-n,b=u*p-h*f,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-g*_)/y,T=(-b*g-v*_)/y,k=(b*v+g*_)/y,A=(-b*g+v*_)/y,M=w-d,S=T-m,E=k-d,L=A-m;return M*M+S*S>E*E+L*L&&(w=k,T=A),[[w-l,T-c],[w*r/x,T*r/x]]}function oi(){return!0}function si(t){var e=_e,r=we,n=oi,i=ci,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,f=a.length,h=ce(e),p=ce(r);function d(){l.push(\"M\",i(t(c),o))}for(;++u1&&i.push(\"H\",n[0]);return i.join(\"\")},\"step-before\":fi,\"step-after\":hi,basis:mi,\"basis-open\":function(t){if(t.length<4)return ci(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(gi(xi,a)+\",\"+gi(xi,o)),--n;for(;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function ci(t){return t.length>1?t.join(\"L\"):t+\"Z\"}function ui(t){return t.join(\"L\")+\"Z\"}function fi(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e1){s=e[1],a=t[l],l++,n+=\"C\"+(i[0]+o[0])+\",\"+(i[1]+o[1])+\",\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1];for(var c=2;cAt)+\",1 \"+e}function l(t,e,r,n){return\"Q 0,0 \"+n}return a.radius=function(t){return arguments.length?(r=ce(t),a):r},a.source=function(e){return arguments.length?(t=ce(e),a):t},a.target=function(t){return arguments.length?(e=ce(t),a):e},a.startAngle=function(t){return arguments.length?(n=ce(t),a):n},a.endAngle=function(t){return arguments.length?(i=ce(t),a):i},a},t.svg.diagonal=function(){var t=ki,e=Ai,r=Si;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return\"M\"+(l=l.map(r))[0]+\"C\"+l[1]+\" \"+l[2]+\" \"+l[3]}return n.source=function(e){return arguments.length?(t=ce(e),n):t},n.target=function(t){return arguments.length?(e=ce(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=Si,n=e.projection;return e.projection=function(t){return arguments.length?n(Ei(r=t)):r},e},t.svg.symbol=function(){var t=Ci,e=Li;function r(r,n){return(Ii.get(t.call(this,r,n))||Pi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ce(e),r):t},r.size=function(t){return arguments.length?(e=ce(t),r):e},r};var Ii=t.map({circle:Pi,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*zi)),r=e*zi;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/Oi),r=e*Oi/2;return\"M0,\"+r+\"L\"+e+\",\"+-r+\" \"+-e+\",\"+-r+\"Z\"},\"triangle-up\":function(t){var e=Math.sqrt(t/Oi),r=e*Oi/2;return\"M0,\"+-r+\"L\"+e+\",\"+r+\" \"+-e+\",\"+r+\"Z\"}});t.svg.symbolTypes=Ii.keys();var Oi=Math.sqrt(3),zi=Math.tan(30*Lt);Y.transition=function(t){for(var e,r,n=Bi||++Ui,i=qi(t),a=[],o=Ni||{time:Date.now(),ease:Er,delay:0,duration:250},s=-1,l=this.length;++s0;)c[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}f||(a=i.time,o=ve((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=u[n]={tween:new _,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}ji.call=Y.call,ji.empty=Y.empty,ji.node=Y.node,ji.size=Y.size,t.transition=function(e,r){return e&&e.transition?Bi?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=ji,ji.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=W(t);for(var s=-1,l=this.length;++srect,.s>rect\").attr(\"width\",s[1]-s[0])}function m(t){t.select(\".extent\").attr(\"y\",l[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",l[1]-l[0])}function g(){var f,g,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,T=!/^(e|w)$/.test(_)&&a,k=y.classed(\"extent\"),A=bt(v),M=t.mouse(v),S=t.select(o(v)).on(\"keydown.brush\",C).on(\"keyup.brush\",P);if(t.event.changedTouches?S.on(\"touchmove.brush\",I).on(\"touchend.brush\",z):S.on(\"mousemove.brush\",I).on(\"mouseup.brush\",z),b.interrupt().selectAll(\"*\").interrupt(),k)M[0]=s[0]-M[0],M[1]=l[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);g=[s[1-E]-M[0],l[1-L]-M[1]],M[0]=s[E],M[1]=l[L]}else t.event.altKey&&(f=M.slice());function C(){32==t.event.keyCode&&(k||(f=null,M[0]-=s[1],M[1]-=l[1],k=2),F())}function P(){32==t.event.keyCode&&2==k&&(M[0]+=s[1],M[1]+=l[1],k=0,F())}function I(){var e=t.mouse(v),r=!1;g&&(e[0]+=g[0],e[1]+=g[1]),k||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),M[0]=s[+(e[0]>>1;e.dtype||(e.dtype=\"array\"),\"string\"==typeof e.dtype?d=new(f(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var v=0;vr||s>1073741824){for(var h=0;he+n||w>r+n||T=A||a===o)){var s=y[i];void 0===o&&(o=s.length);for(var l=a;l=d&&u<=g&&f>=m&&f<=v&&S.push(c)}var h=x[i],p=h[4*a+0],b=h[4*a+1],M=h[4*a+2],E=h[4*a+3],P=C(h,a+1),I=.5*n,O=i+1;L(e,r,I,O,p,b||M||E||P),L(e,r+I,I,O,b,M||E||P),L(e+I,r,I,O,M,E||P),L(e+I,r+I,I,O,E,P)}}function C(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}return L(0,0,1,0,0,1),S},d;function E(t,e,r,i,a){for(var o=[],s=0;s0){e+=Math.abs(a(t[0]));for(var r=1;r2){for(s=0;s=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=f,r.lengthToRadians=h,r.lengthToDegrees=function(t,e){return p(h(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 f(h(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 i=r.areaFactors[e];if(!i)throw new Error(\"invalid original units\");var a=r.areaFactors[n];if(!a)throw new Error(\"invalid final units\");return t/i*a},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\")}},{}],63:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/helpers\");function i(t,e,r){if(null!==t)for(var n,a,o,s,l,c,u,f,h=0,p=0,d=t.type,m=\"FeatureCollection\"===d,g=\"Feature\"===d,v=m?t.features.length:1,y=0;yc||p>u||d>f)return l=i,c=r,u=p,f=d,void(o=0);var m=n.lineString([l,i],t.properties);if(!1===e(m,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function u(t,e){if(!t)throw new Error(\"geojson is required\");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case\"LineString\":if(!1===e(t,r,i,0,0))return!1;break;case\"Polygon\":for(var s=0;st[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]=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=f,r.lengthToRadians=h,r.lengthToDegrees=function(t,e){return p(h(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 f(h(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 i=r.areaFactors[e];if(!i)throw new Error(\"invalid original units\");var a=r.areaFactors[n];if(!a)throw new Error(\"invalid final units\");return t/i*a},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`\")}},{}],69:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/helpers\");function i(t,e,r){if(null!==t)for(var n,a,o,s,l,c,u,f,h=0,p=0,d=t.type,m=\"FeatureCollection\"===d,g=\"Feature\"===d,v=m?t.features.length:1,y=0;yc||p>u||d>f)return l=i,c=r,u=p,f=d,void(o=0);var m=n.lineString([l,i],t.properties);if(!1===e(m,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function u(t,e){if(!t)throw new Error(\"geojson is required\");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case\"LineString\":if(!1===e(t,r,i,0,0))return!1;break;case\"Polygon\":for(var s=0;si&&(i=t[o]),t[o] \n", - " * @license MIT\n", - " */function i(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i=0;c--)if(u[c]!==f[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 i;if(\"function\"!=typeof e)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!i&&v(i,r,\"Missing expected exception\"+n);var a=\"string\"==typeof n,s=!t&&i&&!r;if((!t&&o.isError(i)&&a&&_(i,r)||s)&&v(i,r,\"Got unwanted exception\"+n),t&&i&&r&&!_(i,r)||!t&&i)throw i}h.AssertionError=function(t){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=function(t){return m(g(t.actual),128)+\" \"+t.operator+\" \"+m(g(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=d(e),a=n.indexOf(\"\\n\"+i);if(a>=0){var o=n.indexOf(\"\\n\",a+1);n=n.substring(o+1)}this.stack=n}}},o.inherits(h.AssertionError,Error),h.fail=v,h.ok=y,h.equal=function(t,e,r){t!=e&&v(t,e,r,\"==\",h.equal)},h.notEqual=function(t,e,r){t==e&&v(t,e,r,\"!=\",h.notEqual)},h.deepEqual=function(t,e,r){x(t,e,!1)||v(t,e,r,\"deepEqual\",h.deepEqual)},h.deepStrictEqual=function(t,e,r){x(t,e,!0)||v(t,e,r,\"deepStrictEqual\",h.deepStrictEqual)},h.notDeepEqual=function(t,e,r){x(t,e,!1)&&v(t,e,r,\"notDeepEqual\",h.notDeepEqual)},h.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&v(e,r,n,\"notDeepStrictEqual\",t)},h.strictEqual=function(t,e,r){t!==e&&v(t,e,r,\"===\",h.strictEqual)},h.notStrictEqual=function(t,e,r){t===e&&v(t,e,r,\"!==\",h.notStrictEqual)},h.throws=function(t,e,r){w(!0,t,e,r)},h.doesNotThrow=function(t,e,r){w(!1,t,e,r)},h.ifError=function(t){if(t)throw t},h.strict=n((function t(e,r){e||v(e,!0,r,\"==\",t)}),h,{equal:h.strictEqual,deepEqual:h.deepStrictEqual,notEqual:h.notStrictEqual,notDeepEqual:h.notDeepStrictEqual}),h.strict.strict=h.strict;var T=Object.keys||function(t){var e=[];for(var r in t)s.call(t,r)&&e.push(r);return e}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"object-assign\":247,\"util/\":78}],76:[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}},{}],77:[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}},{}],78:[function(t,e,r){(function(e,n){(function(){var i=/%[sdj%]/g;r.format=function(t){if(!v(t)){for(var e=[],r=0;r=a)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=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&&T(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return v(i)||(i=u(t,i,n)),i}var a=function(t,e){if(y(e))return t.stylize(\"undefined\",\"undefined\");if(v(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}if(g(e))return t.stylize(\"\"+e,\"number\");if(d(e))return t.stylize(\"\"+e,\"boolean\");if(m(e))return t.stylize(\"null\",\"null\")}(t,e);if(a)return a;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 f(e);if(0===o.length){if(T(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 f(e)}var c,b=\"\",k=!1,A=[\"{\",\"}\"];(p(e)&&(k=!0,A=[\"[\",\"]\"]),T(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=\" \"+f(e)),0!==o.length||k&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),\"regexp\"):t.stylize(\"[Object]\",\"special\"):(t.seen.push(e),c=k?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o=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,A)):A[0]+b+A[1]}function f(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function h(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):l.set&&(s=t.stylize(\"[Setter]\",\"special\")),E(n,i)||(o=\"[\"+i+\"]\"),s||(t.seen.indexOf(l.value)<0?(s=m(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf(\"\\n\")>-1&&(s=a?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(a&&i.match(/^\\d+$/))return s;(o=JSON.stringify(\"\"+i)).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 m(t){return null===t}function g(t){return\"number\"==typeof t}function v(t){return\"string\"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&\"[object RegExp]\"===k(t)}function b(t){return\"object\"==typeof t&&null!==t}function _(t){return b(t)&&\"[object Date]\"===k(t)}function w(t){return b(t)&&(\"[object Error]\"===k(t)||t instanceof Error)}function T(t){return\"function\"==typeof t}function k(t){return Object.prototype.toString.call(t)}function A(t){return t<10?\"0\"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(a)&&(a=e.env.NODE_DEBUG||\"\"),t=t.toUpperCase(),!o[t])if(new RegExp(\"\\\\b\"+t+\"\\\\b\",\"i\").test(a)){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=m,r.isNullOrUndefined=function(t){return null==t},r.isNumber=g,r.isString=v,r.isSymbol=function(t){return\"symbol\"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=T,r.isPrimitive=function(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||void 0===t},r.isBuffer=t(\"./support/isBuffer\");var M=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function S(){var t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(\":\");return[t.getDate(),M[t.getMonth()],e].join(\" \")}function E(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){console.log(\"%s - %s\",S(),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)}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./support/isBuffer\":77,_process:277,inherits:76}],79:[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 a(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),u=0,f=s>0?o-4:o;for(r=0;r>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[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,i=r%3,a=[],o=0,s=r-i;os?s:o+16383));1===i?(e=t[r-1],a.push(n[e>>2]+n[e<<4&63]+\"==\")):2===i&&(e=(t[r-2]<<8)+t[r-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+\"=\"));return a.join(\"\")};for(var n=[],i=[],a=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,l=o.length;s0)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 i,a,o=[],s=e;s>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join(\"\")}i[\"-\".charCodeAt(0)]=62,i[\"_\".charCodeAt(0)]=63},{}],80:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function i(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function a(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function o(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function s(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function l(t,e,r,n,i,a){return\"function\"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}e.exports={ge:function(t,e,r,i,a){return l(t,e,r,i,a,n)},gt:function(t,e,r,n,a){return l(t,e,r,n,a,i)},lt:function(t,e,r,n,i){return l(t,e,r,n,i,a)},le:function(t,e,r,n,i){return l(t,e,r,n,i,o)},eq:function(t,e,r,n,i){return l(t,e,r,n,i,s)}}},{}],81:[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)&-(t65535)<<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 i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|i[t>>>16&255]<<8|i[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}},{}],82:[function(t,e,r){\"use strict\";var n=t(\"clamp\");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,f,h,p,d,m,g=null==e.cutoff?.25:e.cutoff,v=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?(f=(h=t).getContext(\"2d\"),r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t.canvas,f=t,r=h.width,o=h.height,p=f.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,m=c.length;d0&&o.length>i&&!o.warned){o.warned=!0;var l=new Error(\"Possible EventEmitter memory leak detected. \"+o.length+\" \"+String(e)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");l.name=\"MaxListenersExceededWarning\",l.emitter=t,l.type=e,l.count=o.length,s=l,console&&console.warn&&console.warn(s)}return t}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=h.bind(n);return i.listener=r,n.wrapFn=i,i}function d(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:\"function\"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error(\"Unhandled error.\"+(o?\" (\"+o.message+\")\":\"\"));throw s.context=o,s}var l=i[t];if(void 0===l)return!1;if(\"function\"==typeof l)a(l,this,e);else{var c=l.length,u=g(l,c);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},s.prototype.listeners=function(t){return d(this,t,!0)},s.prototype.rawListeners=function(t){return d(this,t,!1)},s.listenerCount=function(t,e){return\"function\"==typeof t.listenerCount?t.listenerCount(e):m.call(t,e)},s.prototype.listenerCount=m,s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},{}],85:[function(t,e,r){(function(e){(function(){\n", - "/*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh \n", - " * @license MIT\n", - " */\n", - "\"use strict\";var e=t(\"base64-js\"),n=t(\"ieee754\");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(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 l(t)}return o(t,e,r)}function o(t,e,r){if(\"string\"==typeof t)return function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!a.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|f(t,e),n=i(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength=2147483647)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+2147483647..toString(16)+\" bytes\");return 0|t}function f(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(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 r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return D(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return R(t).length;default:if(i)return n?-1:D(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function h(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 M(this,e,r);case\"utf8\":case\"utf-8\":return T(this,e,r);case\"ascii\":return k(this,e,r);case\"latin1\":case\"binary\":return A(this,e,r);case\"base64\":return w(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return S(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),N(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=a.from(e,n)),a.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function m(t,e,r,n,i){var a,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(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function w(t,r,n){return 0===r&&n===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,n))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;ne&&(t+=\" ... \"),\"\"},a.prototype.compare=function(t,e,r,n,i){if(B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),l=Math.min(o,s),c=this.slice(n,i),u=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return g(this,t,e,r);case\"utf8\":case\"utf-8\":return v(this,t,e,r);case\"ascii\":return y(this,t,e,r);case\"latin1\":case\"binary\":return x(this,t,e,r);case\"base64\":return b(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return _(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},a.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function k(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i=\"\",a=e;ar)throw new RangeError(\"Trying to access beyond buffer length\")}function L(t,e,r,n,i,o){if(!a.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError(\"Index out of range\")}function C(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function P(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,4),n.write(t,e,r,i,23,4),r+4}function I(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,8),n.write(t,e,r,i,52,8),r+8}a.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},a.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},a.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},a.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},a.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},a.prototype.readInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},a.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!1,52,8)},a.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||L(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n)||L(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},a.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,255,0),this[e]=255&t,e+1},a.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},a.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},a.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeFloatLE=function(t,e,r){return P(this,t,e,!0,r)},a.prototype.writeFloatBE=function(t,e,r){return P(this,t,e,!1,r)},a.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},a.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},a.prototype.copy=function(t,e,r,n){if(!a.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},a.prototype.fill=function(t,e,r,n){if(\"string\"==typeof t){if(\"string\"==typeof e?(n=e,e=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!a.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===t.length){var i=t.charCodeAt(0);(\"utf8\"===n&&i<128||\"latin1\"===n)&&(t=i)}}else\"number\"==typeof t&&(t&=255);if(e<0||this.length>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function R(t){return e.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(O,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function F(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function N(t){return t!=t}}).call(this)}).call(this,t(\"buffer\").Buffer)},{\"base64-js\":79,buffer:85,ieee754:230}],86:[function(t,e,r){e.exports=function(t,e,r){return er?r:t:te?e:t}},{}],87:[function(t,e,r){\"use strict\";var n=t(\"clamp\");function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(o=255&n(o,0,255))}e.exports=i,e.exports.to=i,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:86}],88:[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]}},{}],89:[function(t,e,r){\"use strict\";var n=t(\"color-rgba\"),i=t(\"clamp\"),a=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(a(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]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},{clamp:86,\"color-rgba\":91,dtype:127}],90:[function(t,e,r){(function(r){(function(){\"use strict\";var n=t(\"color-name\"),i=t(\"is-plain-obj\"),a=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=(p=t.slice(1)).length;c=1,u<=4?(l=[parseInt(p[0]+p[0],16),parseInt(p[1]+p[1],16),parseInt(p[2]+p[2],16)],4===u&&(c=parseInt(p[3]+p[3],16)/255)):(l=[parseInt(p[0]+p[1],16),parseInt(p[2]+p[3],16),parseInt(p[4]+p[5],16)],8===u&&(c=parseInt(p[6]+p[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 f=e[1],h=\"rgb\"===f,p=f.replace(/a$/,\"\");s=p;u=\"cmyk\"===p?4:\"gray\"===p?1:3;l=e[2].trim().split(/\\s*,\\s*/).map((function(t,e){if(/%$/.test(t))return e===u?parseFloat(t)/100:\"rgb\"===p?255*parseFloat(t)/100:parseFloat(t);if(\"h\"===p[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)})),f===p&&l.push(1),c=h||void 0===l[u]?1:l[u],l=l.slice(0,u)}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(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s=\"rgb\",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s=\"hsl\",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),c=a(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)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"color-name\":88,defined:124,\"is-plain-obj\":236}],91:[function(t,e,r){\"use strict\";var n=t(\"color-parse\"),i=t(\"color-space/hsl\"),a=t(\"clamp\");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),\"h\"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:86,\"color-parse\":90,\"color-space/hsl\":92}],92:[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,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/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\":93}],93:[function(t,e,r){\"use strict\";e.exports={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}},{}],94:[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\"}},{}],95:[function(t,e,r){e.exports=[\"xx-small\",\"x-small\",\"small\",\"medium\",\"large\",\"x-large\",\"xx-large\",\"larger\",\"smaller\"]},{}],96:[function(t,e,r){e.exports=[\"normal\",\"condensed\",\"semi-condensed\",\"extra-condensed\",\"ultra-condensed\",\"expanded\",\"semi-expanded\",\"extra-expanded\",\"ultra-expanded\"]},{}],97:[function(t,e,r){e.exports=[\"normal\",\"italic\",\"oblique\"]},{}],98:[function(t,e,r){e.exports=[\"normal\",\"bold\",\"bolder\",\"lighter\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"]},{}],99:[function(t,e,r){\"use strict\";e.exports={parse:t(\"./parse\"),stringify:t(\"./stringify\")}},{\"./parse\":101,\"./stringify\":102}],100:[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\":95}],101:[function(t,e,r){\"use strict\";var n=t(\"unquote\"),i=t(\"css-global-keywords\"),a=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=h;var f=h.cache={};function h(t){if(\"string\"!=typeof t)throw new Error(\"Font argument must be a string.\");if(f[t])return f[t];if(\"\"===t)throw new Error(\"Cannot parse an empty string.\");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},h=c(t,/\\s+/);e=h.shift();){if(-1!==i.indexOf(e))return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach((function(t){r[t]=e})),f[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]):\"/\"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error(\"Missing required font-family.\");return r.family=c(h.join(\" \"),/\\s*,\\s*/).map(n),f[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\":100,\"css-font-stretch-keywords\":96,\"css-font-style-keywords\":97,\"css-font-weight-keywords\":98,\"css-global-keywords\":103,\"css-system-font-keywords\":104,\"string-split-by\":305,unquote:328}],102:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\"),i=t(\"./lib/util\").isSize,a=m(t(\"css-global-keywords\")),o=m(t(\"css-system-font-keywords\")),s=m(t(\"css-font-weight-keywords\")),l=m(t(\"css-font-style-keywords\")),c=m(t(\"css-font-stretch-keywords\")),u={normal:1,\"small-caps\":1},f={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},h=\"1rem\",p=\"serif\";function d(t,e){if(t&&!e[t]&&!a[t])throw Error(\"Unknown keyword `\"+t+\"`\");return t}function m(t){for(var e={},r=0;re?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,i){for(null==n&&(n=0),null==i&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}function s(t){return null===t?NaN:+t}function l(t,e){var r,n,i=t.length,a=0,o=-1,l=0,c=0;if(null==e)for(;++o1)return c/(a-1)}function c(t,e){var r=l(t,e);return r?Math.sqrt(r):r}function u(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o=r)for(n=i=r;++or&&(n=r),i=r)for(n=i=r;++or&&(n=r),i=0?(a>=v?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=v?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=v?i*=10:a>=y?i*=5:a>=x&&(i*=2),e=1)return+r(t[n-1],n-1,t);var n,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}}function k(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function A(t){if(!(i=t.length))return[];for(var e=-1,r=k(t,M),n=new Array(r);++et?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=m,e=u,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;af;)h.pop(),--p;var d,m=new Array(p+1);for(a=0;a<=p;++a)(d=m[a]=[]).x0=a>0?h[a-1]:u,d.x1=a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=k,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r0)return[t];if((n=e0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,f,h=-1,p=n.length,d=l[i++],m=r(),g=a();++hl.length)return r;var i,a=c[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each((function(e,r){i.push({key:r,values:t(e,n)})}))),null!=a?i.sort((function(t,e){return a(t.key,e.key)})):i}(u(t,0,a,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})}))},{}],109:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(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 i=\"\\\\s*([+-]?\\\\d+)\\\\s*\",a=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",o=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",s=/^#([0-9a-f]{3,8})$/,l=new RegExp(\"^rgb\\\\(\"+[i,i,i]+\"\\\\)$\"),c=new RegExp(\"^rgb\\\\(\"+[o,o,o]+\"\\\\)$\"),u=new RegExp(\"^rgba\\\\(\"+[i,i,i,a]+\"\\\\)$\"),f=new RegExp(\"^rgba\\\\(\"+[o,o,o,a]+\"\\\\)$\"),h=new RegExp(\"^hsl\\\\(\"+[a,o,o]+\"\\\\)$\"),p=new RegExp(\"^hsla\\\\(\"+[a,o,o,a]+\"\\\\)$\"),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 m(){return this.rgb().formatHex()}function g(){return this.rgb().formatRgb()}function v(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?x(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?x(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=f.exec(t))?x(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=h.exec(t))?M(e[1],e[2]/100,e[3]/100,1):(e=p.exec(t))?M(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=v(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 T(){return\"#\"+A(this.r)+A(this.g)+A(this.b)}function k(){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 A(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?\"0\":\"\")+t.toString(16)}function M(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=v(t)),!t)return new L;if(t instanceof L)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,c=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r0&&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,v,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:m,formatHex:m,formatHsl:function(){return S(this).formatHsl()},formatRgb:g,toString:g}),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:T,formatHex:T,formatRgb:k,toString:k})),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,i=2*r-n;return new w(C(t>=240?t-240:t+120,i,n),C(t,i,n),C(t<120?t+240:t-120,i,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,I=180/Math.PI,O=6/29,z=3*O*O;function D(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof q)return G(t);t instanceof w||(t=b(t));var e,r,n=U(t.r),i=U(t.g),a=U(t.b),o=B((.2225045*n+.7168786*i+.0606169*a)/1);return n===i&&i===a?e=r=o:(e=B((.4360747*n+.3850649*i+.1430804*a)/.96422),r=B((.0139322*n+.0971045*i+.7141733*a)/.82521)),new F(116*o-16,500*(e-o),200*(o-r),t.opacity)}function R(t,e,r,n){return 1===arguments.length?D(t):new F(t,e,r,null==n?1:n)}function F(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function B(t){return t>.008856451679035631?Math.pow(t,1/3):t/z+4/29}function N(t){return t>O?t*t*t:z*(t-4/29)}function j(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function U(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function V(t){if(t instanceof q)return new q(t.h,t.c,t.l,t.opacity);if(t instanceof F||(t=D(t)),0===t.a&&0===t.b)return new q(NaN,0=0&&(r=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);return{type:t,name:r}}))}function a(t,e){for(var r,n=0,i=t.length;n0)for(var r,n,i=new Array(r),a=0;ah+c||np+c||au.index){var f=h-s.x-s.vx,g=p-s.y-s.vy,v=f*f+g*g;vt.r&&(t.r=t[e].r)}function h(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e=c)){(t.data!==r||t.next)&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d1?(null==r?u.remove(t):u.set(t,v(r)),e):u.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c1?(h.on(t,r),e):h.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a1?n[0]+n.slice(2):n,+t.slice(r+1)]}function r(t){return(t=e(Math.abs(t)))?t[1]:NaN}var n,i=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function a(t){if(!(e=i.exec(t)))throw new Error(\"invalid format: \"+t);var e;return new o({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function o(t){this.fill=void 0===t.fill?\" \":t.fill+\"\",this.align=void 0===t.align?\">\":t.align+\"\",this.sign=void 0===t.sign?\"-\":t.sign+\"\",this.symbol=void 0===t.symbol?\"\":t.symbol+\"\",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?\"\":t.type+\"\"}function s(t,r){var n=e(t,r);if(!n)return t+\"\";var i=n[0],a=n[1];return a<0?\"0.\"+new Array(-a).join(\"0\")+i:i.length>a+1?i.slice(0,a+1)+\".\"+i.slice(a+1):i+new Array(a-i.length+2).join(\"0\")}a.prototype=o.prototype,o.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(void 0===this.width?\"\":Math.max(1,0|this.width))+(this.comma?\",\":\"\")+(void 0===this.precision?\"\":\".\"+Math.max(0,0|this.precision))+(this.trim?\"~\":\"\")+this.type};var l={\"%\":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+\"\"},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString(\"en\").replace(/,/g,\"\"):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return s(100*t,e)},r:s,s:function(t,r){var i=e(t,r);if(!i)return t+\"\";var a=i[0],o=i[1],s=o-(n=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join(\"0\"):s>0?a.slice(0,s)+\".\"+a.slice(s):\"0.\"+new Array(1-s).join(\"0\")+e(t,Math.max(0,r+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function c(t){return t}var u,f=Array.prototype.map,h=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xb5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function p(t){var e,i,o=void 0===t.grouping||void 0===t.thousands?c:(e=f.call(t.grouping,Number),i=t.thousands+\"\",function(t,r){for(var n=t.length,a=[],o=0,s=e[0],l=0;n>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),a.push(t.substring(n-=s,n+s)),!((l+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(i)}),s=void 0===t.currency?\"\":t.currency[0]+\"\",u=void 0===t.currency?\"\":t.currency[1]+\"\",p=void 0===t.decimal?\".\":t.decimal+\"\",d=void 0===t.numerals?c:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(f.call(t.numerals,String)),m=void 0===t.percent?\"%\":t.percent+\"\",g=void 0===t.minus?\"-\":t.minus+\"\",v=void 0===t.nan?\"NaN\":t.nan+\"\";function y(t){var e=(t=a(t)).fill,r=t.align,i=t.sign,c=t.symbol,f=t.zero,y=t.width,x=t.comma,b=t.precision,_=t.trim,w=t.type;\"n\"===w?(x=!0,w=\"g\"):l[w]||(void 0===b&&(b=12),_=!0,w=\"g\"),(f||\"0\"===e&&\"=\"===r)&&(f=!0,e=\"0\",r=\"=\");var T=\"$\"===c?s:\"#\"===c&&/[boxX]/.test(w)?\"0\"+w.toLowerCase():\"\",k=\"$\"===c?u:/[%p]/.test(w)?m:\"\",A=l[w],M=/[defgprs%]/.test(w);function S(t){var a,s,l,c=T,u=k;if(\"c\"===w)u=A(t)+u,t=\"\";else{var m=(t=+t)<0||1/t<0;if(t=isNaN(t)?v:A(Math.abs(t),b),_&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),m&&0==+t&&\"+\"!==i&&(m=!1),c=(m?\"(\"===i?i:g:\"-\"===i||\"(\"===i?\"\":i)+c,u=(\"s\"===w?h[8+n/3]:\"\")+u+(m&&\"(\"===i?\")\":\"\"),M)for(a=-1,s=t.length;++a(l=t.charCodeAt(a))||l>57){u=(46===l?p+t.slice(a+1):t.slice(a))+u,t=t.slice(0,a);break}}x&&!f&&(t=o(t,1/0));var S=c.length+t.length+u.length,E=S>1)+c+t+u+E.slice(S);break;default:t=E+c+t+u}return d(t)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return t+\"\"},S}return{format:y,formatPrefix:function(t,e){var n=y(((t=a(t)).type=\"f\",t)),i=3*Math.max(-8,Math.min(8,Math.floor(r(e)/3))),o=Math.pow(10,-i),s=h[8+i/3];return function(t){return n(o*t)+s}}}}function d(e){return u=p(e),t.format=u.format,t.formatPrefix=u.formatPrefix,u}d({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"}),t.FormatSpecifier=o,t.formatDefaultLocale=d,t.formatLocale=p,t.formatSpecifier=a,t.precisionFixed=function(t){return Math.max(0,-r(Math.abs(t)))},t.precisionPrefix=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(r(e)/3)))-r(Math.abs(t)))},t.precisionRound=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,r(e)-r(t))+1},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],113:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-geo\"),t(\"d3-array\")):i(n.d3=n.d3||{},n.d3,n.d3)}(this,(function(t,e,r){\"use strict\";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,c=Math.log,u=Math.max,f=Math.min,h=Math.pow,p=Math.round,d=Math.sign||function(t){return t>0?1:t<0?-1:0},m=Math.sin,g=Math.tan,v=1e-6,y=Math.PI,x=y/2,b=y/4,_=Math.SQRT1_2,w=L(2),T=L(y),k=2*y,A=180/y,M=y/180;function S(t){return t>1?x:t<-1?-x:Math.asin(t)}function E(t){return t>1?0:t<-1?y:Math.acos(t)}function L(t){return t>0?Math.sqrt(t):0}function C(t){return(s(t)-s(-t))/2}function P(t){return(s(t)+s(-t))/2}function I(t){var e=g(t/2),r=2*c(o(t/2))/(e*e);function i(t,e){var n=o(t),i=o(e),a=m(e),s=i*n,l=-((1-s?c((1+s)/2)/(1-s):-.5)+r/(1+s));return[l*i*m(t),l*a]}return i.invert=function(e,i){var s,l=L(e*e+i*i),u=-t/2,f=50;if(!l)return[0,0];do{var h=u/2,p=o(h),d=m(h),g=d/p,y=-c(n(p));u-=s=(2/g*y-r*g-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(n(s)>v&&--f>0);var x=m(u);return[a(e*x,l*o(u)),S(i*x/l)]},i}function O(t,e){var r=o(e),n=function(t){return t?t/Math.sin(t):1}(E(r*o(t/=2)));return[2*r*m(t)*n,m(e)*n]}function z(t){var e=m(t),r=o(t),i=t>=0?1:-1,s=g(i*t),l=(1+e-r)/2;function c(t,n){var c=o(n),u=o(t/=2);return[(1+c)*m(t),(i*n>-a(u,s)-.001?0:10*-i)+l+m(n)*r-(1+c)*e*u]}return c.invert=function(t,c){var u=0,f=0,h=50;do{var p=o(u),d=m(u),g=o(f),y=m(f),x=1+g,b=x*d-t,_=l+y*r-x*e*p-c,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*g+e*p*y,M=T*k-A*w,S=(_*T-b*A)/M/2,E=(b*k-_*w)/M;n(E)>2&&(E/=2),u-=S,f-=E}while((n(S)>v||n(E)>v)&&--h>0);return i*f>-a(o(u),s)-.001?[2*u,f]:null},c}function D(t,e){var r=g(e/2),n=L(1-r*r),i=1+n*o(t/=2),a=m(t)*n/i,s=r/i,l=a*a,c=s*s;return[4/3*a*(3+l-3*c),4/3*s*(3+3*l-c)]}O.invert=function(t,e){if(!(t*t+4*e*e>y*y+v)){var r=t,i=e,a=25;do{var s,l=m(r),c=m(r/2),u=o(r/2),f=m(i),h=o(i),p=m(2*i),d=f*f,g=h*h,x=c*c,b=1-g*u*u,_=b?E(h*u)*L(s=1/b):s=0,w=2*_*h*c-t,T=_*f-e,k=s*(g*x+_*h*u*d),A=s*(.5*l*p-2*_*f*c),M=.25*s*(p*c-_*f*g*l),S=s*(d*u+_*x*h),C=A*M-S*k;if(!C)break;var P=(T*A-w*S)/C,I=(w*M-T*k)/C;r-=P,i-=I}while((n(P)>v||n(I)>v)&&--a>0);return[r,i]}},D.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&n(e)>1)return null;var r=1+t*t+e*e,i=L((r-L(r*r-4*e*e))/2),s=S(i)/3,l=i?function(t){return c(t+L(t*t-1))}(n(e/i))/3:function(t){return c(t+L(t*t+1))}(n(t))/3,u=o(s),f=P(l),h=f*f-u*u;return[2*d(t)*a(C(l)*u,.25-h),2*d(e)*a(f*m(s),.25+h)]};var R=L(8),F=c(1+w);function B(t,e){var r=n(e);return rx){var l=a(s[1],s[0]),c=L(s[0]*s[0]+s[1]*s[1]),u=r*p((l-x)/r)+x,f=a(m(l-=u),2-o(l));l=u+S(y/c*m(f))-f,s[0]=c*o(l),s[1]=c*m(l)}return s}return s.invert=function(t,n){var s=L(t*t+n*n);if(s>x){var l=a(n,t),c=r*p((l-x)/r)+x,u=l>c?-1:1,f=s*o(c-l),h=1/g(u*E((f-y)/L(y*(y-2*f)+s*s)));l=c+2*i((h+u*L(h*h-3))/3),t=s*o(l),n=s*m(l)}return e.geoAzimuthalEquidistantRaw.invert(t,n)},s}function j(t,r){if(arguments.length<2&&(r=t),1===r)return e.geoAzimuthalEqualAreaRaw;if(r===1/0)return U;function n(n,i){var a=e.geoAzimuthalEqualAreaRaw(n/r,i);return a[0]*=t,a}return n.invert=function(n,i){var a=e.geoAzimuthalEqualAreaRaw.invert(n/t,i);return a[0]*=r,a},n}function U(t,e){return[t*o(e)/o(e/=2),2*m(e)]}function V(t,e,r){var i,a,o,s=100;r=void 0===r?0:+r,e=+e;do{(a=t(r))===(o=t(r+v))&&(o=a+v),r-=i=-1*v*(a-e)/(a-o)}while(s-- >0&&n(i)>v);return s<0?NaN:r}function H(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=1e-12),function(i,a,o,s){var l,c,u;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;fl)o-=c/=2,s-=u/=2;else{l=m;var g=(o>0?-1:1)*r,v=(s>0?-1:1)*r,y=t(o+g,s),x=t(o,s+v),b=(y[0]-h[0])/g,_=(y[1]-h[1])/g,w=(x[0]-h[0])/v,T=(x[1]-h[1])/v,k=T*b-_*w,A=(n(k)<.5?.5:1)/k;if(o+=c=(d*w-p*T)*A,s+=u=(p*_-d*b)*A,n(c)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=H(e),e}function G(t,e){var r,i=t*m(e),a=30;do{e-=r=(e+m(e)-i)/(1+o(e))}while(n(r)>v&&--a>0);return e/2}function Y(t,e,r){function n(n,i){return[t*n*o(i=G(r,i)),e*m(i)]}return n.invert=function(n,i){return i=S(i/e),[n/(t*o(i)),S((2*i+m(2*i))/r)]},n}B.invert=function(t,e){if((a=n(e))1e-12&&--u>0);return[t/(o(l)*(R-1/m(l))),d(e)*l]},U.invert=function(t,e){var r=2*S(e/2);return[t*o(r/2)/o(r),r]};var W=Y(w/x,w,y);var X=2.00276,Z=1.11072;function J(t,e){var r=G(y,e);return[X*t/(1/o(e)+Z/o(r)),(e+w*m(r))/X]}function K(t){var r=0,n=e.geoProjectionMutator(t),i=n(r);return i.parallel=function(t){return arguments.length?n(r=t*M):r*A},i}function Q(t,e){return[t*o(e),e]}function $(t){if(!t)return Q;var e=1/g(t);function r(r,n){var i=e+t-n,a=i?r*o(n)/i:i;return[i*m(a),e-i*o(a)]}return r.invert=function(r,n){var i=L(r*r+(n=e-n)*n),s=e+t-i;return[i/o(s)*a(r,n),s]},r}function tt(t){function e(e,r){var n=x-r,i=n?e*t*m(n)/n:n;return[n*m(i)/t,x-n*o(i)]}return e.invert=function(e,r){var n=e*t,i=x-r,o=L(n*n+i*i),s=a(n,i);return[(o?o/m(o):1)*s/t,x-o]},e}J.invert=function(t,e){var r,i,a=X*e,s=e<0?-b:b,l=25;do{i=a-w*m(s),s-=r=(m(2*s)+2*s-y*m(i))/(2*o(2*s)+2+y*o(i)*w*o(s))}while(n(r)>v&&--l>0);return i=a-w*m(s),[t*(1/o(i)+Z/o(s))/X,i]},Q.invert=function(t,e){return[t/o(e),e]};var et=Y(1,4/y,y);function rt(t,e,r,i,s,l){var c,u=o(l);if(n(t)>1||n(l)>1)c=E(r*s+e*i*u);else{var f=m(t/2),h=m(l/2);c=2*S(L(f*f+e*i*h*h))}return n(c)>v?[c,a(i*m(l),e*s-r*i*u)]:[0,0]}function nt(t,e,r){return E((t*t+e*e-r*r)/(2*t*e))}function it(t){return t-2*y*l((t+y)/(2*y))}function at(t,e,r){for(var n,i=[[t[0],t[1],m(t[1]),o(t[1])],[e[0],e[1],m(e[1]),o(e[1])],[r[0],r[1],m(r[1]),o(r[1])]],a=i[2],s=0;s<3;++s,a=n)n=i[s],a.v=rt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=nt(i[0].v[0],i[2].v[0],i[1].v[0]),c=nt(i[0].v[0],i[1].v[0],i[2].v[0]),u=y-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*o(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*m(l))];return function(t,e){var r,n=m(e),a=o(e),s=new Array(3);for(r=0;r<3;++r){var l=i[r];if(s[r]=rt(e-l[1],l[3],l[2],a,n,t-l[0]),!s[r][0])return l.point;s[r][1]=it(s[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=nt(i[r].v[0],s[r][0],s[p][0]);s[r][1]<0&&(d=-d),r?1==r?(d=c-d,h[0]-=s[r][0]*o(d),h[1]-=s[r][0]*m(d)):(d=u-d,h[0]+=s[r][0]*o(d),h[1]+=s[r][0]*m(d)):(h[0]+=s[r][0]*o(d),h[1]-=s[r][0]*m(d))}return h[0]/=3,h[1]/=3,h}}function ot(t){return t[0]*=M,t[1]*=M,t}function st(t,r,n){var i=e.geoCentroid({type:\"MultiPoint\",coordinates:[t,r,n]}),a=[-i[0],-i[1]],o=e.geoRotation(a),s=at(ot(o(t)),ot(o(r)),ot(o(n)));s.invert=H(s);var l=e.geoProjection(s).rotate(a),c=l.center;return delete l.rotate,l.center=function(t){return arguments.length?c(o(t)):o.invert(c())},l.clipAngle(90)}function lt(t,e){var r=L(1-m(e));return[2/T*t*r,T*(1-r)]}function ct(t){var e=g(t);function r(t,r){return[t,(t?t/m(t):1)*(m(r)*o(t)-e*o(r))]}return r.invert=e?function(t,r){t&&(r*=m(t)/t);var n=o(t);return[t,2*a(L(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,S(t?e*g(t)/t:e)]},r}lt.invert=function(t,e){var r=(r=e/T-1)*r;return[r>0?t*L(y/r)/2:0,S(1-r)]};var ut=L(3);function ft(t,e){return[ut*t*(2*o(2*e/3)-1)/T,ut*T*m(e/3)]}function ht(t){var e=o(t);function r(t,r){return[t*e,m(r)/e]}return r.invert=function(t,r){return[t/e,S(r*e)]},r}function pt(t){var e=o(t);function r(t,r){return[t*e,(1+e)*g(r/2)]}return r.invert=function(t,r){return[t/e,2*i(r/(1+e))]},r}function dt(t,e){var r=L(8/(3*y));return[r*t*(1-n(e)/y),r*e]}function mt(t,e){var r=L(4-3*m(n(e)));return[2/L(6*y)*t*r,d(e)*L(2*y/3)*(2-r)]}function gt(t,e){var r=L(y*(4+y));return[2/r*t*(1+L(1-4*e*e/(y*y))),4/r*e]}function vt(t,e){var r=(2+x)*m(e);e/=2;for(var i=0,a=1/0;i<10&&n(a)>v;i++){var s=o(e);e-=a=(e+m(e)*(s+2)-r)/(2*s*(1+s))}return[2/L(y*(4+y))*t*(1+o(e)),2*L(y/(4+y))*m(e)]}function yt(t,e){return[t*(1+o(e))/L(2+y),2*e/L(2+y)]}function xt(t,e){for(var r=(1+x)*m(e),i=0,a=1/0;i<10&&n(a)>v;i++)e-=a=(e+m(e)-r)/(1+o(e));return r=L(2+y),[t*(1+o(e))/r,2*e/r]}ft.invert=function(t,e){var r=3*S(e/(ut*T));return[T*t/(ut*(2*o(2*r/3)-1)),r]},dt.invert=function(t,e){var r=L(8/(3*y)),i=e/r;return[t/(r*(1-n(i)/y)),i]},mt.invert=function(t,e){var r=2-n(e)/L(2*y/3);return[t*L(6*y)/(2*r),d(e)*S((4-r*r)/3)]},gt.invert=function(t,e){var r=L(y*(4+y))/2;return[t*r/(1+L(1-e*e*(4+y)/(4*y))),e*r/2]},vt.invert=function(t,e){var r=e*L((4+y)/y)/2,n=S(r),i=o(n);return[t/(2/L(y*(4+y))*(1+i)),S((n+r*(i+2))/(2+x))]},yt.invert=function(t,e){var r=L(2+y),n=e*r/2;return[r*t/(1+o(n)),n]},xt.invert=function(t,e){var r=1+x,n=L(r/2);return[2*t*n/(1+o(e*=n)),S((e+m(e))/r)]};var bt=3+2*w;function _t(t,e){var r=m(t/=2),n=o(t),a=L(o(e)),s=o(e/=2),l=m(e)/(s+w*n*a),u=L(2/(1+l*l)),f=L((w*s+(n+r)*a)/(w*s+(n-r)*a));return[bt*(u*(f-1/f)-2*c(f)),bt*(u*l*(f+1/f)-2*i(l))]}_t.invert=function(t,e){if(!(r=D.invert(t/1.2,1.065*e)))return null;var r,a=r[0],s=r[1],l=20;t/=bt,e/=bt;do{var h=a/2,p=s/2,d=m(h),g=o(h),y=m(p),b=o(p),T=o(s),k=L(T),A=y/(b+w*g*k),M=A*A,S=L(2/(1+M)),E=(w*b+(g+d)*k)/(w*b+(g-d)*k),C=L(E),P=C-1/C,I=C+1/C,O=S*P-2*c(C)-t,z=S*A*I-2*i(A)-e,R=y&&_*k*d*M/y,F=(w*g*b+k)/(2*(b+w*g*k)*(b+w*g*k)*k),B=-.5*A*S*S*S,N=B*R,j=B*F,U=(U=2*b+w*k*(g-d))*U*C,V=(w*g*b*k+T)/U,H=-w*d*y/(k*U),q=P*N-2*V/C+S*(V+V/E),G=P*j-2*H/C+S*(H+H/E),Y=A*I*N-2*R/(1+M)+S*I*R+S*A*(V-V/E),W=A*I*j-2*F/(1+M)+S*I*F+S*A*(H-H/E),X=G*Y-W*q;if(!X)break;var Z=(z*G-O*W)/X,J=(O*Y-z*q)/X;a-=Z,s=u(-x,f(x,s-J))}while((n(Z)>v||n(J)>v)&&--l>0);return n(n(s)-x)s){var d=L(h),g=a(f,u),b=i*p(g/i),_=g-b,w=t*o(_),T=(t*m(_)-_*m(w))/(x-w),k=Lt(_,T),A=(y-t)/Ct(k,w,y);u=d;var M,S=50;do{u-=M=(t+Ct(k,w,u)*A-d)/(k(u)*A)}while(n(M)>v&&--S>0);f=_*m(u),us){var u=L(c),f=a(l,r),h=i*p(f/i),d=f-h;r=u*o(d),l=u*m(d);for(var g=r-x,v=m(r),b=l/v,_=rv||n(p)>v)&&--x>0);return[d,g]},u}Tt.invert=function(t,e){var r=e/(1+wt);return[t&&t/(wt*L(1-r*r)),2*i(r)]},kt.invert=function(t,e){var r=i(e/T),n=o(r),a=2*r;return[t*T/2/(o(a)*n*n),a]};var It=Pt(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);var Ot=Pt(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);var zt=Pt(5/6*y,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Dt(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}Dt.invert=function(t,e){var r,i=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(n(r)>v&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=i*i)*l;i-=r=(i*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(n(r)>v&&--o>0);return[i,a]};var Rt=Pt(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Ft(t){var e=t(x,0)[0]-t(-x,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*y,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*y;return o<-y?o+=2*y:o>y&&(o-=2*y),a[0]=o,a}),r}function Bt(t,e){var r=d(t),i=d(e),s=o(e),l=o(t)*s,c=m(t)*s,u=m(i*e);t=n(a(c,u)),e=S(l),n(t-x)>v&&(t%=x);var f=function(t,e){if(e===x)return[0,0];var r,i,a=m(e),s=a*a,l=s*s,c=1+l,u=1+3*l,f=1-l,h=S(1/L(c)),p=f+s*c*h,d=(1-a)/p,g=L(d),b=d*c,_=L(b),w=g*f;if(0===t)return[0,-(w+s*_)];var T,k=o(e),A=1/k,M=2*a*k,E=(-p*k-(-3*s+h*u)*M*(1-a))/(p*p),C=-A*M,P=-A*(s*c*E+d*u*M),I=-2*A*(f*(.5*E/g)-2*s*g*M),O=4*t/y;if(t>.222*y||e.175*y){if(r=(w+s*L(b*(1+l)-w*w))/(1+l),t>y/4)return[r,r];var z=r,D=.5*r;r=.5*(D+z),i=50;do{var R=L(b-r*r),F=r*(I+C*R)+P*S(r/_)-O;if(!F)break;F<0?D=r:z=r,r=.5*(D+z)}while(n(z-D)>v&&--i>0)}else{r=v,i=25;do{var B=r*r,N=L(b-B),j=I+C*N,U=r*j+P*S(r/_)-O,V=j+(P-C*B)/N;r-=T=N?U/V:0}while(n(T)>v&&--i>0)}return[r,-w-s*L(b-r*r)]}(t>y/4?x-t:t,e);return t>y/4&&(u=f[0],f[0]=-f[1],f[1]=-u),f[0]*=r,f[1]*=-i,f}function Nt(t,e){var r,a,l,c,u,f;if(e=1-v)return r=(1-e)/4,l=1/(a=P(t)),[(c=((f=s(2*(f=t)))-1)/(f+1))+r*((u=a*C(t))-t)/(a*a),l-r*c*l*(u-t),l+r*c*l*(u+t),2*i(s(t))-x+r*(u-t)/a];var h=[1,0,0,0,0,0,0,0,0],p=[L(e),0,0,0,0,0,0,0,0],d=0;for(a=L(1-e),u=1;n(p[d]/h[d])>v&&d<8;)r=h[d++],p[d]=(r-a)/2,h[d]=(r+a)/2,a=L(r*a),u*=2;l=u*h[d]*t;do{l=(S(c=p[d]*m(a=l)/h[d])+l)/2}while(--d);return[m(l),c=o(l),c/o(l-a),l]}function jt(t,e){if(!e)return t;if(1===e)return c(g(t/2+b));for(var r=1,a=L(1-e),o=L(e),s=0;n(o)>v;s++){if(t%y){var l=i(a*g(t)/r);l<0&&(l+=y),t+=l+~~(t/y)*y}else t+=t;o=(r+a)/2,a=L(r*a),o=((r=o)-a)/2}return t/(h(2,s)*r)}function Ut(t,e){var r=(w-1)/(w+1),l=L(1-r*r),u=jt(x,l*l),f=c(g(y/4+n(e)/2)),h=s(-1*f)/L(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?x:-x)-a(i,2*t)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*o(-1*t),h*m(-1*t)),v=function(t,e,r){var a=n(t),o=C(n(e));if(a){var s=1/m(a),l=1/(g(a)*g(a)),c=-(l+r*(o*o*s*s)-1+r),u=(-c+L(c*c-4*((r-1)*l)))/2;return[jt(i(1/L(u)),r)*d(t),jt(i(L((u/l-1)/r)),1-r)*d(e)]}return[0,jt(i(o),1-r)*d(e)]}(p[0],p[1],l*l);return[-v[1],(e>=0?1:-1)*(.5*u-v[0])]}function Vt(t){var e=m(t),r=o(t),i=Ht(t);function s(t,a){var s=i(t,a);t=s[0],a=s[1];var l=m(a),c=o(a),u=o(t),f=E(e*l+r*c*u),h=m(f),p=n(h)>v?f/h:1;return[p*r*m(t),(n(t)>x?p:-p)*(e*c-r*l*u)]}return i.invert=Ht(-t),s.invert=function(t,r){var n=L(t*t+r*r),s=-m(n),l=o(n),c=n*l,u=-r*s,f=n*e,h=L(c*c+u*u-f*f),p=a(c*f+u*h,u*f-c*h),d=(n>x?-1:1)*a(t*s,n*o(p)*l+r*m(p)*s);return i.invert(d,p)},s}function Ht(t){var e=m(t),r=o(t);return function(t,n){var i=o(n),s=o(t)*i,l=m(t)*i,c=m(n);return[a(l,s*r-c*e),S(c*r+s*e)]}}Bt.invert=function(t,e){n(t)>1&&(t=2*d(t)-t),n(e)>1&&(e=2*d(e)-e);var r=d(t),i=d(e),s=-r*t,l=-i*e,c=l/s<1,u=function(t,e){var r=0,i=1,a=.5,s=50;for(;;){var l=a*a,c=L(a),u=S(1/L(1+l)),f=1-l+a*(1+l)*u,h=(1-c)/f,p=L(h),d=h*(1+l),m=p*(1-l),g=L(d-t*t),v=e+m+a*g;if(n(i-r)<1e-12||0==--s||0===v)break;v>0?r=a:i=a,a=.5*(r+i)}if(!s)return null;var x=S(c),b=o(x),_=1/b,w=2*c*b,T=(-f*b-(-3*a+u*(1+3*l))*w*(1-c))/(f*f);return[y/4*(t*(-2*_*(.5*T/p*(1-l)-2*a*p*w)+-_*w*g)+-_*(a*(1+l)*T+h*(1+3*l)*w)*S(t/L(d))),x]}(c?l:s,c?s:l),f=u[0],h=u[1],p=o(h);return c&&(f=-x-f),[r*(a(m(f)*p,-m(h))+y),i*S(o(f)*p)]},Ut.invert=function(t,e){var r,n,o,l,u,f,h=(w-1)/(w+1),p=L(1-h*h),d=jt(x,p*p),m=(n=-t,o=p*p,(r=.5*d-e)?(l=Nt(r,o),n?(f=(u=Nt(n,1-o))[1]*u[1]+o*l[0]*l[0]*u[0]*u[0],[[l[0]*u[2]/f,l[1]*l[2]*u[0]*u[1]/f],[l[1]*u[1]/f,-l[0]*l[2]*u[0]*u[2]/f],[l[2]*u[1]*u[2]/f,-o*l[0]*l[1]*u[0]/f]]):[[l[0],0],[l[1],0],[l[2],0]]):[[0,(u=Nt(n,1-o))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),g=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(m[0],m[1]);return[a(g[1],g[0])/-1,2*i(s(-.5*c(h*g[0]*g[0]+h*g[1]*g[1])))-x]};var qt=S(1-1/3)*A,Gt=ht(0);function Yt(t){var e=qt*M,r=lt(y,e)[0]-lt(-y,e)[0],i=Gt(0,e)[1],a=lt(0,e)[1],o=T-a,s=k/t,c=4/k,h=i+o*o*4/k;function p(p,d){var m,g=n(d);if(g>e){var v=f(t-1,u(0,l((p+y)/s)));(m=lt(p+=y*(t-1)/t-v*s,g))[0]=m[0]*k/r-k*(t-1)/(2*t)+v*k/t,m[1]=i+4*(m[1]-a)*o/k,d<0&&(m[1]=-m[1])}else m=Gt(p,d);return m[0]*=c,m[1]/=h,m}return p.invert=function(e,p){e/=c;var d=n(p*=h);if(d>i){var m=f(t-1,u(0,l((e+y)/s)));e=(e+y*(t-1)/t-m*s)*r/k;var g=lt.invert(e,.25*(d-i)*k/o+a);return g[0]-=y*(t-1)/t-m*s,p<0&&(g[1]=-g[1]),g}return Gt.invert(e,p)},p}function Wt(t,e){return[t,1&e?90-v:qt]}function Xt(t,e){return[t,1&e?-90+v:-qt]}function Zt(t){return[t[0]*(1-v),t[1]]}function Jt(t){var e,r=1+t,i=S(m(1/r)),s=2*L(y/(e=y+4*i*r)),l=.5*s*(r+L(t*(2+t))),c=t*t,u=r*r;function f(f,h){var p,d,g=1-m(h);if(g&&g<2){var v,b=x-h,_=25;do{var w=m(b),T=o(b),k=i+a(w,r-T),A=1+u-2*r*T;b-=v=(b-c*i-r*w+A*k-.5*g*e)/(2*r*w*k)}while(n(v)>1e-12&&--_>0);p=s*L(A),d=f*k/y}else p=s*(t+g),d=f*i/y;return[p*m(d),l-p*o(d)]}return f.invert=function(t,n){var o=t*t+(n-=l)*n,f=(1+u-o/(s*s))/(2*r),h=E(f),p=m(h),d=i+a(p,r-f);return[S(t/L(o))*y/d,S(1-2*(h-c*i-r*p+(1+u-2*r*f)*d)/e)]},f}function Kt(t,e){return e>-.7109889596207567?((t=W(t,e))[1]+=.0528035274542,t):Q(t,e)}function Qt(t,e){return n(e)>.7109889596207567?((t=W(t,e))[1]-=e>0?.0528035274542:-.0528035274542,t):Q(t,e)}function $t(t,e,r,n){var i=L(4*y/(2*r+(1+t-e/2)*m(2*r)+(t+e)/2*m(4*r)+e/2*m(6*r))),a=L(n*m(r)*L((1+t*o(2*r)+e*o(4*r))/(1+t+e))),s=r*c(1);function l(r){return L(1+t*o(2*r)+e*o(4*r))}function c(n){var i=n*r;return(2*i+(1+t-e/2)*m(2*i)+(t+e)/2*m(4*i)+e/2*m(6*i))/r}function u(t){return l(t)*m(t)}var f=function(t,e){var n=r*V(c,s*m(e)/r,e/y);isNaN(n)&&(n=r*d(e));var u=i*l(n);return[u*a*t/y*o(n),u/a*m(n)]};return f.invert=function(t,e){var n=V(u,e*a/i);return[t*y/(o(n)*i*a*l(n)),S(r*c(n/r)/s)]},0===r&&(i=L(n/y),(f=function(t,e){return[t*i,m(e)/i]}).invert=function(t,e){return[t/i,S(e*i)]}),f}function te(t,e,r,n,i){void 0===n&&(n=1e-8),void 0===i&&(i=20);var a=t(e),o=t(.5*(e+r)),s=t(r);return function t(e,r,n,i,a,o,s,l,c,u,f){if(f.nanEncountered)return NaN;var h,p,d,m,g,v,y,x,b,_;if(p=e(r+.25*(h=n-r)),d=e(n-.25*h),isNaN(p))f.nanEncountered=!0;else{if(!isNaN(d))return _=((v=(m=h*(i+4*p+a)/12)+(g=h*(a+4*d+o)/12))-s)/15,u>c?(f.maxDepthCount++,v+_):Math.abs(_)t?r=n:e=n,n=e+r>>1}while(n>e);var i=c[n+1]-c[n];return i&&(i=(t-c[n+1])/i),(n+1+i)/s}var p=2*f(1)/y*o/r,g=function(t,e){var r=f(n(m(e))),a=i(r)*t;return r/=p,[a,e>=0?r:-r]};return g.invert=function(t,e){var r;return n(e*=p)<1&&(r=d(e)*S(a(n(e))*o)),[t/i(n(e)),r]},g}function re(t,e){return n(t[0]-e[0])=0;--l)n=(e=t[1][l])[0][0],i=e[0][1],a=e[1][1],o=e[2][0],s=e[2][1],c.push(ne([[o-v,s-v],[o-v,a+v],[n+v,a+v],[n+v,i-v]],30));return{type:\"Polygon\",coordinates:[r.merge(c)]}}function ae(t,r,n){var i,a;function o(e,n){for(var i=n<0?-1:1,a=r[+(n<0)],o=0,s=a.length-1;oa[o][2][0];++o);var l=t(e-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}n?o.invert=n(o):t.invert&&(o.invert=function(e,n){for(var i=a[+(n<0)],s=r[+(n<0)],l=0,c=i.length;lo&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):r.map((function(t){return t.map((function(t){return[[t[0][0]*A,t[0][1]*A],[t[1][0]*A,t[1][1]*A],[t[2][0]*A,t[2][1]*A]]}))}))},null!=r&&s.lobes(r),s}Kt.invert=function(t,e){return e>-.7109889596207567?W.invert(t,e-.0528035274542):Q.invert(t,e)},Qt.invert=function(t,e){return n(e)>.7109889596207567?W.invert(t,e+(e>0?.0528035274542:-.0528035274542)):Q.invert(t,e)};var oe=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];var se=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];var le=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];var ce=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];var ue=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];var fe=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function he(t,e){return[3/k*t*L(y*y/3-e*e),e]}function pe(t){function e(e,r){if(n(n(r)-x)2)return null;var o=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+o+s);return l=h((1+l)/(1-l),1/t),[a(2*e,1-o-s)/t,S((l-1)/(l+1))]},e}he.invert=function(t,e){return[k/3*t/L(y*y/3-e*e),e]};var de=y/w;function me(t,e){return[t*(1+L(o(e)))/2,e/(o(e/2)*o(t/6))]}function ge(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function ve(t,e){return[m(t)/o(e),g(e)*o(t)]}function ye(t){var e=o(t),r=g(b+t/2);function i(i,a){var o=a-t,s=n(o)=0;)h=(f=t[u])[0]+l*(i=h)-c*p,p=f[1]+l*p+c*i;return[h=l*(i=h)-c*p,p=l*p+c*i]}return r.invert=function(r,s){var l=20,c=r,u=s;do{for(var f,h=e,p=t[h],d=p[0],g=p[1],v=0,y=0;--h>=0;)v=d+c*(f=v)-u*y,y=g+c*y+u*f,d=(p=t[h])[0]+c*(f=d)-u*g,g=p[1]+c*g+u*f;var x,b,_=(v=d+c*(f=v)-u*y)*v+(y=g+c*y+u*f)*y;c-=x=((d=c*(f=d)-u*g-r)*v+(g=c*g+u*f-s)*y)/_,u-=b=(g*v-d*y)/_}while(n(x)+n(b)>1e-12&&--l>0);if(l){var w=L(c*c+u*u),T=2*i(.5*w),k=m(T);return[a(c*k,w*o(T)),w?S(u*k/w):0]}},r}me.invert=function(t,e){var r=n(t),i=n(e),a=v,s=x;iv||n(b)>v)&&--a>0);return a&&[r,i]},ve.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?_*L((i-L(i*i-4*r))/r):1/L(n);return[S(t*a),d(e)*E(a)]},xe.invert=function(t,e){return[t,2.5*i(s(.8*e))-.625*y]};var _e=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],we=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Te=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],ke=[[.9245,0],[0,0],[.01943,0]],Ae=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Me(t,r){var n=e.geoProjection(be(t)).rotate(r).clipAngle(90),i=e.geoRotation(r),a=n.center;return delete n.rotate,n.center=function(t){return arguments.length?a(i(t)):i.invert(a())},n}var Se=L(6),Ee=L(7);function Le(t,e){var r=S(7*m(e)/(3*Se));return[Se*t*(2*o(2*r/3)-1)/Ee,9*m(r/3)/Ee]}function Ce(t,e){for(var r,i=(1+_)*m(e),a=e,s=0;s<25&&(a-=r=(m(a/2)+m(a)-i)/(.5*o(a/2)+o(a)),!(n(r)1e-12&&--l>0);return[t/(.84719-.13063*(i=s*s)+(o=i*(a=i*i))*o*(.05494*i-.04515-.02326*a+.00331*o)),s]},Oe.invert=function(t,e){for(var r=e/2,i=0,a=1/0;i<10&&n(a)>v;++i){var s=o(e/2);e-=a=(e-g(e/2)-r)/(1-.5/(s*s))}return[2*t/(1+o(e)),e]};var ze=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function De(t,e){var r=m(e),i=o(e),a=d(t);if(0===t||n(e)===x)return[0,e];if(0===e)return[t,0];if(n(t)===x)return[t*i,x*r];var s=y/(2*t)-2*t/y,l=2*e/y,c=(1-l*l)/(r-l),u=s*s,f=c*c,h=1+u/f,p=1+f/u,g=(s*r/c-s/2)/h,v=(f*r/u+c/2)/p,b=v*v-(f*r*r/u+c*r-1)/p;return[x*(g+L(g*g+i*i/h)*a),x*(v+L(b<0?0:b)*d(-e*s)*a)]}De.invert=function(t,e){var r=(t/=x)*t,n=r+(e/=x)*e,i=y*y;return[t?(n-1+L((1-n)*(1-n)+4*r))/(2*t)*x:0,V((function(t){return n*(y*m(t)-2*t)*y+4*t*t*(e-m(t))+2*y*t-i*e}),0)]};function Re(t,e){var r=e*e;return[t,e*(1.0148+r*r*(.23185+r*(.02406*r-.14499)))]}function Fe(t,e){if(n(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=Be(n.map(r.project),n.map(e.project));e.transform=r.transform?Ne(r.transform,i):i;for(var a=r.edges,o=0,s=a.length;o1.790857183?e=1.790857183:e<-1.790857183&&(e=-1.790857183);var r,i=e;do{var a=i*i;i-=r=(i*(1.0148+a*a*(.23185+a*(.02406*a-.14499)))-e)/(1.0148+a*a*(5*.23185+a*(.21654*a-1.01493)))}while(n(r)>v);return[t,i]},Fe.invert=function(t,e){if(n(e)v&&--s>0);return l=g(a),[(n(e)n^p>n&&r<(h-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),nr=[],t.length?t.length>1?{type:\"MultiPolygon\",coordinates:t}:{type:\"Polygon\",coordinates:t[0]}:null}};function sr(t){var r=t(x,0)[0]-t(-x,0)[0];function i(e,i){var a=n(e)0?e-y:e+y,i),s=(o[0]-o[1])*_,l=(o[0]+o[1])*_;if(a)return[s,l];var c=r*_,u=s>0^l>0?-1:1;return[u*s-d(l)*c,u*l-d(s)*c]}return t.invert&&(i.invert=function(e,i){var a=(e+i)*_,o=(i-e)*_,s=n(a)<.5*r&&n(o)<.5*r;if(!s){var l=r*_,c=a>0^o>0?-1:1,u=-c*e+(o>0?1:-1)*l,f=-c*i+(a>0?1:-1)*l;a=(-u-f)*_,o=(u-f)*_}var h=t.invert(a,o);return s||(h[0]+=a>0?y:-y),h}),e.geoProjection(i).rotate([-90,-90,45]).clipAngle(179.999)}function lr(){return sr(Ut).scale(111.48)}function cr(t){var e=m(t);function r(r,n){var a=e?g(r*e/2)/e:r/2;if(!n)return[2*a,-t];var s=2*i(a*m(n)),l=1/g(n);return[m(s)*l,n+(1-o(s))*l-t]}return r.invert=function(r,a){if(n(a+=t)v&&--u>0);var d=r*(f=g(c)),x=g(n(a)0?x:-x)*(h+o*(d-c)/2+o*o*(d-2*h+c)/2)]}function hr(t,e){var r=function(t){function e(e,r){var n=o(r),i=(t-1)/(t-n*o(e));return[i*n*m(e),i*m(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=L(n),o=(t-L(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[a(e*o,i*L(1-o*o)),i?S(r*o/i):0]},e}(t);if(!e)return r;var n=o(e),i=m(e);function s(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return s.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},s}ur.forEach((function(t){t[1]*=1.0144})),fr.invert=function(t,e){var r=e/x,i=90*r,a=f(18,n(i/5)),o=u(0,l(a));do{var s=ur[o][1],c=ur[o+1][1],h=ur[f(19,o+2)][1],p=h-s,d=h-2*c+s,m=2*(n(r)-c)/p,g=d/p,v=m*(1-g*m*(1-2*g*m));if(v>=0||1===o){i=(e>=0?5:-5)*(v+a);var y,b=50;do{v=(a=f(18,n(i)/5))-(o=l(a)),s=ur[o][1],c=ur[o+1][1],h=ur[f(19,o+2)][1],i-=(y=(e>=0?x:-x)*(c+v*(h-s)/2+v*v*(h-2*c+s)/2)-e)*A}while(n(y)>1e-12&&--b>0);break}}while(--o>=0);var _=ur[o][0],w=ur[o+1][0],T=ur[f(19,o+2)][0];return[t/(w+v*(T-_)/2+v*v*(T-2*w+_)/2),i*M]};var pr=-179.9999,dr=179.9999,mr=-89.9999;function gr(t){return t.length>0}function vr(t){return-90===t||90===t?[0,t]:[-180,(e=t,Math.floor(1e4*e)/1e4)];var e}function yr(t){var e=t[0],r=t[1],n=!1;return e<=pr?(e=-180,n=!0):e>=dr&&(e=180,n=!0),r<=mr?(r=-90,n=!0):r>=89.9999&&(r=90,n=!0),n?[e,r]:t}function xr(t){return t.map(yr)}function br(t,e,r){for(var n=0,i=t.length;n=dr||u<=mr||u>=89.9999){a[o]=yr(l);for(var f=o+1;fpr&&pmr&&d<89.9999)break}if(f===o+1)continue;if(o){var m={index:-1,polygon:e,ring:a.slice(0,o+1)};m.ring[m.ring.length-1]=vr(u),r[r.length-1]=m}else r.pop();if(f>=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(f-1)}),a[0]=vr(a[0][1]),o=-1,s=a.length}}}}function _r(t){var e,r,n,i,a,o,s=t.length,l={},c={};for(e=0;e0?y-l:l)*A],u=e.geoProjection(t(s)).rotate(c),f=e.geoRotation(c),h=u.center;return delete u.rotate,u.center=function(t){return arguments.length?h(f(t)):f.invert(h())},u.clipAngle(90)}function Mr(t){var r=o(t);function n(t,n){var i=e.geoGnomonicRaw(t,n);return i[0]*=r,i}return n.invert=function(t,n){return e.geoGnomonicRaw.invert(t/r,n)},n}function Sr(t,e){return Ar(Mr,t,e)}function Er(t){if(!(t*=2))return e.geoAzimuthalEquidistantRaw;var r=-t/2,n=-r,i=t*t,s=g(n),l=.5/m(n);function c(e,a){var s=E(o(a)*o(e-r)),l=E(o(a)*o(e-n));return[((s*=s)-(l*=l))/(2*t),(a<0?-1:1)*L(4*i*l-(i-s+l)*(i-s+l))/(2*t)]}return c.invert=function(t,e){var i,c,u=e*e,f=o(L(u+(i=t+r)*i)),h=o(L(u+(i=t+n)*i));return[a(c=f-h,i=(f+h)*s),(e<0?-1:1)*E(L(i*i+c*c)*l)]},c}function Lr(t,e){return Ar(Er,t,e)}function Cr(t,e){if(n(e)v&&--l>0);return[d(t)*(L(a*a+4)+a)*y/4,x*s]};var Rr=4*y+3*L(3),Fr=2*L(2*y*L(3)/Rr),Br=Y(Fr*L(3)/y,Fr,Rr/6);function Nr(t,e){return[t*L(1-3*e*e/(y*y)),e]}function jr(t,e){var r=o(e),n=o(t)*r,i=1-n,s=o(t=a(m(t)*r,-m(e))),l=m(t);return[l*(r=L(1-n*n))-s*i,-s*r-l*i]}function Ur(t,e){var r=O(t,e);return[(r[0]+t/x)/2,(r[1]+e)/2]}Nr.invert=function(t,e){return[t/L(1-3*e*e/(y*y)),e]},jr.invert=function(t,e){var r=(t*t+e*e)/-2,n=L(-r*(2+r)),i=e*r+t*n,o=t*r-e*n,s=L(o*o+i*i);return[a(n*i,s*(1+r)),s?-S(n*o/s):0]},Ur.invert=function(t,e){var r=t,i=e,a=25;do{var s,l=o(i),c=m(i),u=m(2*i),f=c*c,h=l*l,p=m(r),d=o(r/2),g=m(r/2),y=g*g,b=1-h*d*d,_=b?E(l*d)*L(s=1/b):s=0,w=.5*(2*_*l*g+r/x)-t,T=.5*(_*c+i)-e,k=.5*s*(h*y+_*l*d*f)+.5/x,A=s*(p*u/4-_*c*g),M=.125*s*(u*g-_*c*h*p),S=.5*s*(f*d+_*y*l)+.5,C=A*M-S*k,P=(T*A-w*S)/C,I=(w*M-T*k)/C;r-=P,i-=I}while((n(P)>v||n(I)>v)&&--a>0);return[r,i]},t.geoNaturalEarth=e.geoNaturalEarth1,t.geoNaturalEarthRaw=e.geoNaturalEarth1Raw,t.geoAiry=function(){var t=x,r=e.geoProjectionMutator(I),n=r(t);return n.radius=function(e){return arguments.length?r(t=e*M):t*A},n.scale(179.976).clipAngle(147)},t.geoAiryRaw=I,t.geoAitoff=function(){return e.geoProjection(O).scale(152.63)},t.geoAitoffRaw=O,t.geoArmadillo=function(){var t=20*M,r=t>=0?1:-1,n=g(r*t),i=e.geoProjectionMutator(z),s=i(t),l=s.stream;return s.parallel=function(e){return arguments.length?(n=g((r=(t=e*M)>=0?1:-1)*t),i(t)):t*A},s.stream=function(e){var i=s.rotate(),c=l(e),u=(s.rotate([0,0]),l(e)),f=s.precision();return s.rotate(i),c.sphere=function(){u.polygonStart(),u.lineStart();for(var e=-180*r;r*e<180;e+=90*r)u.point(e,90*r);if(t)for(;r*(e-=3*r*f)>=-180;)u.point(e,r*-a(o(e*M/2),n)*A);u.lineEnd(),u.polygonEnd()},c},s.scale(218.695).center([0,28.0974])},t.geoArmadilloRaw=z,t.geoAugust=function(){return e.geoProjection(D).scale(66.1603)},t.geoAugustRaw=D,t.geoBaker=function(){return e.geoProjection(B).scale(112.314)},t.geoBakerRaw=B,t.geoBerghaus=function(){var t=5,r=e.geoProjectionMutator(N),n=r(t),i=n.stream,s=-o(.01*M),l=m(.01*M);return n.lobes=function(e){return arguments.length?r(t=+e):t},n.stream=function(e){var r=n.rotate(),c=i(e),u=(n.rotate([0,0]),i(e));return n.rotate(r),c.sphere=function(){u.polygonStart(),u.lineStart();for(var e=0,r=360/t,n=2*y/t,i=90-180/t,c=x;e=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},n.scale(79.4187).parallel(45).clipAngle(179.999)},t.geoHammerRetroazimuthalRaw=Vt,t.geoHealpix=function(){var t=4,n=e.geoProjectionMutator(Yt),i=n(t),a=i.stream;return i.lobes=function(e){return arguments.length?n(t=+e):t},i.stream=function(n){var o=i.rotate(),s=a(n),l=(i.rotate([0,0]),a(n));return i.rotate(o),s.sphere=function(){var n,i;e.geoStream((n=180/t,i=[].concat(r.range(-180,180+n/2,n).map(Wt),r.range(180,-180-n/2,-n).map(Xt)),{type:\"Polygon\",coordinates:[180===n?i.map(Zt):i]}),l)},s},i.scale(239.75)},t.geoHealpixRaw=Yt,t.geoHill=function(){var t=1,r=e.geoProjectionMutator(Jt),n=r(t);return n.ratio=function(e){return arguments.length?r(t=+e):t},n.scale(167.774).center([0,18.67])},t.geoHillRaw=Jt,t.geoHomolosine=function(){return e.geoProjection(Qt).scale(152.63)},t.geoHomolosineRaw=Qt,t.geoHufnagel=function(){var t=1,r=0,n=45*M,i=2,a=e.geoProjectionMutator($t),o=a(t,r,n,i);return o.a=function(e){return arguments.length?a(t=+e,r,n,i):t},o.b=function(e){return arguments.length?a(t,r=+e,n,i):r},o.psiMax=function(e){return arguments.length?a(t,r,n=+e*M,i):n*A},o.ratio=function(e){return arguments.length?a(t,r,n,i=+e):i},o.scale(180.739)},t.geoHufnagelRaw=$t,t.geoHyperelliptical=function(){var t=0,r=2.5,n=1.183136,i=e.geoProjectionMutator(ee),a=i(t,r,n);return a.alpha=function(e){return arguments.length?i(t=+e,r,n):t},a.k=function(e){return arguments.length?i(t,r=+e,n):r},a.gamma=function(e){return arguments.length?i(t,r,n=+e):n},a.scale(152.63)},t.geoHyperellipticalRaw=ee,t.geoInterrupt=ae,t.geoInterruptedBoggs=function(){return ae(J,oe).scale(160.857)},t.geoInterruptedHomolosine=function(){return ae(Qt,se).scale(152.63)},t.geoInterruptedMollweide=function(){return ae(W,le).scale(169.529)},t.geoInterruptedMollweideHemispheres=function(){return ae(W,ce).scale(169.529).rotate([20,0])},t.geoInterruptedSinuMollweide=function(){return ae(Kt,ue,H).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},t.geoInterruptedSinusoidal=function(){return ae(Q,fe).scale(152.63).rotate([-20,0])},t.geoKavrayskiy7=function(){return e.geoProjection(he).scale(158.837)},t.geoKavrayskiy7Raw=he,t.geoLagrange=function(){var t=.5,r=e.geoProjectionMutator(pe),n=r(t);return n.spacing=function(e){return arguments.length?r(t=+e):t},n.scale(124.75)},t.geoLagrangeRaw=pe,t.geoLarrivee=function(){return e.geoProjection(me).scale(97.2672)},t.geoLarriveeRaw=me,t.geoLaskowski=function(){return e.geoProjection(ge).scale(139.98)},t.geoLaskowskiRaw=ge,t.geoLittrow=function(){return e.geoProjection(ve).scale(144.049).clipAngle(89.999)},t.geoLittrowRaw=ve,t.geoLoximuthal=function(){return K(ye).parallel(40).scale(158.837)},t.geoLoximuthalRaw=ye,t.geoMiller=function(){return e.geoProjection(xe).scale(108.318)},t.geoMillerRaw=xe,t.geoModifiedStereographic=Me,t.geoModifiedStereographicRaw=be,t.geoModifiedStereographicAlaska=function(){return Me(_e,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)},t.geoModifiedStereographicGs48=function(){return Me(we,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])},t.geoModifiedStereographicGs50=function(){return Me(Te,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])},t.geoModifiedStereographicMiller=function(){return Me(ke,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)},t.geoModifiedStereographicLee=function(){return Me(Ae,[165,10]).scale(250).clipAngle(130).center([-165,-10])},t.geoMollweide=function(){return e.geoProjection(W).scale(169.529)},t.geoMollweideRaw=W,t.geoMtFlatPolarParabolic=function(){return e.geoProjection(Le).scale(164.859)},t.geoMtFlatPolarParabolicRaw=Le,t.geoMtFlatPolarQuartic=function(){return e.geoProjection(Ce).scale(188.209)},t.geoMtFlatPolarQuarticRaw=Ce,t.geoMtFlatPolarSinusoidal=function(){return e.geoProjection(Pe).scale(166.518)},t.geoMtFlatPolarSinusoidalRaw=Pe,t.geoNaturalEarth2=function(){return e.geoProjection(Ie).scale(175.295)},t.geoNaturalEarth2Raw=Ie,t.geoNellHammer=function(){return e.geoProjection(Oe).scale(152.63)},t.geoNellHammerRaw=Oe,t.geoInterruptedQuarticAuthalic=function(){return ae(j(1/0),ze).rotate([20,0]).scale(152.63)},t.geoNicolosi=function(){return e.geoProjection(De).scale(127.267)},t.geoNicolosiRaw=De,t.geoPatterson=function(){return e.geoProjection(Re).scale(139.319)},t.geoPattersonRaw=Re,t.geoPolyconic=function(){return e.geoProjection(Fe).scale(103.74)},t.geoPolyconicRaw=Fe,t.geoPolyhedral=Ve,t.geoPolyhedralButterfly=function(t){t=t||function(t){var r=e.geoCentroid({type:\"MultiPoint\",coordinates:t});return e.geoGnomonic().scale(1).translate([0,0]).rotate([-r[0],-r[1]])};var r=Ye.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,e){var n=r[t];n&&(n.children||(n.children=[])).push(r[e])})),Ve(r[0],(function(t,e){return r[t<-y/2?e<0?6:4:t<0?e<0?2:0:t0?[-r[0],0]:[180-r[0],180])};var r=Ye.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,e){var n=r[t];n&&(n.children||(n.children=[])).push(r[e])})),Ve(r[0],(function(t,e){return r[t<-y/2?e<0?6:4:t<0?e<0?2:0:t2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case\"GeometryCollection\":e={type:\"GeometryCollection\",geometries:t.geometries.map(o)};break;case\"Point\":e={type:\"Point\",coordinates:r(t.coordinates)};break;case\"MultiPoint\":e={type:t.type,coordinates:n(t.coordinates)};break;case\"LineString\":e={type:t.type,coordinates:i(t.coordinates)};break;case\"MultiLineString\":case\"Polygon\":e={type:t.type,coordinates:a(t.coordinates)};break;case\"MultiPolygon\":e={type:\"MultiPolygon\",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:\"Feature\",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case\"Feature\":return s(t);case\"FeatureCollection\":var l={type:\"FeatureCollection\",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t},t.geoQuincuncial=sr,t.geoRectangularPolyconic=function(){return K(cr).scale(131.215)},t.geoRectangularPolyconicRaw=cr,t.geoRobinson=function(){return e.geoProjection(fr).scale(152.63)},t.geoRobinsonRaw=fr,t.geoSatellite=function(){var t=2,r=0,n=e.geoProjectionMutator(hr),i=n(t,r);return i.distance=function(e){return arguments.length?n(t=+e,r):t},i.tilt=function(e){return arguments.length?n(t,r=e*M):r*A},i.scale(432.147).clipAngle(E(1/t)*A-1e-6)},t.geoSatelliteRaw=hr,t.geoSinuMollweide=function(){return e.geoProjection(Kt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},t.geoSinuMollweideRaw=Kt,t.geoSinusoidal=function(){return e.geoProjection(Q).scale(152.63)},t.geoSinusoidalRaw=Q,t.geoStitch=function(t){if(null==t)return t;switch(t.type){case\"Feature\":return wr(t);case\"FeatureCollection\":var e={type:\"FeatureCollection\",features:t.features.map(wr)};return null!=t.bbox&&(e.bbox=t.bbox),e;default:return Tr(t)}},t.geoTimes=function(){return e.geoProjection(kr).scale(146.153)},t.geoTimesRaw=kr,t.geoTwoPointAzimuthal=Sr,t.geoTwoPointAzimuthalRaw=Mr,t.geoTwoPointAzimuthalUsa=function(){return Sr([-158,21.5],[-77,39]).clipAngle(60).scale(400)},t.geoTwoPointEquidistant=Lr,t.geoTwoPointEquidistantRaw=Er,t.geoTwoPointEquidistantUsa=function(){return Lr([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)},t.geoVanDerGrinten=function(){return e.geoProjection(Cr).scale(79.4183)},t.geoVanDerGrintenRaw=Cr,t.geoVanDerGrinten2=function(){return e.geoProjection(Pr).scale(79.4183)},t.geoVanDerGrinten2Raw=Pr,t.geoVanDerGrinten3=function(){return e.geoProjection(Ir).scale(79.4183)},t.geoVanDerGrinten3Raw=Ir,t.geoVanDerGrinten4=function(){return e.geoProjection(Or).scale(127.16)},t.geoVanDerGrinten4Raw=Or,t.geoWagner=Dr,t.geoWagner7=function(){return Dr().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)},t.geoWagnerRaw=zr,t.geoWagner4=function(){return e.geoProjection(Br).scale(176.84)},t.geoWagner4Raw=Br,t.geoWagner6=function(){return e.geoProjection(Nr).scale(152.63)},t.geoWagner6Raw=Nr,t.geoWiechel=function(){return e.geoProjection(jr).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)},t.geoWiechelRaw=jr,t.geoWinkel3=function(){return e.geoProjection(Ur).scale(158.837)},t.geoWinkel3Raw=Ur,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-array\":107,\"d3-geo\":114}],114:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-array\")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){\"use strict\";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(t){a(i,t,this.t),a(this,i.s,this.s),this.s?this.t+=i.t:this.s=i.t},valueOf:function(){return this.s}};var i=new n;function a(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}var o=1e-6,s=Math.PI,l=s/2,c=s/4,u=2*s,f=180/s,h=s/180,p=Math.abs,d=Math.atan,m=Math.atan2,g=Math.cos,v=Math.ceil,y=Math.exp,x=Math.log,b=Math.pow,_=Math.sin,w=Math.sign||function(t){return t>0?1:t<0?-1:0},T=Math.sqrt,k=Math.tan;function A(t){return t>1?0:t<-1?s:Math.acos(t)}function M(t){return t>1?l:t<-1?-l:Math.asin(t)}function S(t){return(t=_(t/2))*t}function E(){}function L(t,e){t&&P.hasOwnProperty(t.type)&&P[t.type](t,e)}var C={Feature:function(t,e){L(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n=0?1:-1,i=n*r,a=g(e=(e*=h)/2+c),o=_(e),s=N*o,l=B*a+s*g(i),u=s*n*_(i);j.add(m(u,l)),F=t,B=a,N=o}function W(t){return[m(t[1],t[0]),M(t[2])]}function X(t){var e=t[0],r=t[1],n=g(r);return[n*g(e),n*_(e),_(r)]}function Z(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function J(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 K(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Q(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function $(t){var e=T(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var tt,et,rt,nt,it,at,ot,st,lt,ct,ut,ft,ht,pt,dt,mt,gt,vt,yt,xt,bt,_t,wt,Tt,kt,At,Mt=r(),St={point:Et,lineStart:Ct,lineEnd:Pt,polygonStart:function(){St.point=It,St.lineStart=Ot,St.lineEnd=zt,Mt.reset(),V.polygonStart()},polygonEnd:function(){V.polygonEnd(),St.point=Et,St.lineStart=Ct,St.lineEnd=Pt,j<0?(tt=-(rt=180),et=-(nt=90)):Mt>o?nt=90:Mt<-o&&(et=-90),ct[0]=tt,ct[1]=rt},sphere:function(){tt=-(rt=180),et=-(nt=90)}};function Et(t,e){lt.push(ct=[tt=t,rt=t]),ent&&(nt=e)}function Lt(t,e){var r=X([t*h,e*h]);if(st){var n=J(st,r),i=J([n[1],-n[0],0],n);$(i),i=W(i);var a,o=t-it,s=o>0?1:-1,l=i[0]*f*s,c=p(o)>180;c^(s*itnt&&(nt=a):c^(s*it<(l=(l+360)%360-180)&&lnt&&(nt=e)),c?tDt(tt,rt)&&(rt=t):Dt(t,rt)>Dt(tt,rt)&&(tt=t):rt>=tt?(trt&&(rt=t)):t>it?Dt(tt,t)>Dt(tt,rt)&&(rt=t):Dt(t,rt)>Dt(tt,rt)&&(tt=t)}else lt.push(ct=[tt=t,rt=t]);ent&&(nt=e),st=r,it=t}function Ct(){St.point=Lt}function Pt(){ct[0]=tt,ct[1]=rt,St.point=Et,st=null}function It(t,e){if(st){var r=t-it;Mt.add(p(r)>180?r+(r>0?360:-360):r)}else at=t,ot=e;V.point(t,e),Lt(t,e)}function Ot(){V.lineStart()}function zt(){It(at,ot),V.lineEnd(),p(Mt)>o&&(tt=-(rt=180)),ct[0]=tt,ct[1]=rt,st=null}function Dt(t,e){return(e-=t)<0?e+360:e}function Rt(t,e){return t[0]-e[0]}function Ft(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:es?t+Math.round(-t/u)*u:t,e]}function Qt(t,e,r){return(t%=u)?e||r?Jt(te(t),ee(e,r)):te(t):e||r?ee(e,r):Kt}function $t(t){return function(e,r){return[(e+=t)>s?e-u:e<-s?e+u:e,r]}}function te(t){var e=$t(t);return e.invert=$t(-t),e}function ee(t,e){var r=g(t),n=_(t),i=g(e),a=_(e);function o(t,e){var o=g(e),s=g(t)*o,l=_(t)*o,c=_(e),u=c*r+s*n;return[m(l*i-u*a,s*r-c*n),M(u*i+l*a)]}return o.invert=function(t,e){var o=g(e),s=g(t)*o,l=_(t)*o,c=_(e),u=c*i-l*a;return[m(l*i+c*a,s*r+u*n),M(u*r-s*n)]},o}function re(t){function e(e){return(e=t(e[0]*h,e[1]*h))[0]*=f,e[1]*=f,e}return t=Qt(t[0]*h,t[1]*h,t.length>2?t[2]*h:0),e.invert=function(e){return(e=t.invert(e[0]*h,e[1]*h))[0]*=f,e[1]*=f,e},e}function ne(t,e,r,n,i,a){if(r){var o=g(e),s=_(e),l=n*r;null==i?(i=e+n*u,a=e-l/2):(i=ie(o,i),a=ie(o,a),(n>0?ia)&&(i+=n*u));for(var c,f=i;n>0?f>a:f1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}function oe(t,e){return p(t[0]-e[0])=0;--a)i.point((f=u[a])[0],f[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function ce(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n=0?1:-1,z=O*I,D=z>s,R=T*C;if(ue.add(m(R*O*_(z),k*P+R*g(z))),f+=D?I+O*u:I,D^b>=r^E>=r){var F=J(X(x),X(S));$(F);var B=J(a,F);$(B);var N=(D^I>=0?-1:1)*M(B[2]);(n>N||n===N&&(F[0]||F[1]))&&(h+=D^I>=0?1:-1)}}return(f<-o||f0){for(h||(a.polygonStart(),h=!0),a.lineStart(),t=0;t1&&2&i&&c.push(c.pop().concat(c.shift())),s.push(c.filter(de))}return p}}function de(t){return t.length>1}function me(t,e){return((t=t.x)[0]<0?t[1]-l-o:l-t[1])-((e=e.x)[0]<0?e[1]-l-o:l-e[1])}var ge=pe((function(){return!0}),(function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,c){var u=a>0?s:-s,f=p(a-r);p(f-s)0?l:-l),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(u,n),t.point(a,n),e=0):i!==u&&f>=s&&(p(r-i)o?d((_(e)*(a=g(n))*_(r)-_(n)*(i=g(e))*_(t))/(i*a*s)):(e+n)/2}(r,n,a,c),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(u,n),e=0),t.point(r=a,n=c),i=u},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var i;if(null==t)i=r*l,n.point(-s,i),n.point(0,i),n.point(s,i),n.point(s,0),n.point(s,-i),n.point(0,-i),n.point(-s,-i),n.point(-s,0),n.point(-s,i);else if(p(t[0]-e[0])>o){var a=t[0]0,i=p(e)>o;function a(t,r){return g(t)*g(r)>e}function l(t,r,n){var i=[1,0,0],a=J(X(t),X(r)),l=Z(a,a),c=a[0],u=l-c*c;if(!u)return!n&&t;var f=e*l/u,h=-e*c/u,d=J(i,a),m=Q(i,f);K(m,Q(a,h));var g=d,v=Z(m,g),y=Z(g,g),x=v*v-y*(Z(m,m)-1);if(!(x<0)){var b=T(x),_=Q(g,(-v-b)/y);if(K(_,m),_=W(_),!n)return _;var w,k=t[0],A=r[0],M=t[1],S=r[1];A0^_[1]<(p(_[0]-k)s^(k<=_[0]&&_[0]<=A)){var C=Q(g,(-v+b)/y);return K(C,m),[_,W(C)]}}}function c(e,r){var i=n?t:s-t,a=0;return e<-i?a|=1:e>i&&(a|=2),r<-i?a|=4:r>i&&(a|=8),a}return pe(a,(function(t){var e,r,o,u,f;return{lineStart:function(){u=o=!1,f=1},point:function(h,p){var d,m=[h,p],g=a(h,p),v=n?g?0:c(h,p):g?c(h+(h<0?s:-s),p):0;if(!e&&(u=o=g)&&t.lineStart(),g!==o&&(!(d=l(e,m))||oe(e,d)||oe(m,d))&&(m[2]=1),g!==o)f=0,g?(t.lineStart(),d=l(m,e),t.point(d[0],d[1])):(d=l(e,m),t.point(d[0],d[1],2),t.lineEnd()),e=d;else if(i&&e&&n^g){var y;v&r||!(y=l(m,e,!0))||(f=0,n?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1],3)))}!g||e&&oe(e,m)||t.point(m[0],m[1]),e=m,o=g,r=v},lineEnd:function(){o&&t.lineEnd(),e=null},clean:function(){return f|(u&&o)<<1}}}),(function(e,n,i,a){ne(a,t,r,i,e,n)}),n?[0,-t]:[-s,t-s])}function ye(t,r,n,i){function a(e,a){return t<=e&&e<=n&&r<=a&&a<=i}function s(e,a,o,s){var c=0,f=0;if(null==e||(c=l(e,o))!==(f=l(a,o))||u(e,a)<0^o>0)do{s.point(0===c||3===c?t:n,c>1?i:r)}while((c=(c+o+4)%4)!==f);else s.point(a[0],a[1])}function l(e,i){return p(e[0]-t)0?0:3:p(e[0]-n)0?2:1:p(e[1]-r)0?1:0:i>0?3:2}function c(t,e){return u(t.x,e.x)}function u(t,e){var r=l(t,1),n=l(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]}return function(o){var l,u,f,h,p,d,m,g,v,y,x,b=o,_=ae(),w={point:T,lineStart:function(){w.point=k,u&&u.push(f=[]);y=!0,v=!1,m=g=NaN},lineEnd:function(){l&&(k(h,p),d&&v&&_.rejoin(),l.push(_.result()));w.point=T,v&&b.lineEnd()},polygonStart:function(){b=_,l=[],u=[],x=!0},polygonEnd:function(){var r=function(){for(var e=0,r=0,n=u.length;ri&&(h-a)*(i-o)>(p-o)*(t-a)&&++e:p<=i&&(h-a)*(i-o)<(p-o)*(t-a)&&--e;return e}(),n=x&&r,a=(l=e.merge(l)).length;(n||a)&&(o.polygonStart(),n&&(o.lineStart(),s(null,null,1,o),o.lineEnd()),a&&le(l,c,r,s,o),o.polygonEnd());b=o,l=u=f=null}};function T(t,e){a(t,e)&&b.point(t,e)}function k(e,o){var s=a(e,o);if(u&&f.push([e,o]),y)h=e,p=o,d=s,y=!1,s&&(b.lineStart(),b.point(e,o));else if(s&&v)b.point(e,o);else{var l=[m=Math.max(-1e9,Math.min(1e9,m)),g=Math.max(-1e9,Math.min(1e9,g))],c=[e=Math.max(-1e9,Math.min(1e9,e)),o=Math.max(-1e9,Math.min(1e9,o))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],c=0,u=1,f=e[0]-s,h=e[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>u)return;o>c&&(c=o)}else if(f>0){if(o0)){if(o/=h,h<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>u)return;o>c&&(c=o)}else if(h>0){if(o0&&(t[0]=s+c*f,t[1]=l+c*h),u<1&&(e[0]=s+u*f,e[1]=l+u*h),!0}}}}}(l,c,t,r,n,i)?s&&(b.lineStart(),b.point(e,o),x=!1):(v||(b.lineStart(),b.point(l[0],l[1])),b.point(c[0],c[1]),s||b.lineEnd(),x=!1)}m=e,g=o,v=s}return w}}var xe,be,_e,we=r(),Te={sphere:E,point:E,lineStart:function(){Te.point=Ae,Te.lineEnd=ke},lineEnd:E,polygonStart:E,polygonEnd:E};function ke(){Te.point=Te.lineEnd=E}function Ae(t,e){xe=t*=h,be=_(e*=h),_e=g(e),Te.point=Me}function Me(t,e){t*=h;var r=_(e*=h),n=g(e),i=p(t-xe),a=g(i),o=n*_(i),s=_e*r-be*n*a,l=be*r+_e*n*a;we.add(m(T(o*o+s*s),l)),xe=t,be=r,_e=n}function Se(t){return we.reset(),z(t,Te),+we}var Ee=[null,null],Le={type:\"LineString\",coordinates:Ee};function Ce(t,e){return Ee[0]=t,Ee[1]=e,Se(Le)}var Pe={Feature:function(t,e){return Oe(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n0&&(i=Ce(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))<1e-12*i)return!0;r=n}return!1}function Re(t,e){return!!he(t.map(Fe),Be(e))}function Fe(t){return(t=t.map(Be)).pop(),t}function Be(t){return[t[0]*h,t[1]*h]}function Ne(t,r,n){var i=e.range(t,r-o,n).concat(r);return function(t){return i.map((function(e){return[t,e]}))}}function je(t,r,n){var i=e.range(t,r-o,n).concat(r);return function(t){return i.map((function(e){return[e,t]}))}}function Ue(){var t,r,n,i,a,s,l,c,u,f,h,d,m=10,g=m,y=90,x=360,b=2.5;function _(){return{type:\"MultiLineString\",coordinates:w()}}function w(){return e.range(v(i/y)*y,n,y).map(h).concat(e.range(v(c/x)*x,l,x).map(d)).concat(e.range(v(r/m)*m,t,m).filter((function(t){return p(t%y)>o})).map(u)).concat(e.range(v(s/g)*g,a,g).filter((function(t){return p(t%x)>o})).map(f))}return _.lines=function(){return w().map((function(t){return{type:\"LineString\",coordinates:t}}))},_.outline=function(){return{type:\"Polygon\",coordinates:[h(i).concat(d(l).slice(1),h(n).reverse().slice(1),d(c).reverse().slice(1))]}},_.extent=function(t){return arguments.length?_.extentMajor(t).extentMinor(t):_.extentMinor()},_.extentMajor=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],c=+t[0][1],l=+t[1][1],i>n&&(t=i,i=n,n=t),c>l&&(t=c,c=l,l=t),_.precision(b)):[[i,c],[n,l]]},_.extentMinor=function(e){return arguments.length?(r=+e[0][0],t=+e[1][0],s=+e[0][1],a=+e[1][1],r>t&&(e=r,r=t,t=e),s>a&&(e=s,s=a,a=e),_.precision(b)):[[r,s],[t,a]]},_.step=function(t){return arguments.length?_.stepMajor(t).stepMinor(t):_.stepMinor()},_.stepMajor=function(t){return arguments.length?(y=+t[0],x=+t[1],_):[y,x]},_.stepMinor=function(t){return arguments.length?(m=+t[0],g=+t[1],_):[m,g]},_.precision=function(e){return arguments.length?(b=+e,u=Ne(s,a,90),f=je(r,t,b),h=Ne(c,l,90),d=je(i,n,b),_):b},_.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Ve(t){return t}var He,qe,Ge,Ye,We=r(),Xe=r(),Ze={point:E,lineStart:E,lineEnd:E,polygonStart:function(){Ze.lineStart=Je,Ze.lineEnd=$e},polygonEnd:function(){Ze.lineStart=Ze.lineEnd=Ze.point=E,We.add(p(Xe)),Xe.reset()},result:function(){var t=We/2;return We.reset(),t}};function Je(){Ze.point=Ke}function Ke(t,e){Ze.point=Qe,He=Ge=t,qe=Ye=e}function Qe(t,e){Xe.add(Ye*t-Ge*e),Ge=t,Ye=e}function $e(){Qe(He,qe)}var tr=1/0,er=tr,rr=-tr,nr=rr,ir={point:function(t,e){trr&&(rr=t);enr&&(nr=e)},lineStart:E,lineEnd:E,polygonStart:E,polygonEnd:E,result:function(){var t=[[tr,er],[rr,nr]];return rr=nr=-(er=tr=1/0),t}};var ar,or,sr,lr,cr=0,ur=0,fr=0,hr=0,pr=0,dr=0,mr=0,gr=0,vr=0,yr={point:xr,lineStart:br,lineEnd:Tr,polygonStart:function(){yr.lineStart=kr,yr.lineEnd=Ar},polygonEnd:function(){yr.point=xr,yr.lineStart=br,yr.lineEnd=Tr},result:function(){var t=vr?[mr/vr,gr/vr]:dr?[hr/dr,pr/dr]:fr?[cr/fr,ur/fr]:[NaN,NaN];return cr=ur=fr=hr=pr=dr=mr=gr=vr=0,t}};function xr(t,e){cr+=t,ur+=e,++fr}function br(){yr.point=_r}function _r(t,e){yr.point=wr,xr(sr=t,lr=e)}function wr(t,e){var r=t-sr,n=e-lr,i=T(r*r+n*n);hr+=i*(sr+t)/2,pr+=i*(lr+e)/2,dr+=i,xr(sr=t,lr=e)}function Tr(){yr.point=xr}function kr(){yr.point=Mr}function Ar(){Sr(ar,or)}function Mr(t,e){yr.point=Sr,xr(ar=sr=t,or=lr=e)}function Sr(t,e){var r=t-sr,n=e-lr,i=T(r*r+n*n);hr+=i*(sr+t)/2,pr+=i*(lr+e)/2,dr+=i,mr+=(i=lr*t-sr*e)*(sr+t),gr+=i*(lr+e),vr+=3*i,xr(sr=t,lr=e)}function Er(t){this._context=t}Er.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,u)}},result:E};var Lr,Cr,Pr,Ir,Or,zr=r(),Dr={point:E,lineStart:function(){Dr.point=Rr},lineEnd:function(){Lr&&Fr(Cr,Pr),Dr.point=E},polygonStart:function(){Lr=!0},polygonEnd:function(){Lr=null},result:function(){var t=+zr;return zr.reset(),t}};function Rr(t,e){Dr.point=Fr,Cr=Ir=t,Pr=Or=e}function Fr(t,e){Ir-=t,Or-=e,zr.add(T(Ir*Ir+Or*Or)),Ir=t,Or=e}function Br(){this._string=[]}function Nr(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}function jr(t){return function(e){var r=new Ur;for(var n in t)r[n]=t[n];return r.stream=e,r}}function Ur(){}function Vr(t,e,r){var n=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=n&&t.clipExtent(null),z(r,t.stream(ir)),e(ir.result()),null!=n&&t.clipExtent(n),t}function Hr(t,e,r){return Vr(t,(function(r){var n=e[1][0]-e[0][0],i=e[1][1]-e[0][1],a=Math.min(n/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),o=+e[0][0]+(n-a*(r[1][0]+r[0][0]))/2,s=+e[0][1]+(i-a*(r[1][1]+r[0][1]))/2;t.scale(150*a).translate([o,s])}),r)}function qr(t,e,r){return Hr(t,[[0,0],e],r)}function Gr(t,e,r){return Vr(t,(function(r){var n=+e,i=n/(r[1][0]-r[0][0]),a=(n-i*(r[1][0]+r[0][0]))/2,o=-i*r[0][1];t.scale(150*i).translate([a,o])}),r)}function Yr(t,e,r){return Vr(t,(function(r){var n=+e,i=n/(r[1][1]-r[0][1]),a=-i*r[0][0],o=(n-i*(r[1][1]+r[0][1]))/2;t.scale(150*i).translate([a,o])}),r)}Br.prototype={_radius:4.5,_circle:Nr(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push(\"Z\"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push(\"M\",t,\",\",e),this._point=1;break;case 1:this._string.push(\"L\",t,\",\",e);break;default:null==this._circle&&(this._circle=Nr(this._radius)),this._string.push(\"M\",t,\",\",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join(\"\");return this._string=[],t}return null}},Ur.prototype={constructor:Ur,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()}};var Wr=g(30*h);function Xr(t,e){return+e?function(t,e){function r(n,i,a,s,l,c,u,f,h,d,g,v,y,x){var b=u-n,_=f-i,w=b*b+_*_;if(w>4*e&&y--){var k=s+d,A=l+g,S=c+v,E=T(k*k+A*A+S*S),L=M(S/=E),C=p(p(S)-1)e||p((b*z+_*D)/w-.5)>.3||s*d+l*g+c*v2?t[2]%360*h:0,I()):[y*f,x*f,b*f]},C.angle=function(t){return arguments.length?(_=t%360*h,I()):_*f},C.reflectX=function(t){return arguments.length?(w=t?-1:1,I()):w<0},C.reflectY=function(t){return arguments.length?(k=t?-1:1,I()):k<0},C.precision=function(t){return arguments.length?(o=Xr(s,L=t*t),O()):T(L)},C.fitExtent=function(t,e){return Hr(C,t,e)},C.fitSize=function(t,e){return qr(C,t,e)},C.fitWidth=function(t,e){return Gr(C,t,e)},C.fitHeight=function(t,e){return Yr(C,t,e)},function(){return e=t.apply(this,arguments),C.invert=e.invert&&P,I()}}function tn(t){var e=0,r=s/3,n=$r(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*h,r=t[1]*h):[e*f,r*f]},i}function en(t,e){var r=_(t),n=(r+_(e))/2;if(p(n)0?e<-l+o&&(e=-l+o):e>l-o&&(e=l-o);var r=i/b(fn(e),n);return[r*_(n*t),i-r*g(n*t)]}return a.invert=function(t,e){var r=i-e,a=w(n)*T(t*t+r*r),o=m(t,p(r))*w(r);return r*n<0&&(o-=s*w(t)*w(r)),[o/n,2*d(b(i/a,1/n))-l]},a}function pn(t,e){return[t,e]}function dn(t,e){var r=g(t),n=t===e?_(t):(r-g(e))/(e-t),i=r/n+t;if(p(n)o&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},Tn.invert=on(M),kn.invert=on((function(t){return 2*d(t)})),An.invert=function(t,e){return[-e,2*d(y(t))-l]},t.geoAlbers=nn,t.geoAlbersUsa=function(){var t,e,r,n,i,a,s=nn(),l=rn().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=rn().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(t,e){a=[t,e]}};function f(t){var e=t[0],o=t[1];return a=null,r.point(e,o),a||(n.point(e,o),a)||(i.point(e,o),a)}function h(){return t=e=null,f}return f.invert=function(t){var e=s.scale(),r=s.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?l:i>=.166&&i<.234&&n>=-.214&&n<-.115?c:s).invert(t)},f.stream=function(r){return t&&e===r?t:(n=[s.stream(e=r),l.stream(r),c.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++rDt(n[0],n[1])&&(n[1]=i[1]),Dt(i[0],n[1])>Dt(n[0],n[1])&&(n[0]=i[0])):a.push(n=i);for(o=-1/0,e=0,n=a[r=a.length-1];e<=r;n=i,++e)i=a[e],(s=Dt(n[1],i[0]))>o&&(o=s,tt=i[0],rt=n[1])}return lt=ct=null,tt===1/0||et===1/0?[[NaN,NaN],[NaN,NaN]]:[[tt,et],[rt,nt]]},t.geoCentroid=function(t){ut=ft=ht=pt=dt=mt=gt=vt=yt=xt=bt=0,z(t,Bt);var e=yt,r=xt,n=bt,i=e*e+r*r+n*n;return i<1e-12&&(e=mt,r=gt,n=vt,ft2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)},t.geoTransverseMercatorRaw=An,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-array\":107}],115:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(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 i(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 a(t,e){var r,n,i,a,s,u=new c(t),f=+t.value&&(u.value=t.value),h=[u];for(null==e&&(e=o);r=h.pop();)if(f&&(r.value=+r.data.value),(i=e(r.data))&&(s=i.length))for(r.children=new Array(s),a=s-1;a>=0;--a)h.push(n=r.children[a]=new c(i[a])),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=a.prototype={constructor:c,count:function(){return this.eachAfter(i)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].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(),i=null;t=r.pop(),e=n.pop();for(;t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,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 a(this).eachBefore(s)}};var u=Array.prototype.slice;function f(t){for(var e,r,n=0,i=(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,a=[];n0&&r*r>n*n+i*i}function m(t,e){for(var r=0;r(o*=o)?(n=(c+o-i)/(2*c),a=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(c+i-o)/(2*c),a=Math.sqrt(Math.max(0,i/c-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*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,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function _(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function w(t){this._=t,this.next=null,this.previous=null}function T(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,c,u,h;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>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;sh&&(h=s),g=u*u*m,(p=Math.max(h/g,g/f))>d){u-=s;break}d=p}v.push(o={value:u,dice:l1?e:1)},r}(G);var X=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,f=-1,h=o.length,p=t.value;++f1?e:1)},r}(G);t.cluster=function(){var t=e,i=1,a=1,o=!1;function s(e){var s,l=0;e.eachAfter((function(e){var i=e.children;i?(e.x=function(t){return t.reduce(r,0)/t.length}(i),e.y=function(t){return 1+t.reduce(n,0)}(i)):(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),f=c.x-t(c,u)/2,h=u.x+t(u,c)/2;return e.eachAfter(o?function(t){t.x=(t.x-e.x)*i,t.y=(e.y-t.y)*a}:function(t){t.x=(t.x-f)/(h-f)*i,t.y=(1-(e.y?t.y/e.y:1))*a})}return s.separation=function(e){return arguments.length?(t=e,s):t},s.size=function(t){return arguments.length?(o=!1,i=+t[0],a=+t[1],s):o?null:[i,a]},s.nodeSize=function(t){return arguments.length?(o=!0,i=+t[0],a=+t[1],s):o?[i,a]:null},s},t.hierarchy=a,t.pack=function(){var t=null,e=1,r=1,n=M;function i(i){return i.x=e/2,i.y=r/2,t?i.eachBefore(L(t)).eachAfter(C(n,.5)).eachBefore(P(1)):i.eachBefore(L(E)).eachAfter(C(M,1)).eachAfter(C(n,i.r/Math.min(e,r))).eachBefore(P(Math.min(e,r)/(2*i.r))),i}return i.radius=function(e){return arguments.length?(t=k(e),i):t},i.size=function(t){return arguments.length?(e=+t[0],r=+t[1],i):[e,r]},i.padding=function(t){return arguments.length?(n=\"function\"==typeof t?t:S(+t),i):n},i},t.packEnclose=f,t.packSiblings=function(t){return T(t),t},t.partition=function(){var t=1,e=1,r=0,n=!1;function i(i){var a=i.height+1;return i.x0=i.y0=r,i.x1=t,i.y1=e/a,i.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 i=n.x0,a=n.y0,o=n.x1-r,s=n.y1-r;o0)throw new Error(\"cycle\");return a}return r.id=function(e){return arguments.length?(t=A(e),r):t},r.parentId=function(t){return arguments.length?(e=A(t),r):e},r},t.tree=function(){var t=B,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new H(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new H(n[i],i)),r.parent=e;return(o.parent=new H(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var c=i,u=i,f=i;i.eachBefore((function(t){t.xu.x&&(u=t),t.depth>f.depth&&(f=t)}));var h=c===u?1:t(c,u)/2,p=h-c.x,d=e/(u.x+h+p),m=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*m}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=j(s),a=N(a),s&&a;)l=N(l),(o=j(o)).a=e,(i=s.z+f-a.z-c+t(s._,a._))>0&&(U(V(s,e,n),e,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=f-u),a&&!N(l)&&(l.t=a,l.m+=c-h,n=e)}return n}(e,i,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 i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i},t.treemap=function(){var t=W,e=!1,r=1,n=1,i=[0],a=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(f),i=[0],e&&t.eachBefore(I),t}function f(e){var r=i[e.depth],n=e.x0+r,u=e.y0+r,f=e.x1-r,h=e.y1-r;f=r-1){var u=s[e];return u.x0=i,u.y0=a,u.x1=o,void(u.y1=l)}var f=c[e],h=n/2+f,p=e+1,d=r-1;for(;p>>1;c[m]l-a){var y=(i*v+o*g)/n;t(e,p,g,i,a,y,l),t(p,r,v,y,a,o,l)}else{var x=(a*v+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,v,i,x,o,l)}}(0,l,t.value,e,r,n,i)},t.treemapDice=O,t.treemapResquarify=X,t.treemapSlice=q,t.treemapSliceDice=function(t,e,r,n,i){(1&t.depth?q:O)(t,e,r,n,i)},t.treemapSquarify=W,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],116:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-color\")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){\"use strict\";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}function n(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i180||r<-180?r-360*Math.round(r/360):r):a(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):a(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+\"\"}}return i.gamma=t,i}(1);function f(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:y(r,n)})),a=_.lastIndex;return a180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+\"rotate(\",null,n)-2,x:y(t,e)})):e&&r.push(i(r)+\"rotate(\"+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+\"skewX(\",null,n)-2,x:y(t,e)}):e&&r.push(i(r)+\"skewX(\"+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+\"scale(\",null,\",\",null,\")\");o.push({i:s-4,x:y(t,r)},{i:s-2,x:y(e,n)})}else 1===r&&1===n||a.push(i(a)+\"scale(\"+r+\",\"+n+\")\")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r1e-6)if(Math.abs(f*l-c*u)>1e-6&&a){var p=n-o,d=i-s,m=l*l+c*c,g=p*p+d*d,v=Math.sqrt(m),y=Math.sqrt(h),x=a*Math.tan((e-Math.acos((m+h-g)/(2*v*y)))/2),b=x/y,_=x/v;Math.abs(b-1)>1e-6&&(this._+=\"L\"+(t+b*u)+\",\"+(r+b*f)),this._+=\"A\"+a+\",\"+a+\",0,0,\"+ +(f*p>u*d)+\",\"+(this._x1=t+_*l)+\",\"+(this._y1=r+_*c)}else this._+=\"L\"+(this._x1=t)+\",\"+(this._y1=r);else;},arc:function(t,i,a,o,s,l){t=+t,i=+i,l=!!l;var c=(a=+a)*Math.cos(o),u=a*Math.sin(o),f=t+c,h=i+u,p=1^l,d=l?o-s:s-o;if(a<0)throw new Error(\"negative radius: \"+a);null===this._x1?this._+=\"M\"+f+\",\"+h:(Math.abs(this._x1-f)>1e-6||Math.abs(this._y1-h)>1e-6)&&(this._+=\"L\"+f+\",\"+h),a&&(d<0&&(d=d%r+r),d>n?this._+=\"A\"+a+\",\"+a+\",0,1,\"+p+\",\"+(t-c)+\",\"+(i-u)+\"A\"+a+\",\"+a+\",0,1,\"+p+\",\"+(this._x1=f)+\",\"+(this._y1=h):d>1e-6&&(this._+=\"A\"+a+\",\"+a+\",0,\"+ +(d>=e)+\",\"+p+\",\"+(this._x1=t+a*Math.cos(s))+\",\"+(this._y1=i+a*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=a,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],118:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,p=t._root,d={data:n},m=t._x0,g=t._y0,v=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(a=(m+v)/2))?m=a:v=a,(u=r>=(o=(g+y)/2))?g=o:y=o,i=p,!(p=p[f=u<<1|c]))return i[f]=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,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e>=(a=(m+v)/2))?m=a:v=a,(u=r>=(o=(g+y)/2))?g=o:y=o}while((f=u<<1|c)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function r(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,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=a.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 i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=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,i,a,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,f=-1/0,h=-1/0;for(n=0;nf&&(f=i),ah&&(h=a));if(c>f||u>h)return this;for(this.cover(c,u).cover(f,h),n=0;nt||t>=i||n>e||e>=a;)switch(s=(ep||(o=c.y0)>d||(s=c.x1)=y)<<1|t>=v)&&(c=m[m.length-1],m[m.length-1]=m[m.length-1-u],m[m.length-1-u]=c)}else{var x=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),_=x*x+b*b;if(_=(s=(d+g)/2))?d=s:g=s,(u=o>=(l=(m+v)/2))?m=l:v=l,e=p,!(p=p[f=u<<1|c]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},l.removeAll=function(t){for(var e=0,r=t.length;e1?0:t<-1?u:Math.acos(t)}function d(t){return t>=1?f:t<=-1?-f:Math.asin(t)}function m(t){return t.innerRadius}function g(t){return t.outerRadius}function v(t){return t.startAngle}function y(t){return t.endAngle}function x(t){return t&&t.padAngle}function b(t,e,r,n,i,a,o,s){var l=r-t,c=n-e,u=o-i,f=s-a,h=f*l-u*c;if(!(h*h<1e-12))return[t+(h=(u*(e-a)-f*(t-i))/h)*l,e+h*c]}function _(t,e,r,n,i,a,s){var l=t-r,u=e-n,f=(s?a:-a)/c(l*l+u*u),h=f*u,p=-f*l,d=t+h,m=e+p,g=r+h,v=n+p,y=(d+g)/2,x=(m+v)/2,b=g-d,_=v-m,w=b*b+_*_,T=i-a,k=d*v-g*m,A=(_<0?-1:1)*c(o(0,T*T*w-k*k)),M=(k*_-b*A)/w,S=(-k*b-_*A)/w,E=(k*_+b*A)/w,L=(-k*b+_*A)/w,C=M-y,P=S-x,I=E-y,O=L-x;return C*C+P*P>I*I+O*O&&(M=E,S=L),{cx:M,cy:S,x01:-h,y01:-p,x11:M*(i/T-1),y11:S*(i/T-1)}}function w(t){this._context=t}function T(t){return new w(t)}function k(t){return t[0]}function A(t){return t[1]}function M(){var t=k,n=A,i=r(!0),a=null,o=T,s=null;function l(r){var l,c,u,f=r.length,h=!1;for(null==a&&(s=o(u=e.path())),l=0;l<=f;++l)!(l=f;--h)c.point(v[h],y[h]);c.lineEnd(),c.areaEnd()}g&&(v[u]=+t(p,u,r),y[u]=+i(p,u,r),c.point(n?+n(p,u,r):v[u],a?+a(p,u,r):y[u]))}if(d)return c=null,d+\"\"||null}function f(){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?(i=\"function\"==typeof t?t:r(+t),a=null,u):i},u.y0=function(t){return arguments.length?(i=\"function\"==typeof t?t:r(+t),u):i},u.y1=function(t){return arguments.length?(a=null==t?null:\"function\"==typeof t?t:r(+t),u):a},u.lineX0=u.lineY0=function(){return f().x(t).y(i)},u.lineY1=function(){return f().x(t).y(a)},u.lineX1=function(){return f().x(n).y(i)},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 E(t,e){return et?1:e>=t?0:NaN}function L(t){return t}w.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 C=I(T);function P(t){this._curve=t}function I(t){function e(e){return new P(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(I(t)):e()._curve},t}function z(){return O(M().curve(C))}function D(){var t=S().curve(C),e=t.curve,r=t.lineX0,n=t.lineX1,i=t.lineY0,a=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(i())},delete t.lineY0,t.lineOuterRadius=function(){return O(a())},delete t.lineY1,t.curve=function(t){return arguments.length?e(I(t)):e()._curve},t}function R(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}P.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 F=Array.prototype.slice;function B(t){return t.source}function N(t){return t.target}function j(t){var n=B,i=N,a=k,o=A,s=null;function l(){var r,l=F.call(arguments),c=n.apply(this,l),u=i.apply(this,l);if(s||(s=r=e.path()),t(s,+a.apply(this,(l[0]=c,l)),+o.apply(this,l),+a.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?(i=t,l):i},l.x=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),l):a},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 U(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function V(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e,r=(r+i)/2,n,r,n,i)}function H(t,e,r,n,i){var a=R(e,r),o=R(e,r=(r+i)/2),s=R(n,r),l=R(n,i);t.moveTo(a[0],a[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/u);t.moveTo(r,0),t.arc(0,0,r,0,h)}},G={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()}},Y=Math.sqrt(1/3),W=2*Y,X={draw:function(t,e){var r=Math.sqrt(e/W),n=r*Y;t.moveTo(0,-r),t.lineTo(n,0),t.lineTo(0,r),t.lineTo(-n,0),t.closePath()}},Z=Math.sin(u/10)/Math.sin(7*u/10),J=Math.sin(h/10)*Z,K=-Math.cos(h/10)*Z,Q={draw:function(t,e){var r=Math.sqrt(.8908130915292852*e),n=J*r,i=K*r;t.moveTo(0,-r),t.lineTo(n,i);for(var a=1;a<5;++a){var o=h*a/5,s=Math.cos(o),l=Math.sin(o);t.lineTo(l*r,-s*r),t.lineTo(s*n-l*i,l*n+s*i)}t.closePath()}},$={draw:function(t,e){var r=Math.sqrt(e),n=-r/2;t.rect(n,n,r,r)}},tt=Math.sqrt(3),et={draw:function(t,e){var r=-Math.sqrt(e/(3*tt));t.moveTo(0,2*r),t.lineTo(-tt*r,-r),t.lineTo(tt*r,-r),t.closePath()}},rt=-.5,nt=Math.sqrt(3)/2,it=1/Math.sqrt(12),at=3*(it/2+1),ot={draw:function(t,e){var r=Math.sqrt(e/at),n=r/2,i=r*it,a=n,o=r*it+r,s=-a,l=o;t.moveTo(n,i),t.lineTo(a,o),t.lineTo(s,l),t.lineTo(rt*n-nt*i,nt*n+rt*i),t.lineTo(rt*a-nt*o,nt*a+rt*o),t.lineTo(rt*s-nt*l,nt*s+rt*l),t.lineTo(rt*n+nt*i,rt*i-nt*n),t.lineTo(rt*a+nt*o,rt*o-nt*a),t.lineTo(rt*s+nt*l,rt*l-nt*s),t.closePath()}},st=[q,G,X,$,Q,et,ot];function lt(){}function ct(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 ut(t){this._context=t}function ft(t){this._context=t}function ht(t){this._context=t}function pt(t,e){this._basis=new ut(t),this._beta=e}ut.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:ct(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:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ft.prototype={areaStart:lt,areaEnd:lt,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:ct(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:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},pt.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,i=t[0],a=e[0],o=t[r]-i,s=e[r]-a,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(i+n*o),this._beta*e[l]+(1-this._beta)*(a+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var dt=function t(e){function r(t){return 1===e?new ut(t):new pt(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function mt(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:mt(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:mt(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 yt(t,e){this._context=t,this._k=(1-e)/6}yt.prototype={areaStart:lt,areaEnd:lt,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:mt(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 xt=function t(e){function r(t){return new yt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function bt(t,e){this._context=t,this._k=(1-e)/6}bt.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:mt(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 _t=function t(e){function r(t){return new bt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function wt(t,e,r){var n=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>1e-12){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,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>1e-12){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*c+t._x1*t._l23_2a-e*t._l12_2a)/u,o=(o*c+t._y1*t._l23_2a-r*t._l12_2a)/u}t._context.bezierCurveTo(n,i,a,o,t._x2,t._y2)}function Tt(t,e){this._context=t,this._alpha=e}Tt.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:wt(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 Tt(t,e):new gt(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:lt,areaEnd:lt,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:wt(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 At(t,e):new yt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function St(t,e){this._context=t,this._alpha=e}St.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:wt(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 Et=function t(e){function r(t){return e?new St(t,e):new bt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Lt(t){this._context=t}function Ct(t){return t<0?-1:1}function Pt(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),o=(r-t._y1)/(i||n<0&&-0),s=(a*i+o*n)/(n+i);return(Ct(a)+Ct(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function It(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,i=t._y0,a=t._x1,o=t._y1,s=(a-n)/3;t._context.bezierCurveTo(n+s,i+s*e,a-s,o-s*r,a,o)}function zt(t){this._context=t}function Dt(t){this._context=new Rt(t)}function Rt(t){this._context=t}function Ft(t){this._context=t}function Bt(t){var e,r,n=t.length-1,i=new Array(n),a=new Array(n),o=new Array(n);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[n-1]=(t[n]+i[n-1])/2,e=0;e1)for(var r,n,i,a=1,o=t[e[0]],s=o.length;a=0;)r[e]=e;return r}function Vt(t,e){return t[e]}function Ht(t){var e=t.map(qt);return Ut(t).sort((function(t,r){return e[t]-e[r]}))}function qt(t){for(var e,r=-1,n=0,i=t.length,a=-1/0;++ra&&(a=e,n=r);return n}function Gt(t){var e=t.map(Yt);return Ut(t).sort((function(t,r){return e[t]-e[r]}))}function Yt(t){for(var e,r=0,n=-1,i=t.length;++n=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=m,o=g,w=r(0),T=null,k=v,A=y,M=x,S=null;function E(){var r,m,g=+t.apply(this,arguments),v=+o.apply(this,arguments),y=k.apply(this,arguments)-f,x=A.apply(this,arguments)-f,E=n(x-y),L=x>y;if(S||(S=r=e.path()),v1e-12)if(E>h-1e-12)S.moveTo(v*a(y),v*l(y)),S.arc(0,0,v,y,x,!L),g>1e-12&&(S.moveTo(g*a(x),g*l(x)),S.arc(0,0,g,x,y,L));else{var C,P,I=y,O=x,z=y,D=x,R=E,F=E,B=M.apply(this,arguments)/2,N=B>1e-12&&(T?+T.apply(this,arguments):c(g*g+v*v)),j=s(n(v-g)/2,+w.apply(this,arguments)),U=j,V=j;if(N>1e-12){var H=d(N/g*l(B)),q=d(N/v*l(B));(R-=2*H)>1e-12?(z+=H*=L?1:-1,D-=H):(R=0,z=D=(y+x)/2),(F-=2*q)>1e-12?(I+=q*=L?1:-1,O-=q):(F=0,I=O=(y+x)/2)}var G=v*a(I),Y=v*l(I),W=g*a(D),X=g*l(D);if(j>1e-12){var Z,J=v*a(O),K=v*l(O),Q=g*a(z),$=g*l(z);if(E1e-12?V>1e-12?(C=_(Q,$,G,Y,v,V,L),P=_(J,K,W,X,v,V,L),S.moveTo(C.cx+C.x01,C.cy+C.y01),V1e-12&&R>1e-12?U>1e-12?(C=_(W,X,J,K,g,-U,L),P=_(G,Y,Q,$,g,-U,L),S.lineTo(C.cx+C.x01,C.cy+C.y01),U0&&(d+=f);for(null!=e?m.sort((function(t,r){return e(g[t],g[r])})):null!=n&&m.sort((function(t,e){return n(r[t],r[e])})),s=0,c=d?(y-p*b)/d:0;s0?f*c:0)+b,g[l]={data:r[l],index:s,value:f,startAngle:v,endAngle:u,padAngle:x};return g}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?(i=\"function\"==typeof t?t:r(+t),s):i},s.endAngle=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),s):a},s.padAngle=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(+t),s):o},s},t.pointRadial=R,t.radialArea=D,t.radialLine=z,t.stack=function(){var t=r([]),e=Ut,n=jt,i=Vt;function a(r){var a,o,s=t.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(a=0;a0)for(var r,n,i,a,o,s,l=0,c=t[e[0]].length;l0?(n[0]=a,n[1]=a+=i):i<0?(n[1]=o,n[0]=o+=i):(n[0]=0,n[1]=i)},t.stackOffsetExpand=function(t,e){if((n=t.length)>0){for(var r,n,i,a=0,o=t[0].length;a0){for(var r,n=0,i=t[e[0]],a=i.length;n0&&(n=(r=t[e[0]]).length)>0){for(var r,n,i,a=0,o=1;o=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:gt,s:vt,S:H,u:q,U:G,V:Y,w:W,W:X,x:null,X:null,y:Z,Y:J,Z:K,\"%\":mt},Ct={a:function(t){return f[t.getUTCDay()]},A:function(t){return u[t.getUTCDay()]},b:function(t){return yt[t.getUTCMonth()]},B:function(t){return h[t.getUTCMonth()]},c:null,d:Q,e:Q,f:nt,H:$,I:tt,j:et,L:rt,m:it,M:at,p:function(t){return c[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:gt,s:vt,S:ot,u:st,U:lt,V:ct,w:ut,W:ft,x:null,X:null,y:ht,Y:pt,Z:dt,\"%\":mt},Pt={a:function(t,e,r){var n=Tt.exec(e.slice(r));return n?(t.w=kt[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=_t.exec(e.slice(r));return n?(t.w=wt[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=St.exec(e.slice(r));return n?(t.m=Et[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=At.exec(e.slice(r));return n?(t.m=Mt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,e,r){return zt(t,a,e,r)},d:A,e:A,f:P,H:S,I:S,j:M,L:C,m:k,M:E,p:function(t,e,r){var n=xt.exec(e.slice(r));return n?(t.p=bt[n[0].toLowerCase()],r+n[0].length):-1},q:T,Q:O,s:z,S:L,u:g,U:v,V:y,w:m,W:x,x:function(t,e,r){return zt(t,o,e,r)},X:function(t,e,r){return zt(t,l,e,r)},y:_,Y:b,Z:w,\"%\":I};function It(t,e){return function(r){var n,i,a,o=[],l=-1,c=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++l53)return null;\"w\"in c||(c.w=1),\"Z\"in c?(l=(s=n(i(c.y,0,1))).getUTCDay(),s=l>4||0===l?e.utcMonday.ceil(s):e.utcMonday(s),s=e.utcDay.offset(s,7*(c.V-1)),c.y=s.getUTCFullYear(),c.m=s.getUTCMonth(),c.d=s.getUTCDate()+(c.w+6)%7):(l=(s=r(i(c.y,0,1))).getDay(),s=l>4||0===l?e.timeMonday.ceil(s):e.timeMonday(s),s=e.timeDay.offset(s,7*(c.V-1)),c.y=s.getFullYear(),c.m=s.getMonth(),c.d=s.getDate()+(c.w+6)%7)}else(\"W\"in c||\"U\"in c)&&(\"w\"in c||(c.w=\"u\"in c?c.u%7:\"W\"in c?1:0),l=\"Z\"in c?n(i(c.y,0,1)).getUTCDay():r(i(c.y,0,1)).getDay(),c.m=0,c.d=\"W\"in c?(c.w+6)%7+7*c.W-(l+5)%7:c.w+7*c.U-(l+6)%7);return\"Z\"in c?(c.H+=c.Z/100|0,c.M+=c.Z%100,n(c)):r(c)}}function zt(t,e,r,n){for(var i,a,o=0,l=e.length,c=r.length;o=c)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Pt[i in s?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Lt.x=It(o,Lt),Lt.X=It(l,Lt),Lt.c=It(a,Lt),Ct.x=It(o,Ct),Ct.X=It(l,Ct),Ct.c=It(a,Ct),{format:function(t){var e=It(t+=\"\",Lt);return e.toString=function(){return t},e},parse:function(t){var e=Ot(t+=\"\",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=It(t+=\"\",Ct);return e.toString=function(){return t},e},utcParse:function(t){var e=Ot(t+=\"\",!0);return e.toString=function(){return t},e}}}var o,s={\"-\":\"\",_:\" \",0:\"0\"},l=/^\\s*\\d+/,c=/^%/,u=/[\\\\^$*+?|[\\]().{}]/g;function f(t,e,r){var n=t<0?\"-\":\"\",i=(n?-t:t)+\"\",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function w(t,e,r){var n=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||\"00\")),r+n[0].length):-1}function T(t,e,r){var n=l.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function k(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function A(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function M(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function S(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function E(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function L(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function C(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function P(t,e,r){var n=l.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function I(t,e,r){var n=c.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function O(t,e,r){var n=l.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function z(t,e,r){var n=l.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function D(t,e){return f(t.getDate(),e,2)}function R(t,e){return f(t.getHours(),e,2)}function F(t,e){return f(t.getHours()%12||12,e,2)}function B(t,r){return f(1+e.timeDay.count(e.timeYear(t),t),r,3)}function N(t,e){return f(t.getMilliseconds(),e,3)}function j(t,e){return N(t,e)+\"000\"}function U(t,e){return f(t.getMonth()+1,e,2)}function V(t,e){return f(t.getMinutes(),e,2)}function H(t,e){return f(t.getSeconds(),e,2)}function q(t){var e=t.getDay();return 0===e?7:e}function G(t,r){return f(e.timeSunday.count(e.timeYear(t)-1,t),r,2)}function Y(t,r){var n=t.getDay();return t=n>=4||0===n?e.timeThursday(t):e.timeThursday.ceil(t),f(e.timeThursday.count(e.timeYear(t),t)+(4===e.timeYear(t).getDay()),r,2)}function W(t){return t.getDay()}function X(t,r){return f(e.timeMonday.count(e.timeYear(t)-1,t),r,2)}function Z(t,e){return f(t.getFullYear()%100,e,2)}function J(t,e){return f(t.getFullYear()%1e4,e,4)}function K(t){var e=t.getTimezoneOffset();return(e>0?\"-\":(e*=-1,\"+\"))+f(e/60|0,\"0\",2)+f(e%60,\"0\",2)}function Q(t,e){return f(t.getUTCDate(),e,2)}function $(t,e){return f(t.getUTCHours(),e,2)}function tt(t,e){return f(t.getUTCHours()%12||12,e,2)}function et(t,r){return f(1+e.utcDay.count(e.utcYear(t),t),r,3)}function rt(t,e){return f(t.getUTCMilliseconds(),e,3)}function nt(t,e){return rt(t,e)+\"000\"}function it(t,e){return f(t.getUTCMonth()+1,e,2)}function at(t,e){return f(t.getUTCMinutes(),e,2)}function ot(t,e){return f(t.getUTCSeconds(),e,2)}function st(t){var e=t.getUTCDay();return 0===e?7:e}function lt(t,r){return f(e.utcSunday.count(e.utcYear(t)-1,t),r,2)}function ct(t,r){var n=t.getUTCDay();return t=n>=4||0===n?e.utcThursday(t):e.utcThursday.ceil(t),f(e.utcThursday.count(e.utcYear(t),t)+(4===e.utcYear(t).getUTCDay()),r,2)}function ut(t){return t.getUTCDay()}function ft(t,r){return f(e.utcMonday.count(e.utcYear(t)-1,t),r,2)}function ht(t,e){return f(t.getUTCFullYear()%100,e,2)}function pt(t,e){return f(t.getUTCFullYear()%1e4,e,4)}function dt(){return\"+0000\"}function mt(){return\"%\"}function gt(t){return+t}function vt(t){return Math.floor(+t/1e3)}function yt(e){return o=a(e),t.timeFormat=o.format,t.timeParse=o.parse,t.utcFormat=o.utcFormat,t.utcParse=o.utcParse,o}yt({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});var xt=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat(\"%Y-%m-%dT%H:%M:%S.%LZ\");var bt=+new Date(\"2000-01-01T00:00:00.000Z\")?function(t){var e=new Date(t);return isNaN(e)?null:e}:t.utcParse(\"%Y-%m-%dT%H:%M:%S.%LZ\");t.isoFormat=xt,t.isoParse=bt,t.timeFormatDefaultLocale=yt,t.timeFormatLocale=a,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-time\":121}],121:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";var e=new Date,r=new Date;function n(t,i,a,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(e){return t(e=new Date(e-1)),i(e,1),t(e),e},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+e)),i(e,n),t(e)}while(a=r)for(;t(r),!e(r);)r.setTime(r-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;i(t,-1),!e(t););else for(;--r>=0;)for(;i(t,1),!e(t););}))},a&&(s.count=function(n,i){return e.setTime(+n),r.setTime(+i),t(e),t(r),Math.floor(a(e,r))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}var i=n((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?n((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i.range,o=n((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+1e3*e)}),(function(t,e){return(e-t)/1e3}),(function(t){return t.getUTCSeconds()})),s=o.range,l=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getMinutes()})),c=l.range,u=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getHours()})),f=u.range,h=n((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1})),p=h.range;function d(t){return n((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var m=d(0),g=d(1),v=d(2),y=d(3),x=d(4),b=d(5),_=d(6),w=m.range,T=g.range,k=v.range,A=y.range,M=x.range,S=b.range,E=_.range,L=n((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),C=L.range,P=n((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));P.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null};var I=P.range,O=n((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getUTCMinutes()})),z=O.range,D=n((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getUTCHours()})),R=D.range,F=n((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/864e5}),(function(t){return t.getUTCDate()-1})),B=F.range;function N(t){return n((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/6048e5}))}var j=N(0),U=N(1),V=N(2),H=N(3),q=N(4),G=N(5),Y=N(6),W=j.range,X=U.range,Z=V.range,J=H.range,K=q.range,Q=G.range,$=Y.range,tt=n((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),et=tt.range,rt=n((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));rt.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null};var nt=rt.range;t.timeDay=h,t.timeDays=p,t.timeFriday=b,t.timeFridays=S,t.timeHour=u,t.timeHours=f,t.timeInterval=n,t.timeMillisecond=i,t.timeMilliseconds=a,t.timeMinute=l,t.timeMinutes=c,t.timeMonday=g,t.timeMondays=T,t.timeMonth=L,t.timeMonths=C,t.timeSaturday=_,t.timeSaturdays=E,t.timeSecond=o,t.timeSeconds=s,t.timeSunday=m,t.timeSundays=w,t.timeThursday=x,t.timeThursdays=M,t.timeTuesday=v,t.timeTuesdays=k,t.timeWednesday=y,t.timeWednesdays=A,t.timeWeek=m,t.timeWeeks=w,t.timeYear=P,t.timeYears=I,t.utcDay=F,t.utcDays=B,t.utcFriday=G,t.utcFridays=Q,t.utcHour=D,t.utcHours=R,t.utcMillisecond=i,t.utcMilliseconds=a,t.utcMinute=O,t.utcMinutes=z,t.utcMonday=U,t.utcMondays=X,t.utcMonth=tt,t.utcMonths=et,t.utcSaturday=Y,t.utcSaturdays=$,t.utcSecond=o,t.utcSeconds=s,t.utcSunday=j,t.utcSundays=W,t.utcThursday=q,t.utcThursdays=K,t.utcTuesday=V,t.utcTuesdays=Z,t.utcWednesday=H,t.utcWednesdays=J,t.utcWeek=j,t.utcWeeks=W,t.utcYear=rt,t.utcYears=nt,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],122:[function(t,e,r){arguments[4][121][0].apply(r,arguments)},{dup:121}],123:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";var e,r,n=0,i=0,a=0,o=0,s=0,l=0,c=\"object\"==typeof performance&&performance.now?performance:Date,u=\"object\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function f(){return s||(u(h),s=c.now()+l)}function h(){s=0}function p(){this._call=this._time=this._next=null}function d(t,e,r){var n=new p;return n.restart(t,e,r),n}function m(){f(),++n;for(var t,r=e;r;)(t=s-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function g(){s=(o=c.now())+l,n=i=0;try{m()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,y(a)}(),s=0}}function v(){var t=c.now(),e=t-o;e>1e3&&(l-=e,o=t)}function y(t){n||(i&&(i=clearTimeout(i)),t-s>24?(t<1/0&&(i=setTimeout(g,t-c.now()-l)),a&&(a=clearInterval(a))):(a||(o=c.now(),a=setInterval(v,1e3)),n=1,u(g)))}p.prototype=d.prototype={constructor:p,restart:function(t,n,i){if(\"function\"!=typeof t)throw new TypeError(\"callback is not a function\");i=(null==i?f():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,y()},stop:function(){this._call&&(this._call=null,this._time=1/0,y())}},t.interval=function(t,e,r){var n=new p,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart((function a(o){o+=i,n.restart(a,i+=e,r),t(o)}),e,r),n)},t.now=f,t.timeout=function(t,e,r){var n=new p;return e=null==e?0:+e,n.restart((function(r){n.stop(),t(r+e)}),e,r),n},t.timer=d,t.timerFlush=m,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],124:[function(t,e,r){e.exports=function(){for(var t=0;ts*l){var p=(h-f)/s;a[u]=1e3*p}}return a}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*r){n=l=t[0],s=c=t[1];for(var b=r;bl&&(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 i(t,e,r,n,i){var a,o;if(i===E(t,e,r,n)>0)for(a=e;a=e;a-=n)o=A(a,t[a],t[a+1],o);return o&&x(o,o.next)&&(M(o),o=o.next),o}function a(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(M(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=d(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var p,m,g=t;t.prev!==t.next;)if(p=t.prev,m=t.next,f?l(t,n,i,f):s(t))e.push(p.i/r),e.push(t.i/r),e.push(m.i/r),M(t),t=m.next,g=m.next;else if((t=m)===g){h?1===h?o(t=c(a(t),e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(y(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&y(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(y(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=d(s,l,e,r,n),h=d(c,u,e,r,n),p=t.prevZ,m=t.nextZ;p&&p.z>=f&&m&&m.z<=h;){if(p!==t.prev&&p!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&y(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&y(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,o=n.next.next;!x(i,o)&&b(i,n,n.next,o)&&T(i,o)&&T(o,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(o.i/r),M(n),M(n.next),n=t=o),n=n.next}while(n!==t);return a(n)}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&v(l,c)){var u=k(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&g(ar.x||n.x===r.x&&p(r,n)))&&(r=n,h=l)),n=n.next}while(n!==c);return r}(t,e)){var r=k(e,t);a(e,e.next),a(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,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function m(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(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)&&(T(t,e)&&T(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==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 i=w(y(t,e,r)),a=w(y(t,e,n)),o=w(y(r,n,t)),s=w(y(r,n,e));return i!==a&&o!==s||(!(0!==i||!_(t,r,e))||(!(0!==a||!_(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 T(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 k(t,e){var r=new S(t.i,t.x,t.y),n=new S(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function A(t,e,r,n){var i=new S(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function M(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 i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],130:[function(t,e,r){var n=t(\"strongly-connected-components\");e.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&y<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,m):w,e?(p.value=w,d(g,m,p)):g[m]=w,++m;v=m}if(void 0===v)for(v=o(t.length),e&&(g=new e(v)),r=0;r0?1:-1}},{}],141:[function(t,e,r){\"use strict\";var n=t(\"../math/sign\"),i=Math.abs,a=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},{\"../math/sign\":138}],142:[function(t,e,r){\"use strict\";var n=t(\"./to-integer\"),i=Math.max;e.exports=function(t){return i(0,n(t))}},{\"./to-integer\":141}],143:[function(t,e,r){\"use strict\";var n=t(\"./valid-callable\"),i=t(\"./valid-value\"),a=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,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(c),u=s(r),h&&u.sort(\"function\"==typeof h?a.call(h,r):void 0),\"function\"!=typeof t&&(t=u[t]),o.call(t,u,(function(t,n){return l.call(r,t)?o.call(c,f,r[t],t,r,n):e}))}}},{\"./valid-callable\":160,\"./valid-value\":162}],144:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.assign:t(\"./shim\")},{\"./is-implemented\":145,\"./shim\":146}],145:[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\")}},{}],146:[function(t,e,r){\"use strict\";var n=t(\"../keys\"),i=t(\"../valid-value\"),a=Math.max;e.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},{}],166:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,i=n.call(\"\");e.exports=function(t){return\"string\"==typeof t||t&&\"object\"==typeof t&&(t instanceof String||n.call(t)===i)||!1}},{}],167:[function(t,e,r){\"use strict\";var n=Object.create(null),i=Math.random;e.exports=function(){var t;do{t=i().toString(36).slice(2)}while(n[t]);return t}},{}],168:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/set-prototype-of\"),a=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?a.call(e,\"key+value\")?\"key+value\":a.call(e,\"key\")?\"key\":\"value\":\"value\",c(this,\"__kind__\",o(\"\",e))},i&&i(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\"))},{\"./\":171,d:106,\"es5-ext/object/set-prototype-of\":157,\"es5-ext/string/#/contains\":163,\"es6-symbol\":175}],169:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/object/valid-callable\"),a=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,f,h,p,d,m,g,v=arguments[2];if(s(t)||n(t)?r=\"array\":a(t)?r=\"string\":t=o(t),i(e),f=function(){h=!0},\"array\"!==r)if(\"string\"!==r)for(u=t.next();!u.done;){if(l.call(e,v,u.value,f),h)return;u=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(m+=t[++p]),l.call(e,v,m,f),!h);++p);else c.call(t,(function(t){return l.call(e,v,t,f),h}))}},{\"./get\":170,\"es5-ext/function/is-arguments\":135,\"es5-ext/object/valid-callable\":160,\"es5-ext/string/is-string\":166}],170:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/string/is-string\"),a=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 a(t):i(t)?new o(t):new a(t)}},{\"./array\":168,\"./string\":173,\"./valid-iterable\":174,\"es5-ext/function/is-arguments\":135,\"es5-ext/string/is-string\":166,\"es6-symbol\":175}],171:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/array/#/clear\"),a=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\"),f=Object.defineProperty,h=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");h(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,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(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__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,u.iterator,l((function(){return this})))},{d:106,\"d/auto-bind\":105,\"es5-ext/array/#/clear\":131,\"es5-ext/object/assign\":144,\"es5-ext/object/valid-callable\":160,\"es5-ext/object/valid-value\":162,\"es6-symbol\":175}],172:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/object/is-value\"),a=t(\"es5-ext/string/is-string\"),o=t(\"es6-symbol\").iterator,s=Array.isArray;e.exports=function(t){return!!i(t)&&(!!s(t)||(!!a(t)||(!!n(t)||\"function\"==typeof t[o])))}},{\"es5-ext/function/is-arguments\":135,\"es5-ext/object/is-value\":151,\"es5-ext/string/is-string\":166,\"es6-symbol\":175}],173:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/set-prototype-of\"),a=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__\",a(\"\",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a(\"c\",\"String Iterator\"))},{\"./\":171,d:106,\"es5-ext/object/set-prototype-of\":157,\"es6-symbol\":175}],174:[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\":172}],175:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?t(\"ext/global-this\").Symbol:t(\"./polyfill\")},{\"./is-implemented\":176,\"./polyfill\":181,\"ext/global-this\":188}],176:[function(t,e,r){\"use strict\";var n=t(\"ext/global-this\"),i={object:!0,symbol:!0};e.exports=function(){var t,e=n.Symbol;if(\"function\"!=typeof e)return!1;t=e(\"test symbol\");try{String(t)}catch(t){return!1}return!!i[typeof e.iterator]&&(!!i[typeof e.toPrimitive]&&!!i[typeof e.toStringTag])}},{\"ext/global-this\":188}],177:[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]))}},{}],178:[function(t,e,r){\"use strict\";var n=t(\"d\"),i=Object.create,a=Object.defineProperty,o=Object.prototype,s=i(null);e.exports=function(t){for(var e,r,i=0;s[t+(i||\"\")];)++i;return s[t+=i||\"\"]=!0,a(o,e=\"@@\"+t,n.gs(null,(function(t){r||(r=!0,a(this,e,n(t)),r=!1)}))),e}},{d:106}],179:[function(t,e,r){\"use strict\";var n=t(\"d\"),i=t(\"ext/global-this\").Symbol;e.exports=function(t){return Object.defineProperties(t,{hasInstance:n(\"\",i&&i.hasInstance||t(\"hasInstance\")),isConcatSpreadable:n(\"\",i&&i.isConcatSpreadable||t(\"isConcatSpreadable\")),iterator:n(\"\",i&&i.iterator||t(\"iterator\")),match:n(\"\",i&&i.match||t(\"match\")),replace:n(\"\",i&&i.replace||t(\"replace\")),search:n(\"\",i&&i.search||t(\"search\")),species:n(\"\",i&&i.species||t(\"species\")),split:n(\"\",i&&i.split||t(\"split\")),toPrimitive:n(\"\",i&&i.toPrimitive||t(\"toPrimitive\")),toStringTag:n(\"\",i&&i.toStringTag||t(\"toStringTag\")),unscopables:n(\"\",i&&i.unscopables||t(\"unscopables\"))})}},{d:106,\"ext/global-this\":188}],180:[function(t,e,r){\"use strict\";var n=t(\"d\"),i=t(\"../../../validate-symbol\"),a=Object.create(null);e.exports=function(t){return Object.defineProperties(t,{for:n((function(e){return a[e]?a[e]:a[e]=t(String(e))})),keyFor:n((function(t){var e;for(e in i(t),a)if(a[e]===t)return e}))})}},{\"../../../validate-symbol\":182,d:106}],181:[function(t,e,r){\"use strict\";var n,i,a,o=t(\"d\"),s=t(\"./validate-symbol\"),l=t(\"ext/global-this\").Symbol,c=t(\"./lib/private/generate-name\"),u=t(\"./lib/private/setup/standard-symbols\"),f=t(\"./lib/private/setup/symbol-registry\"),h=Object.create,p=Object.defineProperties,d=Object.defineProperty;if(\"function\"==typeof l)try{String(l()),a=!0}catch(t){}else l=null;i=function(t){if(this instanceof i)throw new TypeError(\"Symbol is not a constructor\");return n(t)},e.exports=n=function t(e){var r;if(this instanceof t)throw new TypeError(\"Symbol is not a constructor\");return a?l(e):(r=h(i.prototype),e=void 0===e?\"\":String(e),p(r,{__description__:o(\"\",e),__name__:o(\"\",c(e))}))},u(n),f(n),p(i.prototype,{constructor:o(n),toString:o(\"\",(function(){return this.__name__}))}),p(n.prototype,{toString:o((function(){return\"Symbol (\"+s(this).__description__+\")\"})),valueOf:o((function(){return s(this)}))}),d(n.prototype,n.toPrimitive,o(\"\",(function(){var t=s(this);return\"symbol\"==typeof t?t:t.toString()}))),d(n.prototype,n.toStringTag,o(\"c\",\"Symbol\")),d(i.prototype,n.toStringTag,o(\"c\",n.prototype[n.toStringTag])),d(i.prototype,n.toPrimitive,o(\"c\",n.prototype[n.toPrimitive]))},{\"./lib/private/generate-name\":178,\"./lib/private/setup/standard-symbols\":179,\"./lib/private/setup/symbol-registry\":180,\"./validate-symbol\":182,d:106,\"ext/global-this\":188}],182:[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\":177}],183:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?WeakMap:t(\"./polyfill\")},{\"./is-implemented\":184,\"./polyfill\":186}],184:[function(t,e,r){\"use strict\";e.exports=function(){var t,e;if(\"function\"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(t){return!1}return\"[object WeakMap]\"===String(t)&&(\"function\"==typeof t.set&&(t.set({},1)===t&&(\"function\"==typeof t.delete&&(\"function\"==typeof t.has&&\"one\"===t.get(e)))))}},{}],185:[function(t,e,r){\"use strict\";e.exports=\"function\"==typeof WeakMap&&\"[object WeakMap]\"===Object.prototype.toString.call(new WeakMap)},{}],186:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/is-value\"),a=t(\"es5-ext/object/set-prototype-of\"),o=t(\"es5-ext/object/valid-object\"),s=t(\"es5-ext/object/valid-value\"),l=t(\"es5-ext/string/random-uniq\"),c=t(\"d\"),u=t(\"es6-iterator/get\"),f=t(\"es6-iterator/for-of\"),h=t(\"es6-symbol\").toStringTag,p=t(\"./is-native-implemented\"),d=Array.isArray,m=Object.defineProperty,g=Object.prototype.hasOwnProperty,v=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");return t=p&&a&&WeakMap!==n?a(new WeakMap,v(this)):this,i(e)&&(d(e)||(e=u(e))),m(t,\"__weakMapData__\",c(\"c\",\"$weakMap$\"+l())),e?(f(e,(function(e){s(e),t.set(e[0],e[1])})),t):t},p&&(a&&a(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:c(n)})),Object.defineProperties(n.prototype,{delete:c((function(t){return!!g.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)})),get:c((function(t){if(g.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]})),has:c((function(t){return g.call(o(t),this.__weakMapData__)})),set:c((function(t,e){return m(o(t),this.__weakMapData__,c(\"c\",e)),this})),toString:c((function(){return\"[object WeakMap]\"}))}),m(n.prototype,h,c(\"c\",\"WeakMap\"))},{\"./is-native-implemented\":185,d:106,\"es5-ext/object/is-value\":151,\"es5-ext/object/set-prototype-of\":157,\"es5-ext/object/valid-object\":161,\"es5-ext/object/valid-value\":162,\"es5-ext/string/random-uniq\":167,\"es6-iterator/for-of\":169,\"es6-iterator/get\":170,\"es6-symbol\":175}],187:[function(t,e,r){var n=function(){if(\"object\"==typeof self&&self)return self;if(\"object\"==typeof window&&window)return window;throw new Error(\"Unable to resolve global `this`\")};e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(t){return n()}try{return __global__||n()}finally{delete Object.prototype.__global__}}()},{}],188:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?globalThis:t(\"./implementation\")},{\"./implementation\":187,\"./is-implemented\":189}],189:[function(t,e,r){\"use strict\";e.exports=function(){return\"object\"==typeof globalThis&&(!!globalThis&&globalThis.Array===Array)}},{}],190:[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\":237}],191:[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 i,a,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(i=0,o=r;ie[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},{\"css-font/stringify\":102}],193:[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 i(n.cache[r],c);var u=e.canvas||n.canvas,f=u.getContext(\"2d\"),h={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,f.font=t;var d={top:0};f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillStyle=\"black\",f.fillText(\"H\",0,0);var m=a(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline=\"bottom\",f.fillText(\"H\",0,p);var g=a(f.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-g+m,f.clearRect(0,0,p,p),f.textBaseline=\"alphabetic\",f.fillText(\"H\",0,p);var v=p-a(f.getImageData(0,0,p,p))-1+m;d.baseline=d.alphabetic=v,f.clearRect(0,0,p,p),f.textBaseline=\"middle\",f.fillText(\"H\",0,.5*p);var y=a(f.getImageData(0,0,p,p));d.median=d.middle=p-y-1+m-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"hanging\",f.fillText(\"H\",0,.5*p);var x=a(f.getImageData(0,0,p,p));d.hanging=p-x-1+m-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"ideographic\",f.fillText(\"H\",0,p);var b=a(f.getImageData(0,0,p,p));if(d.ideographic=p-b-1+m,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.upper,0,0),d.upper=a(f.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.lower,0,0),d.lower=a(f.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.tittle,0,0),d.tittle=a(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.ascent,0,0),d.ascent=a(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.descent,0,0),d.descent=o(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.overshoot,0,0);var _=o(f.getImageData(0,0,p,p));d.overshoot=_-v}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,i(d,c)}function i(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 a(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement(\"canvas\"),n.cache={}},{}],194:[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,i=e;try{var a=[t];0===t.indexOf(\"webgl\")&&a.push(\"experimental-\"+t);for(var o=0;o halfCharStep + halfCharWidth ||\\n\\t\\t\\t\\t\\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\\n\\n\\t\\t\\t\\tuv += charId * charStep;\\n\\t\\t\\t\\tuv = uv / atlasSize;\\n\\n\\t\\t\\t\\tvec4 color = fontColor;\\n\\t\\t\\t\\tvec4 mask = texture2D(atlas, uv);\\n\\n\\t\\t\\t\\tfloat maskY = lightness(mask);\\n\\t\\t\\t\\t// float colorY = lightness(color);\\n\\t\\t\\t\\tcolor.a *= maskY;\\n\\t\\t\\t\\tcolor.a *= opacity;\\n\\n\\t\\t\\t\\t// color.a += .1;\\n\\n\\t\\t\\t\\t// antialiasing, see yiq color space y-channel formula\\n\\t\\t\\t\\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\\n\\n\\t\\t\\t\\tgl_FragColor = color;\\n\\t\\t\\t}\"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if(\"string\"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:\"position positions coord coords coordinates\",font:\"font fontFace fontface typeface cssFont css-font family fontFamily\",fontSize:\"fontSize fontsize size font-size\",text:\"text texts chars characters value values symbols\",align:\"align alignment textAlign textbaseline\",baseline:\"baseline textBaseline textbaseline\",direction:\"dir direction textDirection\",color:\"color colour fill fill-color fillColor textColor textcolor\",kerning:\"kerning kern\",range:\"range dataBox\",viewport:\"vp viewport viewBox viewbox viewPort\",opacity:\"opacity alpha transparency visible visibility opaque\",offset:\"offset positionOffset padding shift indent indentation\"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&(\"number\"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=y(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+\"px sans-serif\");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if(\"string\"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+\"px \"+t)}else t=n.parse(n.stringify(t));var i=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&i==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[i],e.font[r]))){var c=t.family.join(\", \"),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:i,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:v(c,{origin:\"top\",fontSize:T.baseFontSize,fontStyle:u.join(\" \")})},T.fonts[i]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),\"string\"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h2){for(var w=!t.position[0].length,k=u.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if(\"number\"==typeof n)return n;switch(n){case\"right\":case\"end\":return-t;case\"center\":case\"centre\":case\"middle\":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,i+=\"number\"==typeof t?t-n.baseline:-n[t],i*=-1}))),null!=t.color)if(t.color||(t.color=\"transparent\"),\"string\"!=typeof t.color&&isNaN(t.color)){var q;if(\"number\"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;q=u.mallocUint8(G);for(var Y=(t.color.subarray||t.color.slice).bind(t.color),W=0;W4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(J);for(var K=0;K1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text=\"\",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement(\"canvas\"),T.atlasContext=T.atlasCanvas.getContext(\"2d\",{alpha:!1}),T.baseFontSize=64,T.fonts={},e.exports=T},{\"bit-twiddle\":81,\"color-normalize\":89,\"css-font\":99,\"detect-kerning\":125,\"es6-weak-map\":183,\"flatten-vertex-data\":191,\"font-atlas\":192,\"font-measure\":193,\"gl-util/context\":226,\"is-plain-obj\":236,\"object-assign\":247,\"parse-rect\":249,\"parse-unit\":251,\"pick-by-alias\":253,regl:283,\"to-px\":314,\"typedarray-pool\":327}],226:[function(t,e,r){(function(r){(function(){\"use strict\";var n=t(\"pick-by-alias\");function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return\"function\"==typeof t.getContext&&\"width\"in t&&\"height\"in t}function o(){var t=document.createElement(\"canvas\");return t.style.position=\"absolute\",t.style.top=0,t.style.left=0,t}e.exports=function(t){var e;if(t?\"string\"==typeof t&&(t={container:t}):t={},a(t)?t={container:t}:t=\"string\"==typeof(e=t).nodeName&&\"function\"==typeof e.appendChild&&\"function\"==typeof e.getBoundingClientRect?{container:t}:function(t){return\"function\"==typeof t.drawArrays||\"function\"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:\"container target element el canvas holder parent parentNode wrapper use ref root node\",gl:\"gl context webgl glContext\",attrs:\"attributes attrs contextAttributes\",pixelRatio:\"pixelRatio pxRatio px ratio pxratio pixelratio\",width:\"w width\",height:\"h height\"},!0),t.pixelRatio||(t.pixelRatio=r.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(\"string\"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error(\"Element \"+t.container+\" is not found\");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if(\"undefined\"==typeof document)throw Error(\"Not DOM environment. Use headless-gl.\");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"pick-by-alias\":253}],227:[function(t,e,r){e.exports=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}},{}],231:[function(t,e,r){\"function\"==typeof Object.create?e.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},{}],232:[function(t,e,r){e.exports=!0},{}],233:[function(t,e,r){\"use strict\";e.exports=\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))},{}],234:[function(t,e,r){\"use strict\";e.exports=a,e.exports.isMobile=a,e.exports.default=a;var n=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,i=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function a(t){t||(t={});var e=t.ua;if(e||\"undefined\"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&\"string\"==typeof e.headers[\"user-agent\"]&&(e=e.headers[\"user-agent\"]),\"string\"!=typeof e)return!1;var r=t.tablet?i.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf(\"Macintosh\")&&-1!==e.indexOf(\"Safari\")&&(r=!0),r}},{}],235:[function(t,e,r){\"use strict\";e.exports=function(t){var e=typeof t;return null!==t&&(\"object\"===e||\"function\"===e)}},{}],236:[function(t,e,r){\"use strict\";var n=Object.prototype.toString;e.exports=function(t){var e;return\"[object Object]\"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],237:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],238:[function(t,e,r){\"use strict\";e.exports=function(t){return\"string\"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}},{}],239:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?e.exports=n():(t=t||self).mapboxgl=n()}(this,(function(){\"use strict\";var t,e,r;function n(n,i){if(t)if(e){var a=\"var sharedChunk = {}; (\"+t+\")(sharedChunk); (\"+e+\")(sharedChunk);\",o={};t(o),(r=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:\"text/javascript\"}))}else e=i;else t=i}return n(0,(function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}n.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)(n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var i=a;function a(t,e){this.x=t,this.y=e}function o(t,e,n,i){var a=new r(t,e,n,i);return function(t){return a.solve(t)}}a.prototype={clone:function(){return new a(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},a.convert=function(t){return t instanceof a?t:Array.isArray(t)?new a(t[0],t[1]):t};var s=o(.25,.1,.25,1);function l(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function u(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function d(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function m(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function g(t,e){return-1!==t.indexOf(e,t.length-e.length)}function v(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function y(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function x(t){return Array.isArray(t)?t.map(x):\"object\"==typeof t&&t?v(t,x):t}var b={};function _(t){b[t]||(\"undefined\"!=typeof console&&console.warn(t),b[t]=!0)}function w(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function T(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\"\"})),e[\"max-age\"]){var r=parseInt(e[\"max-age\"],10);isNaN(r)?delete e[\"max-age\"]:e[\"max-age\"]=r}return e}var M=null;function S(t){if(null==M){var e=t.navigator?t.navigator.userAgent:null;M=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")))}return M}function E(t){try{var e=self[t];return e.setItem(\"_mapbox_test_\",1),e.removeItem(\"_mapbox_test_\"),!0}catch(t){return!1}}var L,C,P,I,O=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),z=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,D=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,R={now:O,frame:function(t){var e=z(t);return{cancel:function(){return D(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=self.document.createElement(\"canvas\"),n=r.getContext(\"2d\");if(!n)throw new Error(\"failed to create canvas 2d context\");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return L||(L=self.document.createElement(\"a\")),L.href=t,L.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==C&&(C=self.matchMedia(\"(prefers-reduced-motion: reduce)\")),C.matches)}},F={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf(\"https://api.mapbox.cn\")?\"https://events.mapbox.cn/events/v2\":0===this.API_URL.indexOf(\"https://api.mapbox.com\")?\"https://events.mapbox.com/events/v2\":null:null},FEEDBACK_URL:\"https://apps.mapbox.com/feedback\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},B={supported:!1,testSupport:function(t){if(N||!I)return;j?U(t):P=t}},N=!1,j=!1;function U(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,I),t.isContextLost())return;B.supported=!0}catch(t){}t.deleteTexture(e),N=!0}self.document&&((I=self.document.createElement(\"img\")).onload=function(){P&&U(P),P=null,j=!0},I.onerror=function(){N=!0,P=null},I.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");var V=\"01\";var H=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function q(t){return 0===t.indexOf(\"mapbox:\")}H.prototype._createSkuToken=function(){var t=function(){for(var t=\"\",e=0;e<10;e++)t+=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"[Math.floor(62*Math.random())];return{token:[\"1\",V,t].join(\"\"),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},H.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},H.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},H.prototype.normalizeStyleURL=function(t,e){if(!q(t))return t;var r=X(t);return r.path=\"/styles/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},H.prototype.normalizeGlyphsURL=function(t,e){if(!q(t))return t;var r=X(t);return r.path=\"/fonts/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},H.prototype.normalizeSourceURL=function(t,e){if(!q(t))return t;var r=X(t);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),this._makeAPIURL(r,this._customAccessToken||e)},H.prototype.normalizeSpriteURL=function(t,e,r,n){var i=X(t);return q(t)?(i.path=\"/styles/v1\"+i.path+\"/sprite\"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=\"\"+e+r,Z(i))},H.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!q(t))return t;var r=X(t),n=R.devicePixelRatio>=2||512===e?\"@2x\":\"\",i=B.supported?\".webp\":\"$1\";r.path=r.path.replace(/(\\.(png|jpg)\\d*)(?=$)/,\"\"+n+i),r.path=r.path.replace(/^.+\\/v4\\//,\"/\"),r.path=\"/v4\"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){_(\"Unable to write to LocalStorage\")}},K.prototype.processRequests=function(t){},K.prototype.postEvent=function(t,e,r,n){var i=this;if(F.EVENTS_URL){var a=X(F.EVENTS_URL);a.params.push(\"access_token=\"+(n||F.ACCESS_TOKEN||\"\"));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:\"1.10.1\",skuId:V,userId:this.anonId},s=e?u(o,e):o,l={url:Z(a),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([s])};this.pendingRequest=bt(l,(function(t){i.pendingRequest=null,r(t),i.saveEventData(),i.processRequests(n)}))}},K.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var Q,$,tt=function(t){function e(){t.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(F.EVENTS_URL&&n||F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return q(t)||Y(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),d(this.anonId)||(this.anonId=p()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(K),et=new(function(t){function e(e){t.call(this,\"appUserTurnstile\"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){F.EVENTS_URL&&F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return q(t)||Y(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=J(F.ACCESS_TOKEN),n=r?r.u:F.ACCESS_TOKEN,i=n!==this.eventData.tokenU;d(this.anonId)||(this.anonId=p(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{\"enabled.telemetry\":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(K)),rt=et.postTurnstileEvent.bind(et),nt=new tt,it=nt.postMapLoadEvent.bind(nt),at=500,ot=50;function st(){self.caches&&!Q&&(Q=self.caches.open(\"mapbox-tiles\"))}function lt(t,e,r){if(st(),Q){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=A(e.headers.get(\"Cache-Control\")||\"\");if(!i[\"no-store\"])i[\"max-age\"]&&n.headers.set(\"Expires\",new Date(r+1e3*i[\"max-age\"]).toUTCString()),new Date(n.headers.get(\"Expires\")).getTime()-r<42e4||function(t,e){if(void 0===$)try{new Response(new ReadableStream),$=!0}catch(t){$=!1}$?e(t.body):t.blob().then(e)}(e,(function(e){var r=new self.Response(e,n);st(),Q&&Q.then((function(e){return e.put(ct(t.url),r)})).catch((function(t){return _(t.message)}))}))}}function ct(t){var e=t.indexOf(\"?\");return e<0?t:t.slice(0,e)}function ut(t,e){if(st(),!Q)return e(null);var r=ct(t.url);Q.then((function(t){t.match(r).then((function(n){var i=function(t){if(!t)return!1;var e=new Date(t.headers.get(\"Expires\")||0),r=A(t.headers.get(\"Cache-Control\")||\"\");return e>Date.now()&&!r[\"no-cache\"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var ft,ht=1/0;function pt(){return null==ft&&(ft=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof self.createImageBitmap),ft}var dt={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(dt);var mt=function(t){function e(e,r,n){401===r&&Y(n)&&(e+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},e}(Error),gt=k()?function(){return self.worker&&self.worker.referrer}:function(){return(\"blob:\"===self.location.protocol?self.parent:self).location.href};function vt(t,e){var r,n=new self.AbortController,i=new self.Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,referrer:gt(),signal:n.signal}),a=!1,o=!1,s=(r=i.url).indexOf(\"sku=\")>0&&Y(r);\"json\"===t.type&&i.headers.set(\"Accept\",\"application/json\");var l=function(r,n,a){if(!o){if(r&&\"SecurityError\"!==r.message&&_(r),n&&a)return c(n);var l=Date.now();self.fetch(i).then((function(r){if(r.ok){var n=s?r.clone():null;return c(r,n,l)}return e(new mt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},c=function(r,n,s){(\"arrayBuffer\"===t.type?r.arrayBuffer():\"json\"===t.type?r.json():r.text()).then((function(t){o||(n&&s&<(i,n,s),a=!0,e(null,t,r.headers.get(\"Cache-Control\"),r.headers.get(\"Expires\")))})).catch((function(t){o||e(new Error(t.message))}))};return s?ut(i,l):l(null,null),{cancel:function(){o=!0,a||n.abort()}}}var yt=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(gt())&&!/^\\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty(\"signal\"))return vt(t,e);if(k()&&self.worker&&self.worker.actor){return self.worker.actor.send(\"getResource\",t,e,void 0,!0)}}var r;return function(t,e){var r=new self.XMLHttpRequest;for(var n in r.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"===t.type&&(r.responseType=\"arraybuffer\"),t.headers)r.setRequestHeader(n,t.headers[n]);return\"json\"===t.type&&(r.responseType=\"text\",r.setRequestHeader(\"Accept\",\"application/json\")),r.withCredentials=\"include\"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if(\"json\"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader(\"Cache-Control\"),r.getResponseHeader(\"Expires\"))}else e(new mt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},xt=function(t,e){return yt(u(t,{type:\"arrayBuffer\"}),e)},bt=function(t,e){return yt(u(t,{method:\"POST\"}),e)};var _t,wt;_t=[],wt=0;var Tt=function(t,e){if(B.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),wt>=F.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return _t.push(r),r}wt++;var n=!1,i=function(){if(!n)for(n=!0,wt--;_t.length&&wt0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Et.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Lt={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{}},default:\"mapbox\"},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},expression_name:{type:\"enum\",values:{let:{group:\"Variable binding\"},var:{group:\"Variable binding\"},literal:{group:\"Types\"},array:{group:\"Types\"},at:{group:\"Lookup\"},in:{group:\"Lookup\"},\"index-of\":{group:\"Lookup\"},slice:{group:\"Lookup\"},case:{group:\"Decision\"},match:{group:\"Decision\"},coalesce:{group:\"Decision\"},step:{group:\"Ramps, scales, curves\"},interpolate:{group:\"Ramps, scales, curves\"},\"interpolate-hcl\":{group:\"Ramps, scales, curves\"},\"interpolate-lab\":{group:\"Ramps, scales, curves\"},ln2:{group:\"Math\"},pi:{group:\"Math\"},e:{group:\"Math\"},typeof:{group:\"Types\"},string:{group:\"Types\"},number:{group:\"Types\"},boolean:{group:\"Types\"},object:{group:\"Types\"},collator:{group:\"Types\"},format:{group:\"Types\"},image:{group:\"Types\"},\"number-format\":{group:\"Types\"},\"to-string\":{group:\"Types\"},\"to-number\":{group:\"Types\"},\"to-boolean\":{group:\"Types\"},\"to-rgba\":{group:\"Color\"},\"to-color\":{group:\"Types\"},rgb:{group:\"Color\"},rgba:{group:\"Color\"},get:{group:\"Lookup\"},has:{group:\"Lookup\"},length:{group:\"Lookup\"},properties:{group:\"Feature data\"},\"feature-state\":{group:\"Feature data\"},\"geometry-type\":{group:\"Feature data\"},id:{group:\"Feature data\"},zoom:{group:\"Zoom\"},\"heatmap-density\":{group:\"Heatmap\"},\"line-progress\":{group:\"Feature data\"},accumulated:{group:\"Feature data\"},\"+\":{group:\"Math\"},\"*\":{group:\"Math\"},\"-\":{group:\"Math\"},\"/\":{group:\"Math\"},\"%\":{group:\"Math\"},\"^\":{group:\"Math\"},sqrt:{group:\"Math\"},log10:{group:\"Math\"},ln:{group:\"Math\"},log2:{group:\"Math\"},sin:{group:\"Math\"},cos:{group:\"Math\"},tan:{group:\"Math\"},asin:{group:\"Math\"},acos:{group:\"Math\"},atan:{group:\"Math\"},min:{group:\"Math\"},max:{group:\"Math\"},round:{group:\"Math\"},abs:{group:\"Math\"},ceil:{group:\"Math\"},floor:{group:\"Math\"},distance:{group:\"Math\"},\"==\":{group:\"Decision\"},\"!=\":{group:\"Decision\"},\">\":{group:\"Decision\"},\"<\":{group:\"Decision\"},\">=\":{group:\"Decision\"},\"<=\":{group:\"Decision\"},all:{group:\"Decision\"},any:{group:\"Decision\"},\"!\":{group:\"Decision\"},within:{group:\"Decision\"},\"is-supported-script\":{group:\"String\"},upcase:{group:\"String\"},downcase:{group:\"String\"},concat:{group:\"String\"},\"resolved-locale\":{group:\"String\"}}},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}},Ct=function(t,e,r,n){this.message=(t?t+\": \":\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Pt(t){var e=t.key,r=t.value;return r?[new Ct(e,r,\"constants have been deprecated as of v8\")]:[]}function It(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n\":\"value\"===t.itemType.kind?\"array\":\"array<\"+e+\">\"}return t.kind}var Zt=[Ft,Bt,Nt,jt,Ut,Gt,Vt,Wt(Ht),Yt];function Jt(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!Jt(t.itemType,e.itemType))&&(\"number\"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(var r=0,n=Zt;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return\"%\"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return\"%\"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,\"\").toLowerCase();if(i in r)return r[i].slice();if(\"#\"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf(\"(\"),c=i.indexOf(\")\");if(-1!==l&&c+1===i.length){var u=i.substr(0,l),f=i.substr(l+1,c-(l+1)).split(\",\"),h=1;switch(u){case\"rgba\":if(4!==f.length)return null;h=o(f.pop());case\"rgb\":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case\"hsla\":if(4!==f.length)return null;h=o(f.pop());case\"hsl\":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),m=o(f[2]),g=m<=.5?m*(d+1):m+d-m*d,v=2*m-g;return[n(255*s(v,g,p+1/3)),n(255*s(v,g,p)),n(255*s(v,g,p-1/3)),h];default:return null}}return null}}catch(t){}})).parseCSSColor,te=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};te.parse=function(t){if(t){if(t instanceof te)return t;if(\"string\"==typeof t){var e=$t(t);if(e)return new te(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},te.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return\"rgba(\"+Math.round(e)+\",\"+Math.round(r)+\",\"+Math.round(n)+\",\"+i+\")\"},te.prototype.toArray=function(){var t=this.r,e=this.g,r=this.b,n=this.a;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]},te.black=new te(0,0,0,1),te.white=new te(1,1,1,1),te.transparent=new te(0,0,0,0),te.red=new te(1,0,0,1);var ee=function(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};ee.prototype.compare=function(t,e){return this.collator.compare(t,e)},ee.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var re=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},ne=function(t){this.sections=t};ne.fromString=function(t){return new ne([new re(t,null,null,null,null)])},ne.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},ne.factory=function(t){return t instanceof ne?t:ne.fromString(t)},ne.prototype.toString=function(){return 0===this.sections.length?\"\":this.sections.map((function(t){return t.text})).join(\"\")},ne.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:\"Invalid rgba value [\"+[t,e,r,n].join(\", \")+\"]: 'a' must be between 0 and 1.\":\"Invalid rgba value [\"+(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}function oe(t){if(null===t)return!0;if(\"string\"==typeof t)return!0;if(\"boolean\"==typeof t)return!0;if(\"number\"==typeof t)return!0;if(t instanceof te)return!0;if(t instanceof ee)return!0;if(t instanceof ne)return!0;if(t instanceof ie)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if(\"string\"!=typeof s||!(s in fe)||\"object\"===s)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);a=fe[s],n++}else a=Ht;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);o=t[2],n++}r=Wt(a,o)}else r=fe[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var pe=function(t){this.type=Gt,this.sections=t};pe.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&\"object\"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o[\"font-scale\"]&&!(s=e.parse(o[\"font-scale\"],1,Bt)))return null;var l=null;if(o[\"text-font\"]&&!(l=e.parse(o[\"text-font\"],1,Wt(Nt))))return null;var c=null;if(o[\"text-color\"]&&!(c=e.parse(o[\"text-color\"],1,Ut)))return null;var u=n[n.length-1];u.scale=s,u.font=l,u.textColor=c}else{var f=e.parse(t[a],1,Ht);if(!f)return null;var h=f.type.kind;if(\"string\"!==h&&\"value\"!==h&&\"null\"!==h&&\"resolvedImage\"!==h)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new pe(n)},pe.prototype.evaluate=function(t){return new ne(this.sections.map((function(e){var r=e.content.evaluate(t);return se(r)===Yt?new re(\"\",r,null,null,null):new re(le(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))},pe.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},de.prototype.eachChild=function(t){t(this.input)},de.prototype.outputDefined=function(){return!1},de.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var me={\"to-boolean\":jt,\"to-color\":Ut,\"to-number\":Bt,\"to-string\":Nt},ge=function(t,e){this.type=t,this.args=e};ge.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[0];if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");for(var n=me[r],i=[],a=1;a4?\"Invalid rbga value \"+JSON.stringify(e)+\": expected an array containing either three or four numeric values.\":ae(e[0],e[1],e[2],e[3])))return new te(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ue(r||\"Could not parse color from value '\"+(\"string\"==typeof e?e:String(JSON.stringify(e)))+\"'\")}if(\"number\"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2])&&(!(t[1]<=e[1])&&!(t[3]>=e[3])))}function Te(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*8192),Math.round(i*a*8192)]}function ke(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function Ae(t,e){for(var r,n,i,a,o,s,l,c=!1,u=0,f=e.length;u0&&f<0||u<0&&f>0}function Ee(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}_e(e,t)}function ze(t,e,r,n){for(var i=8192*Math.pow(2,n.z),a=[8192*n.x,8192*n.y],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Ne(t,e)&&(r=!1)})),r}Re.parse=function(t,e){if(2!==t.length)return e.error(\"'within' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(oe(t[1])){var r=t[1];if(\"FeatureCollection\"===r.type)for(var n=0;ne))throw new ue(\"Input is not a number.\");o=s-1}return 0}Ue.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Ue.prototype._parse=function(t,e){function r(t,e,r){return\"assert\"===r?new he(e,[t]):\"coerce\"===r?new ge(e,[t]):t}if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var n=t[0];if(\"string\"!=typeof n)return this.error(\"Expression name must be a string, but found \"+typeof n+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if(\"string\"!==o.kind&&\"number\"!==o.kind&&\"boolean\"!==o.kind&&\"object\"!==o.kind&&\"array\"!==o.kind||\"value\"!==s.kind)if(\"color\"!==o.kind&&\"formatted\"!==o.kind&&\"resolvedImage\"!==o.kind||\"value\"!==s.kind&&\"string\"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||\"coerce\");else a=r(a,o,e.typeAnnotation||\"assert\")}if(!(a instanceof ce)&&\"resolvedImage\"!==a.type.kind&&function t(e){if(e instanceof je)return t(e.boundExpression);if(e instanceof xe&&\"error\"===e.name)return!1;if(e instanceof be)return!1;if(e instanceof Re)return!1;var r=e instanceof ge||e instanceof he,n=!0;if(e.eachChild((function(e){n=r?n&&t(e):n&&e instanceof ce})),!n)return!1;return Fe(e)&&Ne(e,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}(a)){var l=new ye;try{a=new ce(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return void 0===t?this.error(\"'undefined' value invalid. Use null instead.\"):\"object\"==typeof t?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof t+\" instead.\")},Ue.prototype.concat=function(t,e,r){var n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Ue(this.registry,n,e||null,i,this.errors)},Ue.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=\"\"+this.key+e.map((function(t){return\"[\"+t+\"]\"})).join(\"\");this.errors.push(new Dt(n,t))},Ue.prototype.checkSubtype=function(t,e){var r=Jt(t,e);return r&&this.error(r),r};var He=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',l);var u=e.parse(s,c,i);if(!u)return null;i=i||u.type,n.push([o,u])}return new He(i,r,n)},He.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Ve(e,n)].evaluate(t)},He.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var Ge=Object.freeze({__proto__:null,number:qe,color:function(t,e,r){return new te(qe(t.r,e.r,r),qe(t.g,e.g,r),qe(t.b,e.b,r),qe(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return qe(t,e[n],r)}))}}),Ye=6/29,We=3*Ye*Ye,Xe=Math.PI/180,Ze=180/Math.PI;function Je(t){return t>.008856451679035631?Math.pow(t,1/3):t/We+4/29}function Ke(t){return t>Ye?t*t*t:We*(t-4/29)}function Qe(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function $e(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function tr(t){var e=$e(t.r),r=$e(t.g),n=$e(t.b),i=Je((.4124564*e+.3575761*r+.1804375*n)/.95047),a=Je((.2126729*e+.7151522*r+.072175*n)/1);return{l:116*a-16,a:500*(i-a),b:200*(a-Je((.0193339*e+.119192*r+.9503041*n)/1.08883)),alpha:t.a}}function er(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*Ke(e),r=.95047*Ke(r),n=1.08883*Ke(n),new te(Qe(3.2404542*r-1.5371385*e-.4985314*n),Qe(-.969266*r+1.8760108*e+.041556*n),Qe(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function rr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var nr={forward:tr,reverse:er,interpolate:function(t,e,r){return{l:qe(t.l,e.l,r),a:qe(t.a,e.a,r),b:qe(t.b,e.b,r),alpha:qe(t.alpha,e.alpha,r)}}},ir={forward:function(t){var e=tr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*Ze;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*Xe,r=t.c;return er({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:rr(t.h,e.h,r),c:qe(t.c,e.c,r),l:qe(t.l,e.l,r),alpha:qe(t.alpha,e.alpha,r)}}},ar=Object.freeze({__proto__:null,lab:nr,hcl:ir}),or=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:s}}if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(i=e.parse(i,2,Bt)))return null;var l=[],c=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?c=Ut:e.expectedType&&\"value\"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u=f)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',p);var m=e.parse(h,d,c);if(!m)return null;c=c||m.type,l.push([f,m])}return\"number\"===c.kind||\"color\"===c.kind||\"array\"===c.kind&&\"number\"===c.itemType.kind&&\"number\"==typeof c.N?new or(c,r,n,i,l):e.error(\"Type \"+Xt(c)+\" is not interpolatable.\")},or.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Ve(e,n),o=e[a],s=e[a+1],l=or.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(t),u=r[a+1].evaluate(t);return\"interpolate\"===this.operator?Ge[this.type.kind.toLowerCase()](c,u,l):\"interpolate-hcl\"===this.operator?ir.reverse(ir.interpolate(ir.forward(c),ir.forward(u),l)):nr.reverse(nr.interpolate(nr.forward(c),nr.forward(u),l))},or.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new ue(\"Array index out of bounds: \"+e+\" > \"+(r.length-1)+\".\");if(e!==Math.floor(e))throw new ue(\"Array index must be an integer, but found \"+e+\" instead.\");return r[e]},ur.prototype.eachChild=function(t){t(this.index),t(this.input)},ur.prototype.outputDefined=function(){return!1},ur.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var fr=function(t,e){this.type=jt,this.needle=t,this.haystack=e};fr.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Ht),n=e.parse(t[2],2,Ht);return r&&n?Kt(r.type,[jt,Nt,Bt,Ft,Ht])?new fr(r,n):e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Xt(r.type)+\" instead\"):null},fr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!Qt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ue(\"Expected first argument to be of type boolean, string, number or null, but found \"+Xt(se(e))+\" instead.\");if(!Qt(r,[\"string\",\"array\"]))throw new ue(\"Expected second argument to be of type array or string, but found \"+Xt(se(r))+\" instead.\");return r.indexOf(e)>=0},fr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},fr.prototype.outputDefined=function(){return!0},fr.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var hr=function(t,e,r){this.type=Bt,this.needle=t,this.haystack=e,this.fromIndex=r};hr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Ht),n=e.parse(t[2],2,Ht);if(!r||!n)return null;if(!Kt(r.type,[jt,Nt,Bt,Ft,Ht]))return e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Xt(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Bt);return i?new hr(r,n,i):null}return new hr(r,n)},hr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Qt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ue(\"Expected first argument to be of type boolean, string, number or null, but found \"+Xt(se(e))+\" instead.\");if(!Qt(r,[\"string\",\"array\"]))throw new ue(\"Expected second argument to be of type array or string, but found \"+Xt(se(r))+\" instead.\");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},hr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},hr.prototype.outputDefined=function(){return!1},hr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),t]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var pr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};pr.parse=function(t,e){if(t.length<5)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");var r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return c.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof h&&Math.floor(h)!==h)return c.error(\"Numeric branch labels must be integer values.\");if(r){if(c.checkSubtype(r,se(h)))return null}else r=se(h);if(void 0!==i[String(h)])return c.error(\"Branch labels must be unique.\");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Ht);if(!d)return null;var m=e.parse(t[t.length-1],t.length-1,n);return m?\"value\"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new pr(r,n,d,i,a,m):null},pr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(se(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},pr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},pr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},pr.prototype.serialize=function(){for(var t=this,e=[\"match\",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Ht),n=e.parse(t[2],2,Bt);if(!r||!n)return null;if(!Kt(r.type,[Wt(Ht),Nt,Ht]))return e.error(\"Expected first argument to be of type array or string, but found \"+Xt(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Bt);return i?new mr(r.type,r,n,i):null}return new mr(r.type,r,n)},mr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Qt(e,[\"string\",\"array\"]))throw new ue(\"Expected first argument to be of type array or string, but found \"+Xt(se(e))+\" instead.\");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},mr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},mr.prototype.outputDefined=function(){return!1},mr.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),t]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};var xr=yr(\"==\",(function(t,e,r){return e===r}),vr),br=yr(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!vr(0,e,r,n)})),_r=yr(\"<\",(function(t,e,r){return e\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Tr=yr(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),kr=yr(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Ar=function(t,e,r,n,i){this.type=Nt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};Ar.parse=function(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");var r=e.parse(t[1],1,Bt);if(!r)return null;var n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Nt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Nt)))return null;var o=null;if(n[\"min-fraction-digits\"]&&!(o=e.parse(n[\"min-fraction-digits\"],1,Bt)))return null;var s=null;return n[\"max-fraction-digits\"]&&!(s=e.parse(n[\"max-fraction-digits\"],1,Bt))?null:new Ar(r,i,a,o,s)},Ar.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},Ar.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},Ar.prototype.outputDefined=function(){return!1},Ar.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),t]};var Mr=function(t){this.type=Bt,this.input=t};Mr.parse=function(t,e){if(2!==t.length)return e.error(\"Expected 1 argument, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(\"Expected argument of type string or array, but found \"+Xt(r.type)+\" instead.\"):new Mr(r):null},Mr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new ue(\"Expected value to be of type string or array, but found \"+Xt(se(e))+\" instead.\")},Mr.prototype.eachChild=function(t){t(this.input)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){var t=[\"length\"];return this.eachChild((function(e){t.push(e.serialize())})),t};var Sr={\"==\":xr,\"!=\":br,\">\":wr,\"<\":_r,\">=\":kr,\"<=\":Tr,array:he,at:ur,boolean:he,case:dr,coalesce:lr,collator:be,format:pe,image:de,in:fr,\"index-of\":hr,interpolate:or,\"interpolate-hcl\":or,\"interpolate-lab\":or,length:Mr,let:cr,literal:ce,match:pr,number:he,\"number-format\":Ar,object:he,slice:mr,step:He,string:he,\"to-boolean\":ge,\"to-color\":ge,\"to-number\":ge,\"to-string\":ge,var:je,within:Re};function Er(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=ae(r,n,i,o);if(s)throw new ue(s);return new te(r/255*o,n/255*o,i/255*o,o)}function Lr(t,e){return t in e}function Cr(t,e){var r=e[t];return void 0===r?null:r}function Pr(t){return{type:t}}function Ir(t){return{result:\"success\",value:t}}function Or(t){return{result:\"error\",value:t}}function zr(t){return\"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function Dr(t){return!!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function Rr(t){return!!t.expression&&t.expression.interpolated}function Fr(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function Br(t){return\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function Nr(t){return t}function jr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Ur(t,e,r,n,i){return jr(typeof r===i?n[r]:void 0,t.default,e.default)}function Vr(t,e,r){if(\"number\"!==Fr(r))return jr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var i=Ve(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function Hr(t,e,r){var n=void 0!==t.base?t.base:1;if(\"number\"!==Fr(r))return jr(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Ve(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],c=Ge[e.type]||Nr;if(t.colorSpace&&\"rgb\"!==t.colorSpace){var u=ar[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return\"function\"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function qr(t,e,r){return\"color\"===e.type?r=te.parse(r):\"formatted\"===e.type?r=ne.fromString(r.toString()):\"resolvedImage\"===e.type?r=ie.fromString(r.toString()):Fr(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),jr(r,t.default,e.default)}xe.register(Sr,{error:[{kind:\"error\"},[Nt],function(t,e){var r=e[0];throw new ue(r.evaluate(t))}],typeof:[Nt,[Ht],function(t,e){return Xt(se(e[0].evaluate(t)))}],\"to-rgba\":[Wt(Bt,4),[Ut],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Ut,[Bt,Bt,Bt],Er],rgba:[Ut,[Bt,Bt,Bt,Bt],Er],has:{type:jt,overloads:[[[Nt],function(t,e){return Lr(e[0].evaluate(t),t.properties())}],[[Nt,Vt],function(t,e){var r=e[0],n=e[1];return Lr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Ht,overloads:[[[Nt],function(t,e){return Cr(e[0].evaluate(t),t.properties())}],[[Nt,Vt],function(t,e){var r=e[0],n=e[1];return Cr(r.evaluate(t),n.evaluate(t))}]]},\"feature-state\":[Ht,[Nt],function(t,e){return Cr(e[0].evaluate(t),t.featureState||{})}],properties:[Vt,[],function(t){return t.properties()}],\"geometry-type\":[Nt,[],function(t){return t.geometryType()}],id:[Ht,[],function(t){return t.id()}],zoom:[Bt,[],function(t){return t.globals.zoom}],\"heatmap-density\":[Bt,[],function(t){return t.globals.heatmapDensity||0}],\"line-progress\":[Bt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Ht,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],\"+\":[Bt,Pr(Bt),function(t,e){for(var r=0,n=0,i=e;n\":[jt,[Nt,Ht],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\"filter-id->\":[jt,[Ht],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\"filter-<=\":[jt,[Nt,Ht],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\"filter-id-<=\":[jt,[Ht],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\"filter->=\":[jt,[Nt,Ht],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\"filter-id->=\":[jt,[Ht],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\"filter-has\":[jt,[Ht],function(t,e){return e[0].value in t.properties()}],\"filter-has-id\":[jt,[],function(t){return null!==t.id()&&void 0!==t.id()}],\"filter-type-in\":[jt,[Wt(Nt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\"filter-id-in\":[jt,[Wt(Ht)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\"filter-in-small\":[jt,[Nt,Wt(Ht)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\"filter-in-large\":[jt,[Nt,Wt(Ht)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:jt,overloads:[[[jt,jt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Pr(jt),function(t,e){for(var r=0,n=e;r0&&\"string\"==typeof t[0]&&t[0]in Sr}function Wr(t,e){var r=new Ue(Sr,[],e?function(t){var e={color:Ut,string:Nt,number:Bt,enum:Nt,boolean:jt,formatted:Gt,resolvedImage:Yt};if(\"array\"===t.type)return Wt(e[t.value]||Ht,t.length);return e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?Ir(new Gr(n,e)):Or(r.errors)}Gr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},Gr.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||\"number\"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new ue(\"Expected value to be one of \"+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(\", \")+\", but found \"+JSON.stringify(o)+\" instead.\");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}};var Xr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!Be(e.expression)};Xr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Xr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var Zr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!Be(e.expression),this.interpolationType=n};function Jr(t,e){if(\"error\"===(t=Wr(t,e)).result)return t;var r=t.value.expression,n=Fe(r);if(!n&&!zr(e))return Or([new Dt(\"\",\"data expressions not supported\")]);var i=Ne(r,[\"zoom\"]);if(!i&&!Dr(e))return Or([new Dt(\"\",\"zoom expressions not supported\")]);var a=function t(e){var r=null;if(e instanceof cr)r=t(e.result);else if(e instanceof lr)for(var n=0,i=e.args;nn.maximum?[new Ct(e,r,r+\" is greater than the maximum value \"+n.maximum)]:[]}function en(t){var e,r,n,i=t.valueSpec,a=Ot(t.value.type),o={},s=\"categorical\"!==a&&void 0===t.value.property,l=!s,c=\"array\"===Fr(t.value.stops)&&\"array\"===Fr(t.value.stops[0])&&\"object\"===Fr(t.value.stops[0][0]),u=Qr({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===a)return[new Ct(t.key,t.value,'identity function may not have a \"stops\" property')];var e=[],r=t.value;e=e.concat($r({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),\"array\"===Fr(r)&&0===r.length&&e.push(new Ct(t.key,r,\"array must have at least one stop\"));return e},default:function(t){return kn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return\"identity\"===a&&s&&u.push(new Ct(t.key,t.value,'missing required property \"property\"')),\"identity\"===a||t.value.stops||u.push(new Ct(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===a&&t.valueSpec.expression&&!Rr(t.valueSpec)&&u.push(new Ct(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!zr(t.valueSpec)?u.push(new Ct(t.key,t.value,\"property functions not supported\")):s&&!Dr(t.valueSpec)&&u.push(new Ct(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==a&&!c||void 0!==t.value.property||u.push(new Ct(t.key,t.value,'\"property\" property is required')),u;function f(t){var e=[],a=t.value,s=t.key;if(\"array\"!==Fr(a))return[new Ct(s,a,\"array expected, \"+Fr(a)+\" found\")];if(2!==a.length)return[new Ct(s,a,\"array length 2 expected, length \"+a.length+\" found\")];if(c){if(\"object\"!==Fr(a[0]))return[new Ct(s,a,\"object expected, \"+Fr(a[0])+\" found\")];if(void 0===a[0].zoom)return[new Ct(s,a,\"object stop key must have zoom\")];if(void 0===a[0].value)return[new Ct(s,a,\"object stop key must have value\")];if(n&&n>Ot(a[0].zoom))return[new Ct(s,a[0].zoom,\"stop zoom values must appear in ascending order\")];Ot(a[0].zoom)!==n&&(n=Ot(a[0].zoom),r=void 0,o={}),e=e.concat(Qr({key:s+\"[0]\",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:tn,value:h}}))}else e=e.concat(h({key:s+\"[0]\",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return Yr(zt(a[1]))?e.concat([new Ct(s+\"[1]\",a[1],\"expressions are not allowed in function stops.\")]):e.concat(kn({key:s+\"[1]\",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Fr(t.value),l=Ot(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new Ct(t.key,c,s+\" stop domain type must match previous stop domain type \"+e)]}else e=s;if(\"number\"!==s&&\"string\"!==s&&\"boolean\"!==s)return[new Ct(t.key,c,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==s&&\"categorical\"!==a){var u=\"number expected, \"+s+\" found\";return zr(i)&&void 0===a&&(u+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new Ct(t.key,c,u)]}return\"categorical\"!==a||\"number\"!==s||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==a&&\"number\"===s&&void 0!==r&&l=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":return t.length>=3&&(\"string\"!=typeof t[1]||Array.isArray(t[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case\"any\":case\"all\":for(var e=0,r=t.slice(1);ee?1:0}function cn(t){if(!t)return!0;var e,r=t[0];return t.length<=1?\"any\"!==r:\"==\"===r?un(t[1],t[2],\"==\"):\"!=\"===r?pn(un(t[1],t[2],\"==\")):\"<\"===r||\">\"===r||\"<=\"===r||\">=\"===r?un(t[1],t[2],r):\"any\"===r?(e=t.slice(1),[\"any\"].concat(e.map(cn))):\"all\"===r?[\"all\"].concat(t.slice(1).map(cn)):\"none\"===r?[\"all\"].concat(t.slice(1).map(cn).map(pn)):\"in\"===r?fn(t[1],t.slice(2)):\"!in\"===r?pn(fn(t[1],t.slice(2))):\"has\"===r?hn(t[1]):\"!has\"===r?pn(hn(t[1])):\"within\"!==r||t}function un(t,e,r){switch(t){case\"$type\":return[\"filter-type-\"+r,e];case\"$id\":return[\"filter-id-\"+r,e];default:return[\"filter-\"+r,t,e]}}function fn(t,e){if(0===e.length)return!1;switch(t){case\"$type\":return[\"filter-type-in\",[\"literal\",e]];case\"$id\":return[\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?[\"filter-in-large\",t,[\"literal\",e.sort(ln)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function hn(t){switch(t){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",t]}}function pn(t){return[\"!\",t]}function dn(t){return an(zt(t.value))?rn(It({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):function t(e){var r=e.value,n=e.key;if(\"array\"!==Fr(r))return[new Ct(n,r,\"array expected, \"+Fr(r)+\" found\")];var i,a=e.styleSpec,o=[];if(r.length<1)return[new Ct(n,r,\"filter array must have at least 1 element\")];switch(o=o.concat(nn({key:n+\"[0]\",value:r[0],valueSpec:a.filter_operator,style:e.style,styleSpec:e.styleSpec})),Ot(r[0])){case\"<\":case\"<=\":case\">\":case\">=\":r.length>=2&&\"$type\"===Ot(r[1])&&o.push(new Ct(n,r,'\"$type\" cannot be use with operator \"'+r[0]+'\"'));case\"==\":case\"!=\":3!==r.length&&o.push(new Ct(n,r,'filter array for operator \"'+r[0]+'\" must have 3 elements'));case\"in\":case\"!in\":r.length>=2&&\"string\"!==(i=Fr(r[1]))&&o.push(new Ct(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"));for(var s=2;s=u[p+0]&&n>=u[p+1])?(o[h]=!0,a.push(c[h])):o[h]=!1}}},Dn.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=u;h++)for(var p=c;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},Dn.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},Dn.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Dn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n=0)){var f=t[u];c[u]=Bn[l].shallow.indexOf(u)>=0?f:Hn(f,e)}t instanceof Error&&(c.message=t.message)}if(c.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return\"Object\"!==l&&(c.$name=l),c}throw new Error(\"can't serialize object of type \"+typeof t)}function qn(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||Un(t)||Vn(t)||ArrayBuffer.isView(t)||t instanceof Rn)return t;if(Array.isArray(t))return t.map(qn);if(\"object\"==typeof t){var e=t.$name||\"Object\",r=Bn[e].klass;if(!r)throw new Error(\"can't deserialize unregistered class \"+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:qn(s)}}return n}throw new Error(\"can't deserialize object of type \"+typeof t)}var Gn=function(){this.first=!0};Gn.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},\"Arabic Supplement\":function(t){return t>=1872&&t<=1919},\"Arabic Extended-A\":function(t){return t>=2208&&t<=2303},\"Hangul Jamo\":function(t){return t>=4352&&t<=4607},\"Unified Canadian Aboriginal Syllabics\":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(t){return t>=6320&&t<=6399},\"General Punctuation\":function(t){return t>=8192&&t<=8303},\"Letterlike Symbols\":function(t){return t>=8448&&t<=8527},\"Number Forms\":function(t){return t>=8528&&t<=8591},\"Miscellaneous Technical\":function(t){return t>=8960&&t<=9215},\"Control Pictures\":function(t){return t>=9216&&t<=9279},\"Optical Character Recognition\":function(t){return t>=9280&&t<=9311},\"Enclosed Alphanumerics\":function(t){return t>=9312&&t<=9471},\"Geometric Shapes\":function(t){return t>=9632&&t<=9727},\"Miscellaneous Symbols\":function(t){return t>=9728&&t<=9983},\"Miscellaneous Symbols and Arrows\":function(t){return t>=11008&&t<=11263},\"CJK Radicals Supplement\":function(t){return t>=11904&&t<=12031},\"Kangxi Radicals\":function(t){return t>=12032&&t<=12255},\"Ideographic Description Characters\":function(t){return t>=12272&&t<=12287},\"CJK Symbols and Punctuation\":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},\"Hangul Compatibility Jamo\":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},\"Bopomofo Extended\":function(t){return t>=12704&&t<=12735},\"CJK Strokes\":function(t){return t>=12736&&t<=12783},\"Katakana Phonetic Extensions\":function(t){return t>=12784&&t<=12799},\"Enclosed CJK Letters and Months\":function(t){return t>=12800&&t<=13055},\"CJK Compatibility\":function(t){return t>=13056&&t<=13311},\"CJK Unified Ideographs Extension A\":function(t){return t>=13312&&t<=19903},\"Yijing Hexagram Symbols\":function(t){return t>=19904&&t<=19967},\"CJK Unified Ideographs\":function(t){return t>=19968&&t<=40959},\"Yi Syllables\":function(t){return t>=40960&&t<=42127},\"Yi Radicals\":function(t){return t>=42128&&t<=42191},\"Hangul Jamo Extended-A\":function(t){return t>=43360&&t<=43391},\"Hangul Syllables\":function(t){return t>=44032&&t<=55215},\"Hangul Jamo Extended-B\":function(t){return t>=55216&&t<=55295},\"Private Use Area\":function(t){return t>=57344&&t<=63743},\"CJK Compatibility Ideographs\":function(t){return t>=63744&&t<=64255},\"Arabic Presentation Forms-A\":function(t){return t>=64336&&t<=65023},\"Vertical Forms\":function(t){return t>=65040&&t<=65055},\"CJK Compatibility Forms\":function(t){return t>=65072&&t<=65103},\"Small Form Variants\":function(t){return t>=65104&&t<=65135},\"Arabic Presentation Forms-B\":function(t){return t>=65136&&t<=65279},\"Halfwidth and Fullwidth Forms\":function(t){return t>=65280&&t<=65519}};function Wn(t){for(var e=0,r=t;e=65097&&t<=65103)||(!!Yn[\"CJK Compatibility Ideographs\"](t)||(!!Yn[\"CJK Compatibility\"](t)||(!!Yn[\"CJK Radicals Supplement\"](t)||(!!Yn[\"CJK Strokes\"](t)||(!(!Yn[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||(!!Yn[\"CJK Unified Ideographs Extension A\"](t)||(!!Yn[\"CJK Unified Ideographs\"](t)||(!!Yn[\"Enclosed CJK Letters and Months\"](t)||(!!Yn[\"Hangul Compatibility Jamo\"](t)||(!!Yn[\"Hangul Jamo Extended-A\"](t)||(!!Yn[\"Hangul Jamo Extended-B\"](t)||(!!Yn[\"Hangul Jamo\"](t)||(!!Yn[\"Hangul Syllables\"](t)||(!!Yn.Hiragana(t)||(!!Yn[\"Ideographic Description Characters\"](t)||(!!Yn.Kanbun(t)||(!!Yn[\"Kangxi Radicals\"](t)||(!!Yn[\"Katakana Phonetic Extensions\"](t)||(!(!Yn.Katakana(t)||12540===t)||(!(!Yn[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||(!(!Yn[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||(!!Yn[\"Unified Canadian Aboriginal Syllabics\"](t)||(!!Yn[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||(!!Yn[\"Vertical Forms\"](t)||(!!Yn[\"Yijing Hexagram Symbols\"](t)||(!!Yn[\"Yi Syllables\"](t)||!!Yn[\"Yi Radicals\"](t))))))))))))))))))))))))))))))}function Jn(t){return!(Zn(t)||function(t){return!(!Yn[\"Latin-1 Supplement\"](t)||167!==t&&169!==t&&174!==t&&177!==t&&188!==t&&189!==t&&190!==t&&215!==t&&247!==t)||(!(!Yn[\"General Punctuation\"](t)||8214!==t&&8224!==t&&8225!==t&&8240!==t&&8241!==t&&8251!==t&&8252!==t&&8258!==t&&8263!==t&&8264!==t&&8265!==t&&8273!==t)||(!!Yn[\"Letterlike Symbols\"](t)||(!!Yn[\"Number Forms\"](t)||(!(!Yn[\"Miscellaneous Technical\"](t)||!(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215))||(!(!Yn[\"Control Pictures\"](t)||9251===t)||(!!Yn[\"Optical Character Recognition\"](t)||(!!Yn[\"Enclosed Alphanumerics\"](t)||(!!Yn[\"Geometric Shapes\"](t)||(!(!Yn[\"Miscellaneous Symbols\"](t)||t>=9754&&t<=9759)||(!(!Yn[\"Miscellaneous Symbols and Arrows\"](t)||!(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243))||(!!Yn[\"CJK Symbols and Punctuation\"](t)||(!!Yn.Katakana(t)||(!!Yn[\"Private Use Area\"](t)||(!!Yn[\"CJK Compatibility Forms\"](t)||(!!Yn[\"Small Form Variants\"](t)||(!!Yn[\"Halfwidth and Fullwidth Forms\"](t)||(8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)))))))))))))))))}(t))}function Kn(t){return t>=1424&&t<=2303||Yn[\"Arabic Presentation Forms-A\"](t)||Yn[\"Arabic Presentation Forms-B\"](t)}function Qn(t,e){return!(!e&&Kn(t))&&!(t>=2304&&t<=3583||t>=3840&&t<=4255||Yn.Khmer(t))}function $n(t){for(var e=0,r=t;e-1&&(ai=ni),ii&&ii(t)};function li(){ci.fire(new Mt(\"pluginStateChange\",{pluginStatus:ai,pluginURL:oi}))}var ci=new Et,ui=function(){return ai},fi=function(){if(ai!==ti||!oi)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");ai=ei,li(),oi&&xt({url:oi},(function(t){t?si(t):(ai=ri,li())}))},hi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return ai===ri||null!=hi.applyArabicShaping},isLoading:function(){return ai===ei},setState:function(t){ai=t.pluginStatus,oi=t.pluginURL},isParsed:function(){return null!=hi.applyArabicShaping&&null!=hi.processBidirectionalText&&null!=hi.processStyledBidirectionalText},getPluginURL:function(){return oi}},pi=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Gn,this.transition={})};pi.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var di=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Br(t))return new Kr(t,e);if(Yr(t)){var r=Jr(t,e);if(\"error\"===r.result)throw new Error(r.value.map((function(t){return t.key+\": \"+t.message})).join(\", \"));return r.value}var n=t;return\"string\"==typeof t&&\"color\"===e.type&&(n=te.parse(t)),{kind:\"constant\",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};di.prototype.isDataDriven=function(){return\"source\"===this.expression.kind||\"composite\"===this.expression.kind},di.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var mi=function(t){this.property=t,this.value=new di(t,void 0)};mi.prototype.transitioned=function(t,e){return new vi(this.property,this.value,e,u({},t.transition,this.transition),t.now)},mi.prototype.untransitioned=function(){return new vi(this.property,this.value,null,{},0)};var gi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};gi.prototype.getValue=function(t){return x(this._values[t].value.value)},gi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new mi(this._values[t].property)),this._values[t].value=new di(this._values[t].property,null===e?void 0:x(e))},gi.prototype.getTransition=function(t){return x(this._values[t].transition)},gi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new mi(this._values[t].property)),this._values[t].transition=x(e)||void 0},gi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var yi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};yi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new _i(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Ti),Ai=function(t){this.specification=t};Ai.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new pi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new pi(Math.floor(e.zoom),e)),t.expression.evaluate(new pi(Math.floor(e.zoom+1),e)),e)}},Ai.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Ai.prototype.interpolate=function(t){return t};var Mi=function(t){this.specification=t};Mi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},Mi.prototype.interpolate=function(){return!1};var Si=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new di(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new mi(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};Nn(\"DataDrivenProperty\",Ti),Nn(\"DataConstantProperty\",wi),Nn(\"CrossFadedDataDrivenProperty\",ki),Nn(\"CrossFadedProperty\",Ai),Nn(\"ColorRampProperty\",Mi);var Ei=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},\"custom\"!==e.type&&(e=e,this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,\"background\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\"source-layer\"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new xi(r.layout)),r.paint)){for(var n in this._transitionablePaint=new gi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new _i(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return\"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n=\"layers.\"+this.id+\".layout.\"+t;if(this._validate(In,n,t,e,r))return}\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return g(t,\"-transition\")?this._transitionablePaint.getTransition(t.slice(0,-\"-transition\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n=\"layers.\"+this.id+\".paint.\"+t;if(this._validate(Pn,n,t,e,r))return!1}if(g(t,\"-transition\"))return this._transitionablePaint.setTransition(t.slice(0,-\"-transition\".length),e||void 0),!1;var i=this._transitionablePaint._values[t],a=\"cross-faded-data-driven\"===i.property.specification[\"property-type\"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||\"none\"===this.visibility)},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),y(t,(function(t,e){return!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&On(this,t.call(Ln,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Lt,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof bi&&zr(e.property.specification)&&((\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent))return!0}return!1},e}(Et),Li={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Ci=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Pi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Ii(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,Li[i].BYTES_PER_ELEMENT),o=r=Oi(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:Oi(r,Math.max(n,e)),alignment:e}}function Oi(t,e){return Math.ceil(t/e)*e}Pi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Pi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Pi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Pi.prototype.clear=function(){this.length=0},Pi.prototype.resize=function(t){this.reserve(t),this.length=t},Pi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Pi.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};var zi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Pi);zi.prototype.bytesPerElement=4,Nn(\"StructArrayLayout2i4\",zi);var Di=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Pi);Di.prototype.bytesPerElement=8,Nn(\"StructArrayLayout4i8\",Di);var Ri=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Pi);Ri.prototype.bytesPerElement=12,Nn(\"StructArrayLayout2i4i12\",Ri);var Fi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Pi);Fi.prototype.bytesPerElement=8,Nn(\"StructArrayLayout2i4ub8\",Fi);var Bi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l,c)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u){var f=9*t,h=18*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint8[h+16]=c,this.uint8[h+17]=u,t},e}(Pi);Bi.prototype.bytesPerElement=18,Nn(\"StructArrayLayout8ui2ub18\",Bi);var Ni=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,c,u,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(Pi);Ni.prototype.bytesPerElement=24,Nn(\"StructArrayLayout4i4ui4i24\",Ni);var ji=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Pi);ji.prototype.bytesPerElement=12,Nn(\"StructArrayLayout3f12\",ji);var Ui=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Pi);Ui.prototype.bytesPerElement=4,Nn(\"StructArrayLayout1ul4\",Ui);var Vi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c){var u=10*t,f=5*t;return this.int16[u+0]=e,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[f+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,t},e}(Pi);Vi.prototype.bytesPerElement=20,Nn(\"StructArrayLayout6i1ul2ui20\",Vi);var Hi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Pi);Hi.prototype.bytesPerElement=12,Nn(\"StructArrayLayout2i2i2i12\",Hi);var qi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Pi);qi.prototype.bytesPerElement=16,Nn(\"StructArrayLayout2f1f2i16\",qi);var Gi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Pi);Gi.prototype.bytesPerElement=12,Nn(\"StructArrayLayout2ub2f12\",Gi);var Yi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Pi);Yi.prototype.bytesPerElement=6,Nn(\"StructArrayLayout3ui6\",Yi);var Wi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v){var y=24*t,x=12*t,b=48*t;return this.int16[y+0]=e,this.int16[y+1]=r,this.uint16[y+2]=n,this.uint16[y+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[y+10]=l,this.uint16[y+11]=c,this.uint16[y+12]=u,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=m,this.uint32[x+10]=g,this.int16[y+22]=v,t},e}(Pi);Wi.prototype.bytesPerElement=48,Nn(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Wi);var Xi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,x,b,_,w,T,k,A,M,S,E){var L=34*t,C=17*t;return this.int16[L+0]=e,this.int16[L+1]=r,this.int16[L+2]=n,this.int16[L+3]=i,this.int16[L+4]=a,this.int16[L+5]=o,this.int16[L+6]=s,this.int16[L+7]=l,this.uint16[L+8]=c,this.uint16[L+9]=u,this.uint16[L+10]=f,this.uint16[L+11]=h,this.uint16[L+12]=p,this.uint16[L+13]=d,this.uint16[L+14]=m,this.uint16[L+15]=g,this.uint16[L+16]=v,this.uint16[L+17]=y,this.uint16[L+18]=x,this.uint16[L+19]=b,this.uint16[L+20]=_,this.uint16[L+21]=w,this.uint16[L+22]=T,this.uint32[C+12]=k,this.float32[C+13]=A,this.float32[C+14]=M,this.float32[C+15]=S,this.float32[C+16]=E,t},e}(Pi);Xi.prototype.bytesPerElement=68,Nn(\"StructArrayLayout8i15ui1ul4f68\",Xi);var Zi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Pi);Zi.prototype.bytesPerElement=4,Nn(\"StructArrayLayout1f4\",Zi);var Ji=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Pi);Ji.prototype.bytesPerElement=6,Nn(\"StructArrayLayout3i6\",Ji);var Ki=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Pi);Ki.prototype.bytesPerElement=8,Nn(\"StructArrayLayout1ul2ui8\",Ki);var Qi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Pi);Qi.prototype.bytesPerElement=4,Nn(\"StructArrayLayout2ui4\",Qi);var $i=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Pi);$i.prototype.bytesPerElement=2,Nn(\"StructArrayLayout1ui2\",$i);var ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Pi);ta.prototype.bytesPerElement=8,Nn(\"StructArrayLayout2f8\",ta);var ea=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Pi);ea.prototype.bytesPerElement=16,Nn(\"StructArrayLayout4f16\",ea);var ra=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new i(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Ci);ra.prototype.size=20;var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ra(this,t)},e}(Vi);Nn(\"CollisionBoxArray\",na);var ia=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(Ci);ia.prototype.size=48;var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ia(this,t)},e}(Wi);Nn(\"PlacedSymbolArray\",aa);var oa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(Ci);oa.prototype.size=68;var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new oa(this,t)},e}(Xi);Nn(\"SymbolInstanceArray\",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(Zi);Nn(\"GlyphOffsetArray\",la);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(Ji);Nn(\"SymbolLineVertexArray\",ca);var ua=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(Ci);ua.prototype.size=8;var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ua(this,t)},e}(Ki);Nn(\"FeatureIndexArray\",fa);var ha=Ii([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,pa=function(t){void 0===t&&(t=[]),this.segments=t};function da(t,e){return 256*(t=l(Math.floor(t),0,255))+(e=l(Math.floor(e),0,255))}pa.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>pa.MAX_VERTEX_ARRAY_LENGTH&&_(\"Max vertices per segment is \"+pa.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+t),(!i||i.vertexLength+t>pa.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},pa.prototype.get=function(){return this.segments},pa.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),va=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ya=ga,xa=ga,ba=va;ya.murmur3=xa,ya.murmur2=ba;var _a=function(){this.ids=[],this.positions=[],this.indexed=!1};_a.prototype.add=function(t,e,r,n){this.ids.push(Ta(t)),this.positions.push(e,r,n)},_a.prototype.getPositions=function(t){for(var e=Ta(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},_a.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,i){for(;n>1],o=n-1,s=i+1;;){do{o++}while(e[o]a);if(o>=s)break;ka(e,o,s),ka(r,3*o,3*s),ka(r,3*o+1,3*s+1),ka(r,3*o+2,3*s+2)}s-nGa.max||o.yGa.max)&&(_(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\"),o.x=l(o.x,Ga.min,Ga.max),o.y=l(o.y,Ga.min,Ga.max))}return r}function Wa(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var Xa=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new zi,this.indexArray=new Yi,this.segments=new pa,this.programConfigurations=new Ua(ha,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function Za(t,e){for(var r=0;r1){if($a(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function no(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function io(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function ao(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=w(t,e,r[0]);return a!==w(t,e,r[1])||a!==w(t,e,r[2])||a!==w(t,e,r[3])}function oo(t,e,r){var n=e.paint.get(t).value;return\"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function so(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function lo(t,e,r,n,a){if(!e[0]&&!e[1])return t;var o=i.convert(e)._mult(a);\"viewport\"===r&&o._rotate(-n);for(var s=[],l=0;l=8192||u<0||u>=8192)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;Wa(this.layoutVertexArray,c,u,-1,-1),Wa(this.layoutVertexArray,c,u,1,-1),Wa(this.layoutVertexArray,c,u,1,1),Wa(this.layoutVertexArray,c,u,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},Nn(\"CircleBucket\",Xa,{omit:[\"layers\"]});var co=new Si({\"circle-sort-key\":new Ti(Lt.layout_circle[\"circle-sort-key\"])}),uo={paint:new Si({\"circle-radius\":new Ti(Lt.paint_circle[\"circle-radius\"]),\"circle-color\":new Ti(Lt.paint_circle[\"circle-color\"]),\"circle-blur\":new Ti(Lt.paint_circle[\"circle-blur\"]),\"circle-opacity\":new Ti(Lt.paint_circle[\"circle-opacity\"]),\"circle-translate\":new wi(Lt.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new wi(Lt.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new wi(Lt.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new wi(Lt.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new Ti(Lt.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new Ti(Lt.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new Ti(Lt.paint_circle[\"circle-stroke-opacity\"])}),layout:co},fo=\"undefined\"!=typeof Float32Array?Float32Array:Array;function ho(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function po(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],m=e[12],g=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*m,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*m,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*m,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*m,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var mo=po;var go,vo,yo=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};go=new fo(3),fo!=Float32Array&&(go[0]=0,go[1]=0,go[2]=0),vo=go;function xo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}!function(){var t=function(){var t=new fo(4);return fo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}()}();var bo=function(t){var e=t[0],r=t[1];return e*e+r*r},_o=(function(){var t=function(){var t=new fo(2);return fo!=Float32Array&&(t[0]=0,t[1]=0),t}()}(),function(t){function e(e){t.call(this,e,uo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Xa(t)},e.prototype.queryRadius=function(t){var e=t;return oo(\"circle-radius\",this,e)+oo(\"circle-stroke-width\",this,e)+so(this.paint.get(\"circle-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=lo(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),a.angle,o),c=this.paint.get(\"circle-radius\").evaluate(e,r)+this.paint.get(\"circle-stroke-width\").evaluate(e,r),u=\"map\"===this.paint.get(\"circle-pitch-alignment\"),f=u?l:function(t,e){return t.map((function(t){return wo(t,e)}))}(l,s),h=u?c*o:c,p=0,d=n;pt.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var o=t.data,s=e.data,l=0;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return jo(h,p,r,n,i,c),p}function Bo(t,e,r,n,i){var a,o;if(i===ls(t,e,r,n)>0)for(a=e;a=e;a-=n)o=as(a,t[a],t[a+1],o);return o&&$o(o,o.next)&&(os(o),o=o.next),o}function No(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!$o(n,n.next)&&0!==Qo(n.prev,n,n.next))n=n.next;else{if(os(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function jo(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=Xo(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?Vo(t,n,i,a):Uo(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),os(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?jo(t=Ho(No(t),e,r),e,r,n,i,a,2):2===o&&qo(t,e,r,n,i,a):jo(No(t),e,r,n,i,a,1);break}}}function Uo(t){var e=t.prev,r=t,n=t.next;if(Qo(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(Jo(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&Qo(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function Vo(t,e,r,n){var i=t.prev,a=t,o=t.next;if(Qo(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=Xo(s,l,e,r,n),h=Xo(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&Jo(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Qo(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&Jo(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Qo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&Jo(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Qo(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&Jo(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Qo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function Ho(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!$o(i,a)&&ts(i,n,n.next,a)&&ns(i,a)&&ns(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),os(n),os(n.next),n=t=a),n=n.next}while(n!==t);return No(n)}function qo(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Ko(o,s)){var l=is(o,s);return o=No(o,o.next),l=No(l,l.next),jo(o,e,r,n,i,a),void jo(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function Go(t,e){return t.x-e.x}function Yo(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&Jo(ar.x||n.x===r.x&&Wo(r,n)))&&(r=n,h=l)),n=n.next}while(n!==c);return r}(t,e)){var r=is(e,t);No(e,e.next),No(r,r.next)}}function Wo(t,e){return Qo(t.prev,t,e.prev)<0&&Qo(e.next,t,t.next)<0}function Xo(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Zo(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function Ko(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&&ts(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(ns(t,e)&&ns(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(Qo(t.prev,t,e.prev)||Qo(t,e.prev,e))||$o(t,e)&&Qo(t.prev,t,t.next)>0&&Qo(e.prev,e,e.next)>0)}function Qo(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function $o(t,e){return t.x===e.x&&t.y===e.y}function ts(t,e,r,n){var i=rs(Qo(t,e,r)),a=rs(Qo(t,e,n)),o=rs(Qo(r,n,t)),s=rs(Qo(r,n,e));return i!==a&&o!==s||(!(0!==i||!es(t,r,e))||(!(0!==a||!es(t,n,e))||(!(0!==o||!es(r,t,n))||!(0!==s||!es(r,e,n)))))}function es(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 rs(t){return t>0?1:t<0?-1:0}function ns(t,e){return Qo(t.prev,t,t.next)<0?Qo(t,e,t.next)>=0&&Qo(t,t.prev,e)>=0:Qo(t,e,t.prev)<0||Qo(t,t.next,e)<0}function is(t,e){var r=new ss(t.i,t.x,t.y),n=new ss(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function as(t,e,r,n){var i=new ss(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function os(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 ss(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 ls(t,e,r,n){for(var i=0,a=e,o=r-n;an;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1),f=Math.max(n,Math.floor(r-s*c/o+u)),h=Math.min(i,Math.floor(r+(o-s)*c/o+u));t(e,r,f,h,a)}var p=e[r],d=n,m=i;for(us(e,n,r),a(e[i],p)>0&&us(e,n,i);d0;)m--}0===a(e[n],p)?us(e,n,m):(m++,us(e,m,i)),m<=r&&(n=m+1),r<=m&&(i=m-1)}}(t,e,r||0,n||t.length-1,i||fs)}function us(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function fs(t,e){return te?1:0}function hs(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},Do.default=Ro;var gs=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new zi,this.indexArray=new Yi,this.indexArray2=new Qi,this.programConfigurations=new Ua(zo,t.layers,t.zoom),this.segments=new pa,this.segments2=new pa,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};gs.prototype.populate=function(t,e,r){this.hasPattern=ds(\"fill\",this.layers,e);for(var n=this.layers[0].layout.get(\"fill-sort-key\"),i=[],a=0,o=t;a>3}if(a--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new i(o,s));else{if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},ws.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())c&&(c=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return[o,l,s,c]},ws.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=ws.types[this.type];function u(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Es(t,e,r){if(3===t){var n=new As(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Ms.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new _s(this._pbf,e,this.extent,this._keys,this._values)};var Ls={VectorTile:function(t,e){this.layers=t.readFields(Es,{},e)},VectorTileFeature:_s,VectorTileLayer:As},Cs=Ls.VectorTileFeature.types,Ps=Math.pow(2,13);function Is(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*Ps)+o,i*Ps*2,a*Ps*2,Math.round(s))}var Os=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Ri,this.indexArray=new Yi,this.programConfigurations=new Ua(bs,t.layers,t.zoom),this.segments=new pa,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function zs(t,e){return t.x===e.x&&(t.x<0||t.x>8192)||t.y===e.y&&(t.y<0||t.y>8192)}function Ds(t){return t.every((function(t){return t.x<0}))||t.every((function(t){return t.x>8192}))||t.every((function(t){return t.y<0}))||t.every((function(t){return t.y>8192}))}Os.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=ds(\"fill-extrusion\",this.layers,e);for(var n=0,i=t;n=1){var y=d[g-1];if(!zs(v,y)){f.vertexLength+4>pa.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=v.sub(y)._perp()._unit(),b=y.dist(v);m+b>32768&&(m=0),Is(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,m),Is(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,m),m+=b,Is(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,m),Is(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,m);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>pa.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),\"Polygon\"===Cs[t.type]){for(var w=[],T=[],k=f.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;c0;if(T&&v>c){var A=u.dist(p);if(A>2*f){var M=u.sub(u.sub(p)._mult(f/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,m,0,0,h),p=M}}var S=p&&d,E=S?r:s?\"butt\":n;if(S&&\"round\"===E&&(_i&&(E=\"bevel\"),\"bevel\"===E&&(_>2&&(E=\"flipbevel\"),_100)y=g.mult(-1);else{var L=_*m.add(g).mag()/m.sub(g).mag();y._perp()._mult(L*(k?-1:1))}this.addCurrentVertex(u,y,0,0,h),this.addCurrentVertex(u,y.mult(-1),0,0,h)}else if(\"bevel\"===E||\"fakeround\"===E){var C=-Math.sqrt(_*_-1),P=k?C:0,I=k?0:C;if(p&&this.addCurrentVertex(u,m,P,I,h),\"fakeround\"===E)for(var O=Math.round(180*w/Math.PI/20),z=1;z2*f){var j=u.add(d.sub(u)._mult(f/N)._round());this.updateDistance(u,j),this.addCurrentVertex(j,g,0,0,h),u=j}}}}},qs.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,c=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,c,a,!0,-n,i),this.distance>Hs/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},qs.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,c=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&c)<<2,c>>6);var u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),i?this.e2=u:this.e1=u},qs.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(Hs-1):this.distance},qs.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},Nn(\"LineBucket\",qs,{omit:[\"layers\",\"patternFeatures\"]});var Gs=new Si({\"line-cap\":new wi(Lt.layout_line[\"line-cap\"]),\"line-join\":new Ti(Lt.layout_line[\"line-join\"]),\"line-miter-limit\":new wi(Lt.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new wi(Lt.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Ti(Lt.layout_line[\"line-sort-key\"])}),Ys={paint:new Si({\"line-opacity\":new Ti(Lt.paint_line[\"line-opacity\"]),\"line-color\":new Ti(Lt.paint_line[\"line-color\"]),\"line-translate\":new wi(Lt.paint_line[\"line-translate\"]),\"line-translate-anchor\":new wi(Lt.paint_line[\"line-translate-anchor\"]),\"line-width\":new Ti(Lt.paint_line[\"line-width\"]),\"line-gap-width\":new Ti(Lt.paint_line[\"line-gap-width\"]),\"line-offset\":new Ti(Lt.paint_line[\"line-offset\"]),\"line-blur\":new Ti(Lt.paint_line[\"line-blur\"]),\"line-dasharray\":new Ai(Lt.paint_line[\"line-dasharray\"]),\"line-pattern\":new ki(Lt.paint_line[\"line-pattern\"]),\"line-gradient\":new Mi(Lt.paint_line[\"line-gradient\"])}),layout:Gs},Ws=new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new pi(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=u({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Ti))(Ys.paint.properties[\"line-width\"].specification);Ws.useIntegerZoom=!0;var Xs=function(t){function e(e){t.call(this,e,Ys)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){\"line-gradient\"===t&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.gradient=Co(t,\"lineProgress\"),this.gradientTexture=null},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values[\"line-floorwidth\"]=Ws.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,e)},e.prototype.createBucket=function(t){return new qs(t)},e.prototype.queryRadius=function(t){var e=t,r=Zs(oo(\"line-width\",this,e),oo(\"line-gap-width\",this,e)),n=oo(\"line-offset\",this,e);return r/2+Math.abs(n)+so(this.paint.get(\"line-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s){var l=lo(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),o.angle,s),c=s/2*Zs(this.paint.get(\"line-width\").evaluate(e,r),this.paint.get(\"line-gap-width\").evaluate(e,r)),u=this.paint.get(\"line-offset\").evaluate(e,r);return u&&(n=function(t,e){for(var r=[],n=new i(0,0),a=0;a=3)for(var a=0;a0?e+2*t:t}var Js=Ii([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),Ks=Ii([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),Qs=(Ii([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),Ii([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}])),$s=(Ii([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]),Ii([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4)),tl=Ii([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);Ii([{name:\"triangle\",components:3,type:\"Uint16\"}]),Ii([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),Ii([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",components:2,name:\"textOffset\"},{type:\"Float32\",name:\"collisionCircleDiameter\"}]),Ii([{type:\"Float32\",name:\"offsetX\"}]),Ii([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);function el(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get(\"text-transform\").evaluate(r,{});return\"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),hi.applyArabicShaping&&(t=hi.applyArabicShaping(t)),t}(t.text,e,r)})),t}var rl={\"!\":\"\\ufe15\",\"#\":\"\\uff03\",$:\"\\uff04\",\"%\":\"\\uff05\",\"&\":\"\\uff06\",\"(\":\"\\ufe35\",\")\":\"\\ufe36\",\"*\":\"\\uff0a\",\"+\":\"\\uff0b\",\",\":\"\\ufe10\",\"-\":\"\\ufe32\",\".\":\"\\u30fb\",\"/\":\"\\uff0f\",\":\":\"\\ufe13\",\";\":\"\\ufe14\",\"<\":\"\\ufe3f\",\"=\":\"\\uff1d\",\">\":\"\\ufe40\",\"?\":\"\\ufe16\",\"@\":\"\\uff20\",\"[\":\"\\ufe47\",\"\\\\\":\"\\uff3c\",\"]\":\"\\ufe48\",\"^\":\"\\uff3e\",_:\"\\ufe33\",\"`\":\"\\uff40\",\"{\":\"\\ufe37\",\"|\":\"\\u2015\",\"}\":\"\\ufe38\",\"~\":\"\\uff5e\",\"\\xa2\":\"\\uffe0\",\"\\xa3\":\"\\uffe1\",\"\\xa5\":\"\\uffe5\",\"\\xa6\":\"\\uffe4\",\"\\xac\":\"\\uffe2\",\"\\xaf\":\"\\uffe3\",\"\\u2013\":\"\\ufe32\",\"\\u2014\":\"\\ufe31\",\"\\u2018\":\"\\ufe43\",\"\\u2019\":\"\\ufe44\",\"\\u201c\":\"\\ufe41\",\"\\u201d\":\"\\ufe42\",\"\\u2026\":\"\\ufe19\",\"\\u2027\":\"\\u30fb\",\"\\u20a9\":\"\\uffe6\",\"\\u3001\":\"\\ufe11\",\"\\u3002\":\"\\ufe12\",\"\\u3008\":\"\\ufe3f\",\"\\u3009\":\"\\ufe40\",\"\\u300a\":\"\\ufe3d\",\"\\u300b\":\"\\ufe3e\",\"\\u300c\":\"\\ufe41\",\"\\u300d\":\"\\ufe42\",\"\\u300e\":\"\\ufe43\",\"\\u300f\":\"\\ufe44\",\"\\u3010\":\"\\ufe3b\",\"\\u3011\":\"\\ufe3c\",\"\\u3014\":\"\\ufe39\",\"\\u3015\":\"\\ufe3a\",\"\\u3016\":\"\\ufe17\",\"\\u3017\":\"\\ufe18\",\"\\uff01\":\"\\ufe15\",\"\\uff08\":\"\\ufe35\",\"\\uff09\":\"\\ufe36\",\"\\uff0c\":\"\\ufe10\",\"\\uff0d\":\"\\ufe32\",\"\\uff0e\":\"\\u30fb\",\"\\uff1a\":\"\\ufe13\",\"\\uff1b\":\"\\ufe14\",\"\\uff1c\":\"\\ufe3f\",\"\\uff1e\":\"\\ufe40\",\"\\uff1f\":\"\\ufe16\",\"\\uff3b\":\"\\ufe47\",\"\\uff3d\":\"\\ufe48\",\"\\uff3f\":\"\\ufe33\",\"\\uff5b\":\"\\ufe37\",\"\\uff5c\":\"\\u2015\",\"\\uff5d\":\"\\ufe38\",\"\\uff5f\":\"\\ufe35\",\"\\uff60\":\"\\ufe36\",\"\\uff61\":\"\\ufe12\",\"\\uff62\":\"\\ufe41\",\"\\uff63\":\"\\ufe42\"};var nl=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},il=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m},al=ol;function ol(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}ol.Varint=0,ol.Fixed64=1,ol.Bytes=2,ol.Fixed32=5;var sl=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function ll(t){return t.type===ol.Bytes?t.readVarint()+t.pos:t.pos+1}function cl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function ul(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function fl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function wl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}ol.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=bl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=wl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=bl(this.buf,this.pos)+4294967296*bl(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=bl(this.buf,this.pos)+4294967296*wl(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=nl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=nl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(i=a[r.pos++],n=(112&i)>>4,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(127&i)<<3,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(127&i)<<10,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(127&i)<<17,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(127&i)<<24,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(1&i)<<31,i<128)return cl(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&sl?function(t,e,r){return sl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){var n=\"\",i=e;for(;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==ol.Bytes)return t.push(this.readVarint(e));var r=ll(this);for(t=t||[];this.pos127;);else if(e===ol.Bytes)this.pos=this.readVarint()+this.pos;else if(e===ol.Fixed32)this.pos+=4;else{if(e!==ol.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0));if(t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;if(e.buf[e.pos++]|=r|((t>>>=3)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;e.buf[e.pos++]=127&t}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&ul(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),il(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),il(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&ul(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,ol.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,fl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,hl,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,ml,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,pl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,dl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,gl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,vl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,yl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,xl,e)},writeBytesField:function(t,e){this.writeTag(t,ol.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,ol.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,ol.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,ol.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,ol.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,ol.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,ol.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,ol.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,ol.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,ol.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function Tl(t,e,r){1===t&&r.readMessage(kl,e)}function kl(t,e,r){if(3===t){var n=r.readMessage(Al,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;e.push({id:i,bitmap:new So({width:o+6,height:s+6},a),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function Al(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}function Ml(t){for(var e=0,r=0,n=0,i=t;n=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h0&&N>A&&(A=N)}else{var j=r[S.fontStack],U=j&&j[L];if(U&&U.rect)I=U.rect,P=U.metrics;else{var V=e[S.fontStack],H=V&&V[L];if(!H)continue;P=H.metrics}C=24*(_-S.scale)}D?(t.verticalizable=!0,k.push({glyph:L,imageName:O,x:h,y:p+C,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:I}),h+=z*S.scale+c):(k.push({glyph:L,imageName:O,x:h,y:p+C,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:I}),h+=P.advance*S.scale+c)}if(0!==k.length){var q=h-c;d=Math.max(q,d),Vl(k,0,k.length-1,g,A)}h=0;var G=a*_+A;T.lineOffset=Math.max(A,w),p+=G,m=Math.max(G,m),++v}else p+=a,++v}var Y;var W=p- -17,X=Ul(o),Z=X.horizontalAlign,J=X.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var c=(e-r)*i,u=0;u=a!==o?-s*n- -17:(-n*l+.5)*o;for(var f=0,h=t;f=0&&n>=t&&zl[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},Il.prototype.substring=function(t,e){var r=new Il;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},Il.prototype.toString=function(){return this.text},Il.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},Il.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(Pl.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var zl={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Dl={};function Rl(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*24/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function Fl(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,f=0,h=0;h-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=f.dist(h)}return!0}function Jl(t){for(var e=0,r=0;rc){var d=(c-l)/p,m=qe(f.x,h.x,d),g=qe(f.y,h.y,d),v=new ql(m,g,h.angleTo(f),u);return v._round(),!o||Zl(t,v,s,o,e)?v:void 0}l+=p}}function tc(t,e,r,n,i,a,o,s,l){var c=Kl(n,a,o),u=Ql(n,i),f=u*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f=0&&_=0&&w=0&&p+u<=f){var T=new ql(_,w,x,m);T._round(),i&&!Zl(e,T,o,i,a)||d.push(T)}}h+=y}l||d.length||s||(d=t(e,h/2,n,i,a,o,s,!0,c));return d}(t,h?e/2*s%e:(u/2+2*a)*o*s%e,e,c,r,f,h,!1,l)}function ec(t,e,r,n,a){for(var o=[],s=0;s=n&&h.x>=n||(f.x>=n?f=new i(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new i(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=a&&h.y>=a||(f.y>=a?f=new i(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y>=a&&(h=new i(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),c&&f.equals(c[c.length-1])||(c=[f],o.push(c)),c.push(h)))))}return o}function rc(t,e,r,n){var a=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2,c=o.paddedRect.h-2,u=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,c]],d=function(t,e){return t+e[1]-e[0]},m=h.reduce(d,0),g=p.reduce(d,0),v=l-m,y=c-g,x=0,b=m,_=0,w=g,T=0,k=v,A=0,M=y;if(o.content&&n){var S=o.content;x=nc(h,0,S[0]),_=nc(p,0,S[1]),b=nc(h,S[0],S[2]),w=nc(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,a,l,c){var h=ac(n.stretch-x,b,u,t.left),p=oc(n.fixed-T,k,n.stretch,m),d=ac(a.stretch-_,w,f,t.top),v=oc(a.fixed-A,M,a.stretch,g),y=ac(l.stretch-x,b,u,t.left),S=oc(l.fixed-T,k,l.stretch,m),E=ac(c.stretch-_,w,f,t.top),L=oc(c.fixed-A,M,c.stretch,g),C=new i(h,d),P=new i(y,d),I=new i(y,E),O=new i(h,E),z=new i(p/s,v/s),D=new i(S/s,L/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];C._matMult(N),P._matMult(N),O._matMult(N),I._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=a.stretch+a.fixed,H=c.stretch+c.fixed;return{tl:C,tr:P,bl:O,br:I,tex:{x:o.paddedRect.x+1+j,y:o.paddedRect.y+1+V,w:U-j,h:H-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:z,pixelOffsetBR:D,minFontScaleX:k/s/u,minFontScaleY:M/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var L=ic(h,v,m),C=ic(p,y,g),P=0;P0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var m=o.top*s-l,g=o.bottom*s+l,v=o.left*s-l,y=o.right*s+l,x=o.collisionPadding;if(x&&(v-=x[0]*s,m-=x[1]*s,y+=x[2]*s,g+=x[3]*s),u){var b=new i(v,m),_=new i(y,m),w=new i(v,g),T=new i(y,g),k=u*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),v=Math.min(b.x,_.x,w.x,T.x),y=Math.max(b.x,_.x,w.x,T.x),m=Math.min(b.y,_.y,w.y,T.y),g=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,v,m,y,g,r,n,a)}this.boxEndIndex=t.length},lc=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=cc),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function cc(t,e){return te?1:0}function uc(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0],c=0;co)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var f=o-n,h=s-a,p=Math.min(f,h),d=p/2,m=new lc([],fc);if(0===p)return new i(n,a);for(var g=n;gy.d||!y.d)&&(y=b,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*b.d)/1e4,x)),b.max-y.d<=e||(d=b.h/2,m.push(new hc(b.p.x-d,b.p.y-d,d,t)),m.push(new hc(b.p.x+d,b.p.y-d,d,t)),m.push(new hc(b.p.x-d,b.p.y+d,d,t)),m.push(new hc(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log(\"num probes: \"+x),console.log(\"best distance: \"+y.d)),y.p}function fc(t,e){return e.max-t.max}function hc(t,e,r,n){this.p=new i(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=u.y>t.y&&t.x<(u.x-c.x)*(t.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,ro(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}lc.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},lc.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},lc.prototype.peek=function(){return this.data[0]},lc.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},lc.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var pc=Number.POSITIVE_INFINITY;function dc(t,e){return e[1]!==pc?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":i=r-7;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=7-r}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case\"top-right\":case\"top-left\":n=i-7;break;case\"bottom-right\":case\"bottom-left\":n=7-i;break;case\"bottom\":n=7-e;break;case\"top\":n=e-7}switch(t){case\"top-right\":case\"bottom-right\":r=-i;break;case\"top-left\":case\"bottom-left\":r=i;break;case\"left\":r=e;break;case\"right\":r=-e}return[r,n]}(t,e[0])}function mc(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function gc(t,e,r,n,a,o,s,l,c,u,f,h,p,d,m){var g=function(t,e,r,n,a,o,s,l){for(var c=n.layout.get(\"text-rotate\").evaluate(o,{})*Math.PI/180,u=[],f=0,h=e.positionedLines;f32640&&_(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'):\"composite\"===v.kind&&((y=[128*d.compositeTextSizes[0].evaluate(s,{},m),128*d.compositeTextSizes[1].evaluate(s,{},m)])[0]>32640||y[1]>32640)&&_(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'),t.addSymbols(t.text,g,y,l,o,s,u,e,c.lineStartIndex,c.lineLength,p,m);for(var x=0,b=f;x=0;o--)if(n.dist(a[o])0)&&(\"constant\"!==a.value.kind||a.value.value.length>0),c=\"constant\"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get(\"symbol-sort-key\");if(this.features=[],l||c){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new pi(this.zoom),m=0,g=t;m=0;for(var O=0,z=k.sections;O=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0},Mc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Mc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Mc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Mc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Mc.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Nn(\"SymbolBucket\",Mc,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),Mc.MAX_GLYPHS=65535,Mc.addDynamicAttributes=wc;var Sc=new Si({\"symbol-placement\":new wi(Lt.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new wi(Lt.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new wi(Lt.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Ti(Lt.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new wi(Lt.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new wi(Lt.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new wi(Lt.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new wi(Lt.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new wi(Lt.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Ti(Lt.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new wi(Lt.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new wi(Lt.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Ti(Lt.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Ti(Lt.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new wi(Lt.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new wi(Lt.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Ti(Lt.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Ti(Lt.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new wi(Lt.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new wi(Lt.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new wi(Lt.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Ti(Lt.layout_symbol[\"text-field\"]),\"text-font\":new Ti(Lt.layout_symbol[\"text-font\"]),\"text-size\":new Ti(Lt.layout_symbol[\"text-size\"]),\"text-max-width\":new Ti(Lt.layout_symbol[\"text-max-width\"]),\"text-line-height\":new wi(Lt.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Ti(Lt.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Ti(Lt.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Ti(Lt.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new wi(Lt.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Ti(Lt.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new wi(Lt.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new wi(Lt.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Ti(Lt.layout_symbol[\"text-rotate\"]),\"text-padding\":new wi(Lt.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new wi(Lt.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Ti(Lt.layout_symbol[\"text-transform\"]),\"text-offset\":new Ti(Lt.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new wi(Lt.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new wi(Lt.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new wi(Lt.layout_symbol[\"text-optional\"])}),Ec={paint:new Si({\"icon-opacity\":new Ti(Lt.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Ti(Lt.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Ti(Lt.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Ti(Lt.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Ti(Lt.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new wi(Lt.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new wi(Lt.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Ti(Lt.paint_symbol[\"text-opacity\"]),\"text-color\":new Ti(Lt.paint_symbol[\"text-color\"],{runtimeType:Ut,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),\"text-halo-color\":new Ti(Lt.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Ti(Lt.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Ti(Lt.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new wi(Lt.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new wi(Lt.paint_symbol[\"text-translate-anchor\"])}),layout:Sc},Lc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Ft,this.defaultValue=t};Lc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},Lc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},Lc.prototype.outputDefined=function(){return!1},Lc.prototype.serialize=function(){return null},Nn(\"FormatSectionOverride\",Lc,{omit:[\"defaultValue\"]});var Cc=function(t){function e(e){t.call(this,e,Ec)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(\"point\"!==this.layout.get(\"symbol-placement\")?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(\"point\"!==this.layout.get(\"symbol-placement\")?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){var n=this.layout.get(\"text-writing-mode\");if(n){for(var i=[],a=0,o=n;a\",targetMapId:n,sourceMapId:a.mapId})}}},qc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(\"\"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else k()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},qc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},qc.prototype.processTask=function(t,e){var r=this;if(\"\"===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(qn(e.error)):n(null,qn(e.data)))}else{var i=!1,a=S(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:\"\",sourceMapId:r.mapId,error:e?Hn(e):null,data:Hn(n,a)},a)}:function(t){i=!0},s=null,l=qn(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var c=e.type.split(\".\");s=this.parent.getWorkerSource(e.sourceMapId,c[0],l.source)[c[1]](l,o)}else o(new Error(\"Could not find function \"+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},qc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};var Yc=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Yc.prototype.setNorthEast=function(t){return this._ne=t instanceof Wc?new Wc(t.lng,t.lat):Wc.convert(t),this},Yc.prototype.setSouthWest=function(t){return this._sw=t instanceof Wc?new Wc(t.lng,t.lat):Wc.convert(t),this},Yc.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Wc)e=t,r=t;else{if(!(t instanceof Yc)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(Yc.convert(a))}var o=t;return this.extend(Wc.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Wc(e.lng,e.lat),this._ne=new Wc(r.lng,r.lat)),this},Yc.prototype.getCenter=function(){return new Wc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Yc.prototype.getSouthWest=function(){return this._sw},Yc.prototype.getNorthEast=function(){return this._ne},Yc.prototype.getNorthWest=function(){return new Wc(this.getWest(),this.getNorth())},Yc.prototype.getSouthEast=function(){return new Wc(this.getEast(),this.getSouth())},Yc.prototype.getWest=function(){return this._sw.lng},Yc.prototype.getSouth=function(){return this._sw.lat},Yc.prototype.getEast=function(){return this._ne.lng},Yc.prototype.getNorth=function(){return this._ne.lat},Yc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Yc.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},Yc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Yc.prototype.contains=function(t){var e=Wc.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Yc.convert=function(t){return!t||t instanceof Yc?t:new Yc(t)};var Wc=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid LngLat object: (\"+t+\", \"+e+\")\");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};Wc.prototype.wrap=function(){return new Wc(c(this.lng,-180,180),this.lat)},Wc.prototype.toArray=function(){return[this.lng,this.lat]},Wc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},Wc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return 6371008.8*Math.acos(Math.min(i,1))},Wc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Yc(new Wc(this.lng-r,this.lat-e),new Wc(this.lng+r,this.lat+e))},Wc.convert=function(t){if(t instanceof Wc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Wc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new Wc(Number(\"lng\"in t?t.lng:t.lon),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")};var Xc=2*Math.PI*6371008.8;function Zc(t){return Xc*Math.cos(t*Math.PI/180)}function Jc(t){return(180+t)/360}function Kc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Qc(t,e){return t/Zc(e)}function $c(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var tu=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};tu.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Wc.convert(t);return new tu(Jc(r.lng),Kc(r.lat),Qc(e,r.lat))},tu.prototype.toLngLat=function(){return new Wc(360*this.x-180,$c(this.y))},tu.prototype.toAltitude=function(){return t=this.z,e=this.y,t*Zc($c(e));var t,e},tu.prototype.meterInMercatorCoordinateUnits=function(){return 1/Xc*(t=$c(this.y),1/Math.cos(t*Math.PI/180));var t};var eu=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=iu(0,t,t,e,r)};eu.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},eu.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=Gc(256*r,256*(n=Math.pow(2,i)-n-1),i),o=Gc(256*(r+1),256*(n+1),i),a[0]+\",\"+a[1]+\",\"+o[0]+\",\"+o[1]),l=function(t,e,r){for(var n,i=\"\",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new nu(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new nu(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},nu.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?iu(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):iu(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},nu.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},nu.prototype.children=function(t){if(this.overscaledZ>=t)return[new nu(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new nu(e,this.wrap,e,r,n),new nu(e,this.wrap,e,r+1,n),new nu(e,this.wrap,e,r,n+1),new nu(e,this.wrap,e,r+1,n+1)]},nu.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(e+1)*this.stride+(t+1)},au.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},au.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},au.prototype.getPixels=function(){return new Eo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},au.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,c=a;c=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},uu.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new Ls.VectorTile(new al(this.rawTileData)).layers,this.sourceLayerCoder=new ou(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},uu.prototype.query=function(t,e,r,n){var a=this;this.loadVTLayers();for(var o=t.params||{},s=8192/t.tileSize/t.scale,l=sn(o.filter),c=t.queryGeometry,u=t.queryPadding*s,f=hu(c),h=this.grid.query(f.minX-u,f.minY-u,f.maxX+u,f.maxY+u),p=hu(t.cameraQueryGeometry),d=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,(function(e,r,n,a){return function(t,e,r,n,a){for(var o=0,s=t;o=l.x&&a>=l.y)return!0}var c=[new i(e,r),new i(e,a),new i(n,a),new i(n,r)];if(t.length>2)for(var u=0,f=c;u=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),p=this.vtLayers[h].feature(n);if(i.filter(new pi(this.tileID.overscaledZ),p))for(var d=this.getId(p,h),m=0;mn)i=!1;else if(e)if(this.expirationTimeot&&(t.getActor().send(\"enforceCacheSizeLimit\",at),ht=0)},t.clamp=l,t.clearTileCache=function(t){var e=self.caches.delete(\"mapbox-tiles\");t&&e.catch(t).then((function(){return t()}))},t.clipLine=ec,t.clone=function(t){var e=new fo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=x,t.clone$2=function(t){var e=new fo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=tl,t.config=F,t.create=function(){var t=new fo(16);return fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new fo(9);return fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new fo(4);return fo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=Wr,t.createLayout=Ii,t.createStyleLayer=function(t){return\"custom\"===t.type?new Dc(t):new Rc[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=qe,t.offscreenCanvasSupported=pt,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t},t.parseGlyphPBF=function(t){return new al(t).readFields(Tl,[])},t.pbf=al,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=8192/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,c=t.layers[0]._unevaluatedLayout._values,u={};if(\"composite\"===t.textSizeData.kind){var f=t.textSizeData,h=f.minZoom,p=f.maxZoom;u.compositeTextSizes=[c[\"text-size\"].possiblyEvaluate(new pi(h),o),c[\"text-size\"].possiblyEvaluate(new pi(p),o)]}if(\"composite\"===t.iconSizeData.kind){var d=t.iconSizeData,m=d.minZoom,g=d.maxZoom;u.compositeIconSizes=[c[\"icon-size\"].possiblyEvaluate(new pi(m),o),c[\"icon-size\"].possiblyEvaluate(new pi(g),o)]}u.layoutTextSize=c[\"text-size\"].possiblyEvaluate(new pi(t.zoom+1),o),u.layoutIconSize=c[\"icon-size\"].possiblyEvaluate(new pi(t.zoom+1),o),u.textMaxSize=c[\"text-size\"].possiblyEvaluate(new pi(18));for(var v=24*l.get(\"text-line-height\"),y=\"map\"===l.get(\"text-rotation-alignment\")&&\"point\"!==l.get(\"symbol-placement\"),x=l.get(\"text-keep-upright\"),b=l.get(\"text-size\"),w=function(){var a=k[T],s=l.get(\"text-font\").evaluate(a,{},o).join(\",\"),c=b.evaluate(a,{},o),f=u.layoutTextSize.evaluate(a,{},o),h=u.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,m=[0,0];if(d){var g=d.toString(),w=24*l.get(\"text-letter-spacing\").evaluate(a,{},o),A=function(t){for(var e=0,r=t;e=8192||f.y<0||f.y>=8192||function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,x,b,w,T,k,A){var M,S,E,L,C,P=t.addToLineVertexArray(e,r),I=0,O=0,z=0,D=0,R=-1,F=-1,B={},N=ya(\"\"),j=0,U=0;void 0===s._unevaluatedLayout.getValue(\"text-radial-offset\")?(M=s.layout.get(\"text-offset\").evaluate(b,{},k).map((function(t){return 24*t})),j=M[0],U=M[1]):(j=24*s.layout.get(\"text-radial-offset\").evaluate(b,{},k),U=pc);if(t.allowVerticalPlacement&&n.vertical){var V=s.layout.get(\"text-rotate\").evaluate(b,{},k)+90,H=n.vertical;L=new sc(l,e,c,u,f,H,h,p,d,V),o&&(C=new sc(l,e,c,u,f,o,g,v,d,V))}if(i){var q=s.layout.get(\"icon-rotate\").evaluate(b,{}),G=\"none\"!==s.layout.get(\"icon-text-fit\"),Y=rc(i,q,T,G),W=o?rc(o,q,T,G):void 0;E=new sc(l,e,c,u,f,i,g,v,!1,q),I=4*Y.length;var X=t.iconSizeData,Z=null;\"source\"===X.kind?(Z=[128*s.layout.get(\"icon-size\").evaluate(b,{})])[0]>32640&&_(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'):\"composite\"===X.kind&&((Z=[128*w.compositeIconSizes[0].evaluate(b,{},k),128*w.compositeIconSizes[1].evaluate(b,{},k)])[0]>32640||Z[1]>32640)&&_(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'),t.addSymbols(t.icon,Y,Z,x,y,b,!1,e,P.lineStartIndex,P.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1,W&&(O=4*W.length,t.addSymbols(t.icon,W,Z,x,y,b,Cl.vertical,e,P.lineStartIndex,P.lineLength,-1,k),F=t.icon.placedSymbolArray.length-1)}for(var J in n.horizontal){var K=n.horizontal[J];if(!S){N=ya(K.text);var Q=s.layout.get(\"text-rotate\").evaluate(b,{},k);S=new sc(l,e,c,u,f,K,h,p,d,Q)}var $=1===K.positionedLines.length;if(z+=gc(t,e,K,a,s,d,b,m,P,n.vertical?Cl.horizontal:Cl.horizontalOnly,$?Object.keys(n.horizontal):[J],B,R,w,k),$)break}n.vertical&&(D+=gc(t,e,n.vertical,a,s,d,b,m,P,Cl.vertical,[\"vertical\"],B,F,w,k));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=L?L.boxStartIndex:t.collisionBoxArray.length,nt=L?L.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=C?C.boxStartIndex:t.collisionBoxArray.length,st=C?C.boxEndIndex:t.collisionBoxArray.length,lt=-1,ct=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ct(S,lt),lt=ct(L,lt),lt=ct(E,lt);var ut=(lt=ct(C,lt))>-1?1:0;ut&&(lt*=A/24);t.glyphOffsetArray.length>=Mc.MAX_GLYPHS&&_(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\");void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey);t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,c,z,D,I,O,ut,0,h,j,U,lt)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,v,w,A,l,x,T,M,d,e,a,c,u,o)};if(\"line\"===S)for(var P=0,I=ec(e.geometry,0,0,8192,8192);P1){var V=$l(U,k,r.vertical||m,n,24,y);V&&C(U,V)}}else if(\"Polygon\"===e.type)for(var H=0,q=hs(e.geometry,0);H=E.maxzoom))if(\"none\"!==E.visibility)o(S,this.zoom,n),(m[E.id]=E.createBucket({index:u.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),u.bucketLayerIDs.push(S.map((function(t){return t.id})))}}}var L=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(L).length?a.send(\"getGlyphs\",{uid:this.uid,stacks:L},(function(t,e){f||(f=t,h=e,I.call(l))})):h={};var C=Object.keys(g.iconDependencies);C.length?a.send(\"getImages\",{icons:C,source:this.source,tileID:this.tileID,type:\"icons\"},(function(t,e){f||(f=t,p=e,I.call(l))})):p={};var P=Object.keys(g.patternDependencies);function I(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in m){var l=m[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status=\"done\",s(null,{buckets:t.values(m).filter((function(t){return!t.isEmpty()})),featureIndex:u,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}P.length?a.send(\"getImages\",{icons:P,source:this.source,tileID:this.tileID,type:\"patterns\"},(function(t,e){f||(f=t,d=e,I.call(l))})):d={},I.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status=\"done\",n.loaded[i]=s,r(e);var l=a.rawData,c={};a.expires&&(c.expires=a.expires),a.cacheControl&&(c.cacheControl=a.cacheControl);var u={};if(o){var f=o.finish();f&&(u.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};\"parsing\"===o.status?o.reloadCallback=s:\"done\"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var c=t.window.ImageBitmap,u=function(){this.loaded={}};u.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=c&&a instanceof c?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},u.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},u.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var f=function t(e,r){var n,i=e&&e.type;if(\"FeatureCollection\"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,m=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,\"id\"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};m.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function P(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;!function t(e,r,n,i,a,o){for(;a>i;){if(a-i>600){var s=a-i+1,l=n-i+1,c=Math.log(s),u=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1),h=Math.max(i,Math.floor(n-l*u/s+f)),p=Math.min(a,Math.floor(n+(s-l)*u/s+f));t(e,r,n,h,p,o)}var d=r[2*n+o],m=i,g=a;for(z(e,r,i,n),r[2*a+o]>d&&z(e,r,i,a);md;)g--}r[2*i+o]===d?z(e,r,i,g):(g++,z(e,r,g,a)),g<=n&&(i=g+1),n<=g&&(a=g-1)}}(t,e,o,n,i,a%2),O(t,e,r,n,o-1,a+1),O(t,e,r,o+1,i,a+1)}}function z(t,e,r,n){D(t,r,n),D(e,2*r,2*n),D(e,2*r+1,2*n+1)}function D(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function R(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=T,_.GeoJSONWrapper=k;var F=function(t){return t[0]},B=function(t){return t[1]},N=function(t,e,r,n,i){void 0===e&&(e=F),void 0===r&&(r=B),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var m=Math.floor((p+h)/2);s=e[2*m],l=e[2*m+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[m]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(c.push(p),c.push(m-1),c.push(g)),(0===f?i>=s:a>=l)&&(c.push(m+1),c.push(h),c.push(g))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},N.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var c=o.pop(),u=o.pop(),f=o.pop();if(u-f<=a)for(var h=f;h<=u;h++)R(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+u)/2),d=e[2*p],m=e[2*p+1];R(d,m,r,n)<=l&&s.push(t[p]);var g=(c+1)%2;(0===c?r-i<=d:n-i<=m)&&(o.push(f),o.push(p-1),o.push(g)),(0===c?r+i>=d:n+i>=m)&&(o.push(p+1),o.push(u),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var j={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},U=function(t){this.options=X(Object.create(j),t),this.trees=new Array(this.options.maxZoom+1)};function V(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function H(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:Y(n),y:W(i),zoom:1/0,index:e,parentId:-1}}function q(t){return{type:\"Feature\",id:t.id,properties:G(t),geometry:{type:\"Point\",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function G(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return X(X({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function Y(t){return t/360+.5}function W(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function X(t,e){for(var r in e)t[r]=e[r];return t}function Z(t){return t.x}function J(t){return t.y}function K(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function Q(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)$(t,e);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var n=0;n0&&(o+=n?(i*c-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=e.length-3;e[2]=1,function t(e,r,n,i){for(var a,o=i,s=n-r>>1,l=n-r,c=e[r],u=e[r+1],f=e[n],h=e[n+1],p=r+3;po)a=p,o=d;else if(d===o){var m=Math.abs(p-s);mi&&(a-r>3&&t(e,r,a,i),e[a+2]=o,n-a>3&&t(e,a,n,i))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function nt(t,e,r,n){for(var i=0;i1?1:r}function ot(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],c=0;c=r&&d=n)){var m=[];if(\"Point\"===h||\"MultiPoint\"===h)st(f,m,r,n,i);else if(\"LineString\"===h)lt(f,m,r,n,i,!1,s.lineMetrics);else if(\"MultiLineString\"===h)ut(f,m,r,n,i,!1);else if(\"Polygon\"===h)ut(f,m,r,n,i,!0);else if(\"MultiPolygon\"===h)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function lt(t,e,r,n,i,a,o){for(var s,l,c=ct(t),u=0===i?ht:pt,f=t.start,h=0;hr&&(l=u(c,p,d,g,v,r),o&&(c.start=f+s*l)):y>n?x=r&&(l=u(c,p,d,g,v,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,g,v,n),b=!0),!a&&b&&(o&&(c.end=f+s*l),e.push(c),c=ct(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],m=t[_+2],(y=0===i?p:d)>=r&&y<=n&&ft(c,p,d,m),_=c.length-3,a&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&ft(c,c[0],c[1],c[2]),c.length&&e.push(c)}function ct(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ut(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=u),f>o.maxY&&(o.maxY=f)}return o}function xt(t,e,r,n){var i=e.geometry,a=e.type,o=[];if(\"Point\"===a||\"MultiPoint\"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error(\"maxZoom should be in the 0-24 range\");if(e.promoteId&&e.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var n=function(t,e){var r=[];if(\"FeatureCollection\"===t.type)for(var n=0;n=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new N(s,Z,J,a,Float32Array),r&&console.log(\"z%d: %d clusters in %dms\",c,s.length,+Date.now()-u)}return r&&console.timeEnd(\"total time\"),this},U.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],c=[],u=0,f=l.range(Y(r),W(a),Y(i),W(n));u1?this._map(c,!0):null,g=(l<<5)+(e+1)+this.points.length,v=0,y=f;v>5},U.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},U.prototype._map=function(t,e){if(t.numPoints)return e?X({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?X({},n):n},_t.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},_t.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<1&&console.time(\"creation\"),h=this.tiles[f]=yt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd(\"creation\"));var p=\"z\"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time(\"clipping\");var m,g,v,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;m=g=v=y=null,x=ot(t,u,r-_,r+T,0,h.minX,h.maxX,l),b=ot(t,u,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(m=ot(x,u,n-_,n+T,1,h.minY,h.maxY,l),g=ot(x,u,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(v=ot(b,u,n-_,n+T,1,h.minY,h.maxY,l),y=ot(b,u,n+w,n+k,1,h.minY,h.maxY,l),b=null),c>1&&console.timeEnd(\"clipping\"),s.push(m||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(v||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},_t.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log(\"drilling down to z%d-%d-%d\",t,e,r);for(var l,c=t,u=e,f=r;!l&&c>0;)c--,u=Math.floor(u/2),f=Math.floor(f/2),l=this.tiles[wt(c,u,f)];return l&&l.source?(a>1&&console.log(\"found parent tile z%d-%d-%d\",c,u,f),a>1&&console.time(\"drilling down\"),this.splitTile(l.source,c,u,f,t,e,r),a>1&&console.timeEnd(\"drilling down\"),this.tiles[s]?gt(this.tiles[s],i):null):null};var kt=function(e){function r(t,r,n,i){e.call(this,t,r,n,Tt),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&\"Idle\"!==this._state?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if(\"object\"!=typeof o)return r(new Error(\"Input data given to '\"+n.source+\"' is not a valid GeoJSON object.\"));f(o,!0);try{e._geoJSONIndex=n.cluster?new U(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function v(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error(\"glyphs > 65535 not supported\"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var u=Math.abs(c-l.left),f=Math.abs(c-l.right),h=Math.min(u,f),p=void 0,d=i/r*(n+1);if(l.isDash){var m=n-Math.abs(d);p=Math.sqrt(h*h+m*m)}else p=n-Math.sqrt(h*h+d*d);this.data[o+c]=Math.max(0,Math.min(255,p+128))}},T.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],c=0;c1&&(l=t[++s]);var u=Math.abs(c-l.left),f=Math.abs(c-l.right),h=Math.min(u,f),p=l.isDash?h:-h;this.data[o+c]=Math.max(0,Math.min(255,p+128))}},T.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce(\"LineAtlas out of space\"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event(\"data\",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:\"source\",sourceDataType:\"content\"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event(\"data\",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;\"string\"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+\".loadData\",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+\".coalesce\",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?\"reloadTile\":\"loadTile\";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,\"reloadTile\"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),I=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+r.start(0)+\" and \"+r.end(0)+\"-second mark.\"))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),z=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return\"number\"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'missing required property \"coordinates\"'))),n.animate&&\"boolean\"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'optional \"animate\" property must be a boolean value'))),n.canvas?\"string\"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'missing required property \"canvas\"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];\"loaded\"!==a.state&&(a.state=\"loaded\",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},N.prototype.has=function(t){return t.wrapped().key in this.data},N.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},N.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},N.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},N.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},N.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},N.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},N.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(It(this._source.type)){for(var c={},u={},f=0,h=Object.keys(l);fthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],v=this.getTile(g);if(v&&v.hasData()){n[g.key]=g;continue}}else{var y=d.children(this._source.maxzoom);if(n[y[0].key]&&n[y[1].key]&&n[y[2].key]&&n[y[3].key])continue}for(var x=m.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(m=this.getTile(_))&&x&&(m=this._addTile(_)),m&&(n[_.key]=_,x=m.wasRequested(),m.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),c=s.map((function(t){return o.pointCoordinate(t)})),u=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,m=0,g=c;m=0&&v[1].y+g>=0){var y=l.map((function(t){return s.getTilePoint(t)})),x=c.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:y,cameraQueryGeometry:x,scale:m})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||\"_geojsonTileLayer\",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||\"_geojsonTileLayer\",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||\"_geojsonTileLayer\",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles){this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,\"reloading\")}this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function Pt(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function It(t){return\"raster\"===t||\"image\"===t||\"video\"===t}function Ot(){return new t.window.Worker(Zi.workerUrl)}Ct.maxOverzooming=10,Ct.maxUnderzooming=3;var zt=\"mapboxgl_preloaded_worker_pool\",Dt=function(){this.active={}};Dt.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Kt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ne(e,r,n,i,a,o,s,l){var c=i?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,m=n.transform.width/n.transform.height,g=!1,v=0;vMath.abs(n.x-r.x)*i)return{useVertical:!0};return(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function oe(e,r,n,i,a,o,s,l,c,u,f,h,p,d){var m,g=r/24,v=e.lineOffsetX*g,y=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=ie(g,l,v,y,n,f,h,e,c,o,p);if(!w)return{notEnoughRoom:!0};var T=te(w.first.point,s).point,k=te(w.last.point,s).point;if(i&&!n){var A=ae(e.writingMode,T,k,d);if(A)return A}m=[w.first];for(var M=e.glyphStartIndex+1;M0?C.point:se(h,L,S,1,a),I=ae(e.writingMode,S,P,d);if(I)return I}var O=le(g*l.getoffsetX(e.glyphStartIndex),v,y,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p);if(!O)return{notEnoughRoom:!0};m=[O]}for(var z=0,D=m;z0?1:-1,m=0;i&&(d*=-1,m=Math.PI),d<0&&(m+=Math.PI);for(var g=d>0?l+s:l+s+1,v=a,y=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)=c)return null;if(y=v,w.push(v),void 0===(v=h[g])){var T=new t.Point(u.getx(g),u.gety(g)),k=te(T,f);if(k.signedDistanceFromCamera>0)v=h[g]=k.point;else{var A=g-d;v=se(0===x?o:new t.Point(u.getx(A),u.gety(A)),T,y,_-x+1,f)}}x+=b,b=y.dist(v)}var M=(_-x)/b,S=v.sub(y),E=S.mult(M)._add(y);E._add(S._unit()._perp()._mult(n*d));var L=m+Math.atan2(v.y-y.y,v.x-y.x);return w.push(E),{point:E,angle:L,path:w}}Kt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Kt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Kt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Kt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Kt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Kt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Kt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var c=[],u={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,c,u,i),n?c.length>0:c},Kt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Kt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Kt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Kt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,f=0,h=c;f=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var m=this.circleCells[i];if(null!==m)for(var g=this.circles,v=0,y=m;vo*o+s*s},Kt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var f=l-s,h=u-c;return f*f+h*h<=r*r};var ce=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ue(t,e){for(var r=0;r=1;P--)C.push(E.path[P]);for(var I=1;I0){for(var R=C[0].clone(),F=C[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[C]:F.xM.x||F.yM.y?[]:t.clipLine([C],A.x,A.y,M.x,M.y)}for(var N=0,j=D;N=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},he.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0)return this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(m=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:m},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:v,placedGlyphBoxes:y}},we.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,u=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,m=a.collisionGroup,g=s.get(\"text-optional\"),v=s.get(\"icon-optional\"),y=s.get(\"text-allow-overlap\"),x=s.get(\"icon-allow-overlap\"),b=\"map\"===s.get(\"text-rotation-alignment\"),_=\"map\"===s.get(\"text-pitch-alignment\"),w=\"none\"!==s.get(\"icon-text-fit\"),T=\"viewport-y\"===s.get(\"symbol-z-order\"),k=y&&(x||!o.hasIconData()||v),A=x&&(y||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new ge(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,L={box:null,offscreen:null},C={box:null,offscreen:null},P=null,I=null,O=0,z=0,D=0;a.textFeatureIndex?O=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(O=e.featureIndex),a.verticalTextFeatureIndex&&(z=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,c=e.textBoxScale,u=w&&!x?r:null,h={box:[],offscreen:!1},p=y?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,c,b,_,f,l,m,v,e,o,n,u);if(k&&(h=k.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=k.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=L&&L.box&&L.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),L&&(T=L.box,S=L.offscreen);var V=F(L&&L.box);if(!T&&i.prevPlacement){var H=i.prevPlacement.variableOffsets[e.crossTileID];H&&(i.variableOffsets[e.crossTileID]=H,i.markUsedJustification(o,H.anchor,e,V))}}else{var q=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,y,f,l,m.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return q(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?q(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(L&&L.box&&L.box.length)}}if(T=(p=L)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Y=t.evaluateSizeForFeature(o.textSizeData,d,G),W=s.get(\"text-padding\"),X=e.collisionCircleDiameter;P=i.collisionIndex.placeCollisionCircles(y,G,o.lineVertexArray,o.glyphOffsetArray,Y,l,c,u,n,_,m.predicate,X,W),T=y||P.circles.length>0&&!P.collisionDetected,S=S&&P.offscreen}if(a.iconFeatureIndex&&(D=a.iconFeatureIndex),a.iconBox){var Z=function(t){var e=w&&E?_e(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,m.predicate)};M=C&&C.box&&C.box.length&&a.verticalIconBox?(I=Z(a.verticalIconBox)).box.length>0:(I=Z(a.iconBox)).box.length>0,S=S&&I.offscreen}var J=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,K=v||0===e.numIconVertices;if(J||K?K?J||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(C&&C.box&&z?i.collisionIndex.insertCollisionBox(p.box,s.get(\"text-ignore-placement\"),o.bucketInstanceId,z,m.ID):i.collisionIndex.insertCollisionBox(p.box,s.get(\"text-ignore-placement\"),o.bucketInstanceId,O,m.ID)),M&&I&&i.collisionIndex.insertCollisionBox(I.box,s.get(\"icon-ignore-placement\"),o.bucketInstanceId,D,m.ID),P&&(T&&i.collisionIndex.insertCollisionCircles(P.circles,s.get(\"text-ignore-placement\"),o.bucketInstanceId,O,m.ID),n)){var Q=o.bucketInstanceId,$=i.collisionCircleArrays[Q];void 0===$&&($=i.collisionCircleArrays[Q]=new ve);for(var tt=0;tt=0;--E){var L=S[E];M(o.symbolInstances.get(L),o.collisionArrays[L])}else for(var C=e.symbolInstanceStart;C=0&&(e.text.placedSymbolArray.get(c).crossTileID=a>=0&&c!==a?0:n.crossTileID)}},we.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,b=i.placedOrientations[a.crossTileID],_=b===t.WritingMode.vertical,w=b===t.WritingMode.horizontal||b===t.WritingMode.horizontalOnly;if(y){var T=Pe(v.text),k=_?Ie:T;d(e.text,s,k);var A=w?Ie:T;d(e.text,l,A);var M=v.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||_?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,b);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,\"left\",a,E),i.markUsedOrientation(e,E,a))}if(x){var L=Pe(v.icon),C=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var P=C?L:Ie;d(e.icon,a.numIconVertices,P),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=v.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var I=C?Ie:L;d(e.icon,a.numVerticalIconVertices,I),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=v.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var O=e.collisionArrays[n];if(O){var z=new t.Point(0,0);if(O.textBox||O.verticalTextBox){var D=!0;if(c){var R=i.variableOffsets[m];R?(z=be(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),u&&z._rotate(f?i.transform.angle:-i.transform.angle)):D=!1}O.textBox&&Te(e.textCollisionBox.collisionVertexArray,v.text.placed,!D||_,z.x,z.y),O.verticalTextBox&&Te(e.textCollisionBox.collisionVertexArray,v.text.placed,!D||w,z.x,z.y)}var F=Boolean(!w&&O.verticalIconBox);O.iconBox&&Te(e.iconCollisionBox.collisionVertexArray,v.icon.placed,F,h?z.x:0,h?z.y:0),O.verticalIconBox&&Te(e.iconCollisionBox.collisionVertexArray,v.icon.placed,!F,h?z.x:0,h?z.y:0)}}},g=0;gt},we.prototype.setStale=function(){this.stale=!0};var ke=Math.pow(2,25),Ae=Math.pow(2,24),Me=Math.pow(2,17),Se=Math.pow(2,16),Ee=Math.pow(2,9),Le=Math.pow(2,8),Ce=Math.pow(2,1);function Pe(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*ke+e*Ae+r*Me+e*Se+r*Ee+e*Le+r*Ce+e}var Ie=0,Oe=function(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&void 0!==t.layout.get(\"symbol-sort-key\").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Oe.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Oe(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},ze.prototype.commit=function(t){return this.placement.commit(t),this.placement};var De=512/t.EXTENT/2,Re=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var c=o[t.scaledTo(Number(a)).key];c&&c.findMatches(e.symbolInstances,t,i)}}for(var u=0;u1?\"@2x\":\"\",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,\".json\"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,u())})),c=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,\".png\"),t.ResourceType.SpriteImage),(function(t,e){c=null,o||(o=t,a=e,u())}));function u(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],c=l.width,u=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,m=l.stretchX,g=l.stretchY,v=l.content,y=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,y,{x:f,y:h},{x:0,y:0},{width:c,height:u}),r[s]={data:y,pixelRatio:d,sdf:p,stretchX:m,stretchY:g,content:v}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast(\"setImages\",r._availableImages),r.fire(new t.Event(\"data\",{dataType:\"style\"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();(\"geojson\"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer \"'+n+'\" does not exist on source \"'+i.id+'\" as specified by style layer \"'+e.id+'\"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error(\"Unimplemented: \"+i.map((function(t){return t.command})).join(\", \")+\".\");return n.forEach((function(t){\"setTransition\"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(e,r),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event(\"data\",{dataType:\"style\"}))},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(e),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event(\"data\",{dataType:\"style\"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!r.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(r).join(\", \")+\".\");if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(r.type)>=0)||!this._validate(t.validateStyle.source,\"sources.\"+e,r,null,n)){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Ct(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source \"'+e+'\" cannot be removed while layer \"'+r+'\" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id \"'+i+'\" already exists on this map')));else{var a;if(\"custom\"===e.type){if(je(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if(\"object\"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,\"layers.\"+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&\"custom\"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]=\"clear\":(this._updatedSources[a.source]=\"reload\",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,\"layers.\"+i.id+\".filter\",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style.\")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;\"geojson\"===o&&i?this.fire(new t.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+n+\"' does not exist in the map's style.\")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o=\"vector\"===a?e.sourceLayer:void 0;\"vector\"!==a||o?r&&\"string\"!=typeof e.id&&\"number\"!=typeof e.id?this.fire(new t.ErrorEvent(new Error(\"A feature id is requred to remove its specific state property.\"))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+n+\"' does not exist in the map's style.\")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if(\"vector\"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+r+\"' does not exist in the map's style.\")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&\"raster\"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return\"fill-extrusion\"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var m=this._order[d];if(r(m))for(var g=i.length-1;g>=0;g--){var v=i[g].feature;if(n[v.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),tr=yr(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),er=yr(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}\"),rr=yr(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);}\"),nr=yr(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),ir=yr(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),ar=yr(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),or=yr(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),sr=yr(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),lr=yr(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),cr=yr(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),ur=yr(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),fr=yr(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define MAX_LINE_DISTANCE 32767.0\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),hr=yr(\"uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),pr=yr(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),dr=yr(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),mr=yr(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}\"),gr=yr(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),vr=yr(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\");function yr(t,e){var r=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,n={};return{fragmentSource:t=t.replace(r,(function(t,e,r,i,a){return n[a]=!0,\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nvarying \"+r+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+r+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+a+\"\\n \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"})),vertexSource:e=e.replace(r,(function(t,e,r,i,a){var o=\"float\"===i?\"vec2\":\"vec4\",s=a.match(/color/)?\"color\":o;return n[a]?\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float u_\"+a+\"_t;\\nattribute \"+r+\" \"+o+\" a_\"+a+\";\\nvarying \"+r+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+r+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"vec4\"===s?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n \"+a+\" = a_\"+a+\";\\n#else\\n \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n \"+a+\" = unpack_mix_\"+s+\"(a_\"+a+\", u_\"+a+\"_t);\\n#else\\n \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float u_\"+a+\"_t;\\nattribute \"+r+\" \"+o+\" a_\"+a+\";\\n#else\\nuniform \"+r+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"vec4\"===s?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n \"+r+\" \"+i+\" \"+a+\" = a_\"+a+\";\\n#else\\n \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n \"+r+\" \"+i+\" \"+a+\" = unpack_mix_\"+s+\"(a_\"+a+\", u_\"+a+\"_t);\\n#else\\n \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"}))}}var xr=Object.freeze({__proto__:null,prelude:Ye,background:We,backgroundPattern:Xe,circle:Ze,clippingMask:Je,heatmap:Ke,heatmapTexture:Qe,collisionBox:$e,collisionCircle:tr,debug:er,fill:rr,fillOutline:nr,fillOutlinePattern:ir,fillPattern:ar,fillExtrusion:or,fillExtrusionPattern:sr,hillshadePrepare:lr,hillshade:cr,line:ur,lineGradient:fr,linePattern:hr,lineSDF:pr,raster:dr,symbolIcon:mr,symbolSDF:gr,symbolTextAndIcon:vr}),br=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};br.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}_r.prototype.draw=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m){var g,v=t.gl;if(!this.failedToCreate){for(var y in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[y].set(o[y]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[v.LINES]=2,g[v.TRIANGLES]=3,g[v.LINE_STRIP]=1,g)[e],b=0,_=u.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new br)).bind(t,this,l,p?p.getPaintVertexBuffers():[],c,w.vertexOffset,d,m),v.drawElements(e,w.primitiveLength*x,v.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Tr=function(e,r,n,i){var a=r.style.light,o=a.properties.get(\"position\"),s=[o.x,o.y,o.z],l=t.create$1();\"viewport\"===a.properties.get(\"anchor\")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var c=a.properties.get(\"color\");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get(\"intensity\"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:i}},kr=function(e,r,n,i,a,o,s){return t.extend(Tr(e,r,n,i),wr(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Ar=function(t){return{u_matrix:t}},Mr=function(e,r,n,i){return t.extend(Ar(e),wr(n,r,i))},Sr=function(t,e){return{u_matrix:t,u_world:e}},Er=function(e,r,n,i,a){return t.extend(Mr(e,r,n,i),{u_world:a})},Lr=function(e,r,n,i){var a,o,s=e.transform;if(\"map\"===i.paint.get(\"circle-pitch-alignment\")){var l=pe(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+(\"map\"===i.paint.get(\"circle-pitch-scale\")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get(\"circle-translate\"),i.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},Cr=function(t,e,r){var n=pe(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},Pr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},Ir=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Or=function(t){return{u_matrix:t}},zr=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:pe(e,1,r),u_intensity:n}};function Dr(e,r){var n=Math.pow(2,r.canonical.z),i=r.canonical.y;return[new t.MercatorCoordinate(0,i/n).toLngLat().lat,new t.MercatorCoordinate(0,(i+1)/n).toLngLat().lat]}var Rr=function(e,r,n){var i=e.transform;return{u_matrix:Ur(e,r,n),u_ratio:1/pe(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Fr=function(e,r,n){return t.extend(Rr(e,r,n),{u_image:0})},Br=function(e,r,n,i){var a=e.transform,o=jr(r,a);return{u_matrix:Ur(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/pe(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Nr=function(e,r,n,i,a){var o=e.transform,s=e.lineAtlas,l=jr(r,o),c=\"round\"===n.layout.get(\"line-cap\"),u=s.getDash(i.from,c),f=s.getDash(i.to,c),h=u.width*a.fromScale,p=f.width*a.toScale;return t.extend(Rr(e,r,n),{u_patternscale_a:[l/h,-u.height/2],u_patternscale_b:[l/p,-f.height/2],u_sdfgamma:s.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:u.y,u_tex_y_b:f.y,u_mix:a.t})};function jr(t,e){return 1/pe(t,1,e.tileZoom)}function Ur(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get(\"line-translate\"),r.paint.get(\"line-translate-anchor\"))}var Vr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get(\"raster-brightness-min\"),u_brightness_high:i.paint.get(\"raster-brightness-max\"),u_saturation_factor:(o=i.paint.get(\"raster-saturation\"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get(\"raster-contrast\"),a>0?1/(1-a):1+a),u_spin_weights:Hr(i.paint.get(\"raster-hue-rotate\"))};var a,o};function Hr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var qr,Gr=function(t,e,r,n,i,a,o,s,l,c){var u=i.transform;return{u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},Yr=function(e,r,n,i,a,o,s,l,c,u,f){var h=a.transform;return t.extend(Gr(e,r,n,i,a,o,s,l,c,u),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Wr=function(e,r,n,i,a,o,s,l,c,u){return t.extend(Yr(e,r,n,i,a,o,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},Xr=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Zr=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,f=u*(n.tileID.canonical.x+n.tileID.wrap*c),h=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/pe(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},Jr={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_maxzoom:new t.Uniform1f(e,r.u_maxzoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function Kr(e,r,n,i,a,o,s){for(var l=e.context,c=l.gl,u=e.useProgram(\"collisionBox\"),f=[],h=0,p=0,d=0;d0){var _=t.create(),w=y;t.mul(_,v.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,v.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&u.draw(l,c.LINES,At.disabled,Mt.disabled,e.colorModeForRenderPass(),Et.disabled,Cr(y,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram(\"collisionCircle\"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var A=0,M=0,S=f;M=0&&(m[v.associatedIconIndex]={shiftedAnchor:S,angle:E})}else ue(v.numGlyphs,p)}if(f){d.clear();for(var C=e.icon.placedSymbolArray,P=0;P0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),f=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var un=new t.Color(1,0,0,1),fn=new t.Color(0,1,0,1),hn=new t.Color(0,0,1,1),pn=new t.Color(1,0,1,1),dn=new t.Color(0,1,1,1);function mn(t){var e=t.transform.padding;gn(t,t.transform.height-(e.top||0),3,un),gn(t,e.bottom||0,3,fn),vn(t,e.left||0,3,hn),vn(t,t.transform.width-(e.right||0),3,pn);var r=t.transform.centerPoint;!function(t,e,r,n){yn(t,e-1,r-10,2,20,n),yn(t,e-10,r-1,20,2,n)}(t,r.x,t.transform.height-r.y,dn)}function gn(t,e,r,n){yn(t,0,e+r/2,t.transform.width,r,n)}function vn(t,e,r,n){yn(t,e-r/2,0,r,t.transform.height,n)}function yn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function xn(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram(\"debug\"),l=At.disabled,c=Mt.disabled,u=e.colorModeForRenderPass();i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,c,u,Et.disabled,Ir(o,t.Color.red),\"$debug\",e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var f=r.getTileByID(n.key).latestRawTileData,h=f&&f.byteLength||0,p=Math.floor(h/1024),d=r.getTile(n).tileSize,m=512/Math.min(d,512)*(n.overscaledZ/e.transform.zoom)*.5,g=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(g+=\" => \"+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext(\"2d\");i.clearRect(0,0,r.width,r.height),i.shadowColor=\"white\",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle=\"white\",i.textBaseline=\"top\",i.font=\"bold 36px Open Sans, sans-serif\",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,g+\" \"+p+\"kb\"),s.draw(i,a.TRIANGLES,l,c,St.alphaBlended,Et.disabled,Ir(o,t.Color.transparent,m),\"$debug\",e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var bn={symbol:function(e,r,n,i,a){if(\"translucent\"===e.renderPass){var o=Mt.disabled,s=e.colorModeForRenderPass();n.layout.get(\"text-variable-anchor\")&&function(e,r,n,i,a,o,s){for(var l=r.transform,c=\"map\"===a,u=\"map\"===o,f=0,h=e;f256&&this.clearStencil(),r.setColorMode(St.disabled),r.setDepthMode(At.disabled);var i=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Mt({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},_n.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Mt({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},_n.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=u[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer0?e.pop():null},_n.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},_n.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=\"\"+t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[r]||(this.cache[r]=new _r(this.context,xr[t],e,Jr[t],this._showOverdrawInspector)),this.cache[r]},_n.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},_n.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},_n.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},_n.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var wn=function(t,e){this.points=t,this.planes=e};wn.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new wn(a,o)};var Tn=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};Tn.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,f=0;fthis.max[l]-this.min[l])return 0}return 1};var kn=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=t,this.bottom=e,this.left=r,this.right=n};kn.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},kn.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},kn.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},kn.prototype.clone=function(){return new kn(this.top,this.bottom,this.left,this.right)},kn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var An=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new kn,this._posMatrixCache={},this._alignedPosMatrixCache={}},Mn={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};An.prototype.clone=function(){var t=new An(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Mn.minZoom.get=function(){return this._minZoom},Mn.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Mn.maxZoom.get=function(){return this._maxZoom},Mn.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Mn.minPitch.get=function(){return this._minPitch},Mn.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},Mn.maxPitch.get=function(){return this._maxPitch},Mn.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},Mn.renderWorldCopies.get=function(){return this._renderWorldCopies},Mn.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Mn.worldSize.get=function(){return this.tileSize*this.scale},Mn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Mn.size.get=function(){return new t.Point(this.width,this.height)},Mn.bearing.get=function(){return-this.angle/Math.PI*180},Mn.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Mn.pitch.get=function(){return this._pitch/Math.PI*180},Mn.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Mn.fov.get=function(){return this._fov/Math.PI*180},Mn.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Mn.zoom.get=function(){return this._zoom},Mn.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Mn.center.get=function(){return this._center},Mn.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Mn.padding.get=function(){return this._edgeInsets.toJSON()},Mn.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},Mn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},An.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},An.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},An.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},An.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new t.UnwrappedTileID(c,e));return r},An.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=wn.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var c=function(t){return{aabb:new Tn([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},u=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)u.push(c(-d)),u.push(c(d));for(u.push(c(0));u.length>0;){var m=u.pop(),g=m.x,v=m.y,y=m.fullyVisible;if(!y){var x=m.aabb.intersects(s);if(0===x)continue;y=2===x}var b=m.aabb.distanceX(o),_=m.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),T=3+(1<T&&m.zoom>=l)f.push({tileID:new t.OverscaledTileID(m.zoom===h?p:m.zoom,m.wrap,m.zoom,g,v),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-v])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(v<<1)+(k>>1);u.push({aabb:m.aabb.quadrant(k),zoom:m.zoom+1,x:A,y:M,wrap:m.wrap,fullyVisible:y})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},An.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Mn.unmodified.get=function(){return this._unmodified},An.prototype.zoomScale=function(t){return Math.pow(2,t)},An.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},An.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},An.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Mn.point.get=function(){return this.project(this.center)},An.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},An.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},An.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},An.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},An.prototype.coordinateLocation=function(t){return t.toLngLat()},An.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,c=n[1]/a,u=r[2]/i,f=n[2]/a,h=u===f?0:(0-u)/(f-u);return new t.MercatorCoordinate(t.number(o,s,h)/this.worldSize,t.number(l,c,h)/this.worldSize)},An.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},An.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},An.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},An.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},An.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},An.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},An.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var v=p.x,y=c.x/2;v-yl&&(n=l-y)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=u,this._constraining=!1}},An.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,c=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),u=this.height/50,f=new Float64Array(16);t.perspective(f,this._fov,this.width/this.height,u,c),f[8]=2*-r.x/this.width,f[9]=2*r.y/this.height,t.scale(f,f,[1,-1,1]),t.translate(f,f,[0,0,-this.cameraToCenterDistance]),t.rotateX(f,f,this._pitch),t.rotateZ(f,f,this.angle),t.translate(f,f,[-s,-l,0]),this.mercatorMatrix=t.scale([],f,[this.worldSize,this.worldSize,this.worldSize]),t.scale(f,f,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=f,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),m=Math.sin(this.angle),g=s-Math.round(s)+d*h+m*p,v=l-Math.round(l)+d*p+m*h,y=new Float64Array(f);if(t.translate(y,y,[g>.5?g-1:g,v>.5?v-1:v,0]),this.alignedProjMatrix=y,f=t.create(),t.scale(f,f,[this.width/2,-this.height/2,1]),t.translate(f,f,[1,-1,0]),this.labelPlaneMatrix=f,f=t.create(),t.scale(f,f,[1,-1,1]),t.translate(f,f,[-1,-1,0]),t.scale(f,f,[2/this.width,2/this.height,1]),this.glCoordMatrix=f,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(f=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=f,this._posMatrixCache={},this._alignedPosMatrixCache={}}},An.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},An.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},An.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},Sn.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,\"\",e)}catch(t){}};var En={linearity:.3,easing:t.bezier(0,0,.3,1)},Ln=t.extend({deceleration:2500,maxSpeed:1400},En),Cn=t.extend({deceleration:20,maxSpeed:1400},En),Pn=t.extend({deceleration:1e3,maxSpeed:360},En),In=t.extend({deceleration:1e3,maxSpeed:90},En),On=function(t){this._map=t,this.clear()};function zn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},On.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Rn(t.type,this._map,t))},Nn.prototype.dblclick=function(t){return this._firePreventable(new Rn(t.type,this._map,t))},Nn.prototype.mouseover=function(t){this._map.fire(new Rn(t.type,this._map,t))},Nn.prototype.mouseout=function(t){this._map.fire(new Rn(t.type,this._map,t))},Nn.prototype.touchstart=function(t){return this._firePreventable(new Fn(t.type,this._map,t))},Nn.prototype.touchmove=function(t){this._map.fire(new Fn(t.type,this._map,t))},Nn.prototype.touchend=function(t){this._map.fire(new Fn(t.type,this._map,t))},Nn.prototype.touchcancel=function(t){this._map.fire(new Fn(t.type,this._map,t))},Nn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Nn.prototype.isEnabled=function(){return!0},Nn.prototype.isActive=function(){return!1},Nn.prototype.enable=function(){},Nn.prototype.disable=function(){};var jn=function(t){this._map=t};jn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},jn.prototype.mousemove=function(t){this._map.fire(new Rn(t.type,this._map,t))},jn.prototype.mousedown=function(){this._delayContextMenu=!0},jn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Rn(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},jn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Rn(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault()},jn.prototype.isEnabled=function(){return!0},jn.prototype.isActive=function(){return!1},jn.prototype.enable=function(){},jn.prototype.disable=function(){};var Un=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Vn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Hn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var qn=function(t){this.singleTap=new Hn(t),this.numTaps=t.numTaps,this.reset()};qn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},qn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},qn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},qn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Gn=function(){this._zoomIn=new qn({numTouches:1,numTaps:2}),this._zoomOut=new qn({numTouches:2,numTaps:1}),this.reset()};Gn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Gn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Gn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Gn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Gn.prototype.touchcancel=function(){this.reset()},Gn.prototype.enable=function(){this._enabled=!0},Gn.prototype.disable=function(){this._enabled=!1,this.reset()},Gn.prototype.isEnabled=function(){return this._enabled},Gn.prototype.isActive=function(){return this._active};var Yn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Yn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Yn.prototype._correctButton=function(t,e){return!1},Yn.prototype._move=function(t,e){return{}},Yn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Yn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r&&(t.preventDefault(),this._moved||!(e.dist(r)0&&(this._active=!0);var i=Vn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var c=i[l],u=this._touches[l];u&&(a._add(c),o._add(c.sub(u)),s++,i[l]=c)}if(this._touches=i,!(sMath.abs(t.x)}var ii=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ni(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid){this._lastPoints=t,this._active=!0;return{pitchDelta:-.5*((n.y+i.y)/2)}}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ni(t)&&ni(e)&&a}},e}(Kn),ai={panStep:100,bearingStep:15,pitchStep:10},oi=function(){var t=ai;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep};function si(t){return t*(2-t)}oi.prototype.reset=function(){this._active=!1},oi.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:\"keyboardHandler\",easing:si,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},oi.prototype.enable=function(){this._enabled=!0},oi.prototype.disable=function(){this._enabled=!1,this.reset()},oi.prototype.isEnabled=function(){return this._enabled},oi.prototype.isActive=function(){return this._active};var li=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll([\"_onWheel\",\"_onTimeout\",\"_onScrollFrame\",\"_onScrollFinished\"],this)};li.prototype.setZoomRate=function(t){this._defaultZoomRate=t},li.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},li.prototype.isEnabled=function(){return!!this._enabled},li.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},li.prototype.isZooming=function(){return!!this._zooming},li.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},li.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},li.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type=\"wheel\":0!==r&&Math.abs(r)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},li.prototype._onTimeout=function(t){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t)},li.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},li.prototype.renderFrame=function(){return this._onScrollFrame()},li.prototype._onScrollFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n=\"wheel\"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a=\"number\"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),\"wheel\"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s=\"number\"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,c=this._easing,u=!1;if(\"wheel\"===this._type&&l&&c){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=c(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):u=!0}else o=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},li.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},li.prototype.reset=function(){this._active=!1};var ci=function(t,e){this._clickZoom=t,this._tapZoom=e};ci.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},ci.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},ci.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},ci.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var ui=function(){this.reset()};ui.prototype.reset=function(){this._active=!1},ui.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},ui.prototype.enable=function(){this._enabled=!0},ui.prototype.disable=function(){this._enabled=!1,this.reset()},ui.prototype.isEnabled=function(){return this._enabled},ui.prototype.isActive=function(){return this._active};var fi=function(){this._tap=new qn({numTouches:1,numTaps:1}),this.reset()};fi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},fi.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},fi.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},fi.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},fi.prototype.touchcancel=function(){this.reset()},fi.prototype.enable=function(){this._enabled=!0},fi.prototype.disable=function(){this._enabled=!1,this.reset()},fi.prototype.isEnabled=function(){return this._enabled},fi.prototype.isActive=function(){return this._active};var hi=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};hi.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},hi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},hi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},hi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var pi=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};pi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},pi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},pi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},pi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var di=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};di.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},di.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},di.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},di.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},di.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},di.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var mi=function(t){return t.zoom||t.drag||t.pitch||t.rotate},gi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(t.Event);function vi(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var yi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new On(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var i=this._el;this._listeners=[[i,\"touchstart\",{passive:!1}],[i,\"touchmove\",{passive:!1}],[i,\"touchend\",void 0],[i,\"touchcancel\",void 0],[i,\"mousedown\",void 0],[i,\"mousemove\",void 0],[i,\"mouseup\",void 0],[t.window.document,\"mousemove\",{capture:!0}],[t.window.document,\"mouseup\",void 0],[i,\"mouseover\",void 0],[i,\"mouseout\",void 0],[i,\"dblclick\",void 0],[i,\"click\",void 0],[i,\"keydown\",{capture:!1}],[i,\"keyup\",void 0],[i,\"wheel\",{passive:!1}],[i,\"contextmenu\",void 0],[t.window,\"blur\",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(m));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event(\"movestart\",e)),this._zooming&&!n.zooming&&this.fire(new t.Event(\"zoomstart\",e)),this._rotating&&!n.rotating&&this.fire(new t.Event(\"rotatestart\",e)),this._pitching&&!n.pitching&&this.fire(new t.Event(\"pitchstart\",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event(\"move\",e)),this._zooming&&this.fire(new t.Event(\"zoom\",e)),this._rotating&&this.fire(new t.Event(\"rotate\",e)),this._pitching&&this.fire(new t.Event(\"pitch\",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event(\"zoomend\",e)),i&&this.fire(new t.Event(\"rotateend\",e)),a&&this.fire(new t.Event(\"pitchend\",e)),this.fire(new t.Event(\"moveend\",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u=\"zoom\"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f=\"bearing\"in e?this._normalizeBearing(e.bearing,s):s,h=\"pitch\"in e?+e.pitch:l,p=\"padding\"in e?e.padding:a.padding,d=a.zoomScale(u-o),m=t.Point.convert(e.offset),g=a.centerPoint.add(m),v=a.pointLocation(g),y=t.LngLat.convert(e.center||v);this._normalizeCenter(y);var x=a.project(v),b=a.project(y).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if(\"minZoom\"in e){var A=t.clamp(Math.min(e.minZoom,o,u),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function L(t){return(Math.exp(t)-Math.exp(-t))/2}function C(t){return(Math.exp(t)+Math.exp(-t))/2}var P=E(0),I=function(t){return C(P)/C(P+_*t)},O=function(t){return w*((C(P)*(L(e=P+_*t)/C(e))-L(P))/S)/k;var e},z=(E(1)-P)/_;if(Math.abs(k)<1e-6||!isFinite(z)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var D=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*z,d=1/I(i);a.zoom=1===e?u:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(c,p,e),g=a.centerPoint.add(m));var v=1===e?y:a.unproject(x.add(b.mult(O(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?v.wrap():v,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop()}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),bi=function(e){void 0===e&&(e={}),this.options=e,t.bindAll([\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};bi.prototype.getDefaultPosition=function(){return\"bottom-right\"},bi.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._innerContainer=r.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),e&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===e&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},bi.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._attribHTML=void 0},bi.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var r=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+\"=\"+e.value+(n=0)return!1;return!0}))).join(\" | \");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},bi.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\")};var _i=function(){t.bindAll([\"_updateLogo\"],this),t.bindAll([\"_updateCompact\"],this)};_i.prototype.onAdd=function(t){this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl\");var e=r.create(\"a\",\"mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://www.mapbox.com/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},_i.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},_i.prototype.getDefaultPosition=function(){return\"bottom-left\"},_i.prototype._updateLogo=function(t){t&&\"metadata\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\")},_i.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t){if(t[e].getSource().mapbox_logo)return!0}return!1}},_i.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add(\"mapboxgl-compact\"):e.classList.remove(\"mapboxgl-compact\")}};var wi=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};wi.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},wi.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=e.minPitch&&e.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=e.maxPitch&&e.maxPitch>60)throw new Error(\"maxPitch must be less than or equal to 60\");var i=new An(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new wi,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Ti,e.locale),this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),\"string\"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else{if(!(e.container instanceof Ai))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",(function(){return r._update(!1)})),this.on(\"moveend\",(function(){return r._update(!1)})),this.on(\"zoom\",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener(\"online\",this._onWindowOnline,!1),t.window.addEventListener(\"resize\",this._onWindowResize,!1)),this.handlers=new yi(this,e);var a=\"string\"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new Sn(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new bi({customAttribution:e.customAttribution})),this.addControl(new _i,e.logoPosition),this.on(\"style.load\",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on(\"data\",(function(e){r._update(\"style\"===e.dataType),r.fire(new t.Event(e.dataType+\"data\",e))})),this.on(\"dataloading\",(function(e){r.fire(new t.Event(e.dataType+\"dataloading\",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r=\"top-right\"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf(\"bottom\")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event(\"movestart\",e)).fire(new t.Event(\"move\",e))),this.fire(new t.Event(\"resize\",e)),a&&this.fire(new t.Event(\"moveend\",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()60)throw new Error(\"maxPitch must be less than or equal to 60\");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if(\"mouseenter\"===t||\"mouseover\"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Rn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if(\"mouseleave\"===t||\"mouseout\"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Rn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Rn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ii.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ii.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ii.prototype.off=function(){var t=this.element;r.removeEventListener(t,\"mousedown\",this.mousedown),r.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),r.removeEventListener(t,\"touchmove\",this.touchmove),r.removeEventListener(t,\"touchend\",this.touchend),r.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp()},Ii.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,\"mousemove\",this.mousemove),r.removeEventListener(t.window,\"mouseup\",this.mouseup)},Ii.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,\"mousemove\",this.mousemove),r.addEventListener(t.window,\"mouseup\",this.mouseup)},Ii.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ii.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ii.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ii.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ii.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)e.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event(\"outofmaxbounds\",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\")}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"geolocate\",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+\"px\",this._circleElement.style.height=i+\"px\"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;var r=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=r,this._geolocateButton.setAttribute(\"aria-label\",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&ji)return;this._setErrorState()}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"error\",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this._geolocateButton=r.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",!1===e){t.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var i=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute(\"aria-label\",i)}else{var a=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=a,this._geolocateButton.setAttribute(\"aria-label\",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=r.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Fi(this._dotElement),this._circleElement=r.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Fi({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(function(e){var r=e.originalEvent&&\"resize\"===e.originalEvent.type;e.geolocateSource||\"ACTIVE_LOCK\"!==n._watchState||r||(n._watchState=\"BACKGROUND\",n._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),n._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),n.fire(new t.Event(\"trackuserlocationend\")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Ni--,ji=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new t.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event(\"trackuserlocationstart\"))}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\")}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),++Ni>1?(e={maximumAge:6e5,timeout:0},ji=!0):(e=this.options.positionOptions,ji=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Vi={maxWidth:100,unit:\"metric\"},Hi=function(e){this.options=t.extend({},Vi,e),t.bindAll([\"_onMove\",\"setUnit\"],this)};function qi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&\"imperial\"===r.unit){var l=3.2808*s;if(l>5280)Gi(e,n,l/5280,t._getUIString(\"ScaleControl.Miles\"));else Gi(e,n,l,t._getUIString(\"ScaleControl.Feet\"))}else if(r&&\"nautical\"===r.unit){Gi(e,n,s/1852,t._getUIString(\"ScaleControl.NauticalMiles\"))}else s>=1e3?Gi(e,n,s/1e3,t._getUIString(\"ScaleControl.Kilometers\")):Gi(e,n,s,t._getUIString(\"ScaleControl.Meters\"))}function Gi(t,e,r,n){var i,a,o,s=(i=r,a=Math.pow(10,(\"\"+Math.floor(i)).length-1),o=(o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o),a*o),l=s/r;t.style.width=e*l+\"px\",t.innerHTML=s+\" \"+n}Hi.prototype.getDefaultPosition=function(){return\"bottom-left\"},Hi.prototype._onMove=function(){qi(this._map,this._container,this.options)},Hi.prototype.onAdd=function(t){return this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},Hi.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Hi.prototype.setUnit=function(t){this.options.unit=t,qi(this._map,this._container,this.options)};var Yi=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce(\"Full screen control 'container' must be a DOM element.\")),t.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in t.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in t.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in t.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in t.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};Yi.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",t.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},Yi.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Yi.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Yi.prototype._setupUI=function(){var e=this._fullscreenButton=r.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);r.create(\"span\",\"mapboxgl-ctrl-icon\",e).setAttribute(\"aria-hidden\",!0),e.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Yi.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t},Yi.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},Yi.prototype._isFullscreen=function(){return this._fullscreen},Yi.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},Yi.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Wi={closeButton:!0,closeOnClick:!0,className:\"\",maxWidth:\"240px\"},Xi=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Wi),r),t.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new t.Event(\"open\")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new t.Event(\"close\")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement(\"body\");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=r.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(e){var n=this,i=this._lngLat||this._trackPointer;if(this._map&&i&&this._content&&(this._container||(this._container=r.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=r.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach((function(t){return n._container.classList.add(t)})),this._trackPointer&&this._container.classList.add(\"mapboxgl-popup-track-pointer\")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Oi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var a=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),o=this.options.anchor,s=function e(r){if(r){if(\"number\"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.Point(0,0),top:new t.Point(0,r),\"top-left\":new t.Point(n,n),\"top-right\":new t.Point(-n,n),bottom:new t.Point(0,-r),\"bottom-left\":new t.Point(n,-n),\"bottom-right\":new t.Point(-n,-n),left:new t.Point(r,0),right:new t.Point(-r,0)}}if(r instanceof t.Point||Array.isArray(r)){var i=t.Point.convert(r);return{center:i,top:i,\"top-left\":i,\"top-right\":i,bottom:i,\"bottom-left\":i,\"bottom-right\":i,left:i,right:i}}return{center:t.Point.convert(r.center||[0,0]),top:t.Point.convert(r.top||[0,0]),\"top-left\":t.Point.convert(r[\"top-left\"]||[0,0]),\"top-right\":t.Point.convert(r[\"top-right\"]||[0,0]),bottom:t.Point.convert(r.bottom||[0,0]),\"bottom-left\":t.Point.convert(r[\"bottom-left\"]||[0,0]),\"bottom-right\":t.Point.convert(r[\"bottom-right\"]||[0,0]),left:t.Point.convert(r.left||[0,0]),right:t.Point.convert(r.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!o){var l,c=this._container.offsetWidth,u=this._container.offsetHeight;l=a.y+s.bottom.ythis._map.transform.height-u?[\"bottom\"]:[],a.xthis._map.transform.width-c/2&&l.push(\"right\"),o=0===l.length?\"bottom\":l.join(\"-\")}var f=a.add(s[o]).round();r.setTransform(this._container,zi[o]+\" translate(\"+f.x+\"px,\"+f.y+\"px)\"),Di(this._container,o,\"popup\")}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);var Zi={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Ei,NavigationControl:Pi,GeolocateControl:Ui,AttributionControl:bi,ScaleControl:Hi,FullscreenControl:Yi,Popup:Xi,Marker:Fi,Style:qe,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){Bt().acquire(zt)},clearPrewarmedResources:function(){var t=Rt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(zt),Rt=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Dt.workerCount},set workerCount(t){Dt.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:\"\"};return Zi})),r}))},{}],240:[function(t,e,r){\"use strict\";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],241:[function(t,e,r){\"use strict\";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);\"buttons\"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function m(t){c(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener(\"mousemove\",p),t.addEventListener(\"mousedown\",d),t.addEventListener(\"mouseup\",m),t.addEventListener(\"mouseleave\",u),t.addEventListener(\"mouseenter\",u),t.addEventListener(\"mouseout\",u),t.addEventListener(\"mouseover\",u),t.addEventListener(\"blur\",f),t.addEventListener(\"keyup\",h),t.addEventListener(\"keydown\",h),t.addEventListener(\"keypress\",h),t!==window&&(window.addEventListener(\"blur\",f),window.addEventListener(\"keyup\",h),window.addEventListener(\"keydown\",h),window.addEventListener(\"keypress\",h)))}g();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?g():function(){if(!s)return;s=!1,t.removeEventListener(\"mousemove\",p),t.removeEventListener(\"mousedown\",d),t.removeEventListener(\"mouseup\",m),t.removeEventListener(\"mouseleave\",u),t.removeEventListener(\"mouseenter\",u),t.removeEventListener(\"mouseout\",u),t.removeEventListener(\"mouseover\",u),t.removeEventListener(\"blur\",f),t.removeEventListener(\"keyup\",h),t.removeEventListener(\"keydown\",h),t.removeEventListener(\"keypress\",h),t!==window&&(window.removeEventListener(\"blur\",f),window.removeEventListener(\"keyup\",h),window.removeEventListener(\"keydown\",h),window.removeEventListener(\"keypress\",h))}()},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t(\"mouse-event\")},{\"mouse-event\":243}],242:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],243:[function(t,e,r){\"use strict\";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<0&&o(l,r))}catch(t){f.call(new p(r),t)}}}function f(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&o(l,e))}function h(t,e,r,n){for(var i=0;i1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*g*g-x*m*m)/(y*g*g+x*m*m)));b==1/0&&(b=1);var _=b*r*g/a+(t+f)/2,w=b*-a*m/r+(e+h)/2,T=Math.asin(((e-w)/a).toFixed(9)),k=Math.asin(((h-w)/a).toFixed(9));(T=t<_?n-T:T)<0&&(T=2*n+T),(k=f<_?n-k:k)<0&&(k=2*n+k),u&&T>k&&(T-=2*n),!u&&k>T&&(k-=2*n)}if(Math.abs(k-T)>i){var A=k,M=f,S=h;k=T+i*(u&&k>T?1:-1);var E=s(f=_+r*Math.cos(k),h=w+a*Math.sin(k),r,a,o,0,u,M,S,[k,A,_,w])}var L=Math.tan((k-T)/4),C=4/3*r*L,P=4/3*a*L,I=[2*t-(t+C*Math.sin(T)),2*e-(e-P*Math.cos(T)),f+C*Math.sin(k),h-P*Math.cos(k),f,h];if(p)return I;E&&(I=I.concat(E));for(var O=0;O7&&(r.push(v.splice(0,7)),v.unshift(\"C\"));break;case\"S\":var x=p,b=d;\"C\"!=e&&\"S\"!=e||(x+=x-n,b+=b-i),v=[\"C\",x,b,v[1],v[2],v[3],v[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),v=o(p,d,f,h,v[1],v[2]);break;case\"Q\":f=v[1],h=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case\"L\":v=a(p,d,v[1],v[2]);break;case\"H\":v=a(p,d,v[1],d);break;case\"V\":v=a(p,d,p,v[1]);break;case\"Z\":v=a(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],i=v[v.length-3]):(n=p,i=d),r.push(v)}return r}},{}],247:[function(t,e,r){\n", - "/*\n", - "object-assign\n", - "(c) Sindre Sorhus\n", - "@license MIT\n", - "*/\n", - "\"use strict\";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}e.exports=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(t){n[t]=t})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,s,l=o(t),c=1;c1e4)throw Error(\"References have circular dependency. Please, check them.\");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp(\"(\\\\\"+i+r+\"\\\\\"+i+\")\",\"g\"),t[0]+\"$1\"+t[1])})),e}))}));var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error(\"Circular references in parenthesis\");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function i(t,e){if(e&&e.flat){var r,n=e&&e.escape||\"___\",i=t[0];if(!i)return\"\";for(var a=new RegExp(\"\\\\\"+n+\"([0-9]+)\\\\\"+n),o=0;i!=r;){if(o++>1e4)throw Error(\"Circular references in \"+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,\"\")),e+r}),\"\");function s(e,r){if(null==t[r])throw Error(\"Reference \"+r+\"is undefined\");return t[r]}}function a(t,e){return Array.isArray(t)?i(t,e):n(t,e)}a.parse=n,a.stringify=i,e.exports=a},{}],249:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\");e.exports=function(t){var e;arguments.length>1&&(t=arguments);\"string\"==typeof t?t=t.split(/\\s/).map(parseFloat):\"number\"==typeof t&&(t=[t]);t.length&&\"number\"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{\"pick-by-alias\":253}],250:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,(function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),\"m\"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o=\"l\",r=\"m\"==r?\"l\":\"L\");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},{}],257:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0}))}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,c,u);if(!1===f){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var h=e.pointsSame(o,c),p=e.pointsSame(s,u);if(h&&p)return n;var d=!h&&e.pointBetween(o,c,u),m=!p&&e.pointBetween(s,c,u);if(h)return m?l(n,s):l(t,u),n;d&&(p||(m?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,u)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=c(h),d=p.before?p.before.ev:null,m=p.after?p.after.ev:null;function g(){if(d){var t=u(h,d);if(t)return t}return!!m&&u(h,m)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!m&&m.seg);var v,y=g();if(y){var x;if(t)(x=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above);else y.seg.otherFill=h.seg.myFill;r&&r.segmentUpdate(y.seg),h.other.remove(),h.remove()}if(a.getHead()!==h){r&&r.rewind(h.seg);continue}if(t)x=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=m?m.seg.myFill.above:i,h.seg.myFill.above=x?!h.seg.myFill.below:h.seg.myFill.below;else if(null===h.seg.otherFill)v=m?h.primary===m.primary?m.seg.otherFill.above:m.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:v,below:v};r&&r.status(h.seg,!!d&&d.seg,!!m&&m.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},a.prototype.read_uint16=function(t){var e=this.input;if(t+2>e.length)throw n(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?256*e[t]+e[t+1]:e[t]+256*e[t+1]},a.prototype.read_uint32=function(t){var e=this.input;if(t+4>e.length)throw n(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?16777216*e[t]+65536*e[t+1]+256*e[t+2]+e[t+3]:e[t]+256*e[t+1]+65536*e[t+2]+16777216*e[t+3]},a.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},a.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},a.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return r=this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return r=this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return r=this.read_uint32(e);case 9:return 0|(r=this.read_uint32(e));case 5:case 10:case 11:case 12:case 7:default:return null}},a.prototype.scan_ifd=function(t,e,r){var a=this.read_uint16(e);e+=2;for(var o=0;othis.input.length)throw n(\"unexpected EOF\",\"EBADDATA\");for(var d=[],m=h,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===r({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:c,entry_offset:e+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);e+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(e)})},e.exports.ExifParser=a,e.exports.get_orientation=function(t){var e=0;try{return new a(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},{}],264:[function(t,e,r){\"use strict\";var n=t(\"./common\").readUInt16BE,i=t(\"./common\").readUInt32BE;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,c=0;ce.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(\"imir\"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),\"irot\"===t.type)for(var n=0;n1&&(h.variants=f.variants),f.orientation&&(h.orientation=f.orientation),f.exif_location&&f.exif_location.offset+f.exif_location.length<=t.length){var p=a(t,f.exif_location.offset),d=t.slice(f.exif_location.offset+p+4,f.exif_location.offset+f.exif_location.length),m=s.get_orientation(d);m>0&&(h.orientation=m)}return h}}}}}}},{\"../common\":262,\"../exif_utils\":263,\"../miaf_utils\":264}],266:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt16LE,o=n(\"BM\");e.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}},{\"../common\":262}],267:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt16LE,o=n(\"GIF87a\"),s=n(\"GIF89a\");e.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}},{\"../common\":262}],268:[function(t,e,r){\"use strict\";var n=t(\"../common\").readUInt16LE;e.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||c>o.height)&&(o=u)}return{width:o.width,height:o.height,variants:a,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}},{\"../common\":262}],269:[function(t,e,r){\"use strict\";var n=t(\"../common\").readUInt16BE,i=t(\"../common\").str2arr,a=t(\"../common\").sliceEq,o=t(\"../exif_utils\"),s=i(\"Exif\\0\\0\");e.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(c.orientation=i),c}e+=r}}},{\"../common\":262,\"../exif_utils\":263}],270:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt32BE,o=n(\"\\x89PNG\\r\\n\\x1a\\n\"),s=n(\"IHDR\");e.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}},{\"../common\":262}],271:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt32BE,o=n(\"8BPS\\0\\x01\");e.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}},{\"../common\":262}],272:[function(t,e,r){\"use strict\";function n(t){return\"number\"==typeof t&&isFinite(t)&&t>0}var i=/<[-_.:a-zA-Z0-9][^>]*>/,a=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,o=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,s=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,l=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,c=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function u(t){return c.test(t)?t.match(c)[0]:\"px\"}e.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function h(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||u(t,e+8):\"VP8L\"===p&&d>=9?r=r||f(t,e+8):\"VP8X\"===p&&d>=10?r=r||h(t,e+8):\"EXIF\"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},{\"../common\":262,\"../exif_utils\":263}],275:[function(t,e,r){\"use strict\";e.exports={avif:t(\"./parse_sync/avif\"),bmp:t(\"./parse_sync/bmp\"),gif:t(\"./parse_sync/gif\"),ico:t(\"./parse_sync/ico\"),jpeg:t(\"./parse_sync/jpeg\"),png:t(\"./parse_sync/png\"),psd:t(\"./parse_sync/psd\"),svg:t(\"./parse_sync/svg\"),tiff:t(\"./parse_sync/tiff\"),webp:t(\"./parse_sync/webp\")}},{\"./parse_sync/avif\":265,\"./parse_sync/bmp\":266,\"./parse_sync/gif\":267,\"./parse_sync/ico\":268,\"./parse_sync/jpeg\":269,\"./parse_sync/png\":270,\"./parse_sync/psd\":271,\"./parse_sync/svg\":272,\"./parse_sync/tiff\":273,\"./parse_sync/webp\":274}],276:[function(t,e,r){\"use strict\";var n=t(\"./lib/parsers_sync\");e.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,c){var u=x[c];return t?(\"function\"==typeof t?t={after:t}:\"number\"==typeof t[0]&&(t={positions:t}),t=o(t,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),a(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,\"float64\"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t=\"transparent\"),!Array.isArray(t)||\"number\"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\tbTopCoord -= normalWidth * endTopJoin;\\n\\t\\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\\n\\t}\\n\\n\\tif (nextReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\\n\\t\\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\taBotCoord -= normalWidth * startBotJoin;\\n\\t\\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\\n\\t}\\n\\n\\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\\n\\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\\n\\n\\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\\n\\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\\n\\n\\t//position is normalized 0..1 coord on the screen\\n\\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\\n\\n\\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\\n\\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\\n\\n\\t//bevel miter cutoffs\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n\\n\\t//round miter cutoffs\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\\nuniform sampler2D dashTexture;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nvoid main() {\\n\\tfloat alpha = 1., distToStart, distToEnd;\\n\\tfloat cutoff = thickness * .5;\\n\\n\\t//bevel miter\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToStart + 1., 0.), 1.);\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToEnd + 1., 0.), 1.);\\n\\t\\t}\\n\\t}\\n\\n\\t// round miter\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - startCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - endCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\\n\\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\\n\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:\"triangle\",elements:function(t,e){return e.triangles},offset:0,vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\n\\nuniform vec4 color;\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio, id;\\nuniform vec4 viewport;\\nuniform float opacity;\\n\\nvarying vec4 fragColor;\\n\\nconst float MAX_LINES = 256.;\\n\\nvoid main() {\\n\\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\\n\\n\\tvec2 position = position * scale + translate\\n + positionFract * scale + translateFract\\n + position * scaleFract\\n + positionFract * scaleFract;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n\\tfragColor.a *= opacity;\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n\\tgl_FragColor = fragColor;\\n}\\n\"]),uniforms:{scale:t.prop(\"scale\"),color:t.prop(\"fill\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},v.defaults={dashes:null,join:\"miter\",miterLimit:1,thickness:10,cap:\"square\",color:\"black\",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},v.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},v.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);\"number\"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>v.precisionThreshold||e.scale[1]*e.viewport.height>v.precisionThreshold||\"rect\"===e.join||!e.join&&(e.thickness<=2||e.count>=v.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},v.prototype.update=function(t){var e=this;if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach((function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if(\"number\"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:\"positions points data coords\",thickness:\"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth\",join:\"lineJoin linejoin join type mode\",miterLimit:\"miterlimit miterLimit\",dashes:\"dash dashes dasharray dash-array dashArray\",color:\"color colour stroke colors colours stroke-color strokeColor\",fill:\"fill fill-color fillColor\",opacity:\"alpha opacity\",overlay:\"overlay crease overlap intersect\",close:\"closed close closed-path closePath\",range:\"range dataBox\",viewport:\"viewport viewBox\",hole:\"holes hole hollow\",splitNull:\"splitNull\"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:r.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},t=a({},v.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f=D}));(I=I.slice(0,R)).push(D)}for(var F=function(t){var e=k.slice(2*z,2*I[t]).concat(D?k.slice(2*D):[]),r=(d.hole||[]).map((function(e){return e-D+(I[t]-z)})),n=c(e,r);n=n.map((function(e){return e+z+(e+zt.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\\n\\t\\tdiscard;\\n\\t}\\n\\n\\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\\n\\n\\tfloat borderRadius = fragBorderRadius;\\n\\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\\n\\tvec4 color = mix(fragColor, fragBorderColor, ratio);\\n\\tcolor.a *= alpha * opacity;\\n\\tgl_FragColor = color;\\n}\\n\"]),l.vert=h([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute float x, y, xFract, yFract;\\nattribute float size, borderSize;\\nattribute vec4 colorId, borderColorId;\\nattribute float isActive;\\n\\nuniform bool constPointSize;\\nuniform float pixelRatio;\\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\\nuniform sampler2D paletteTexture;\\n\\nconst float maxSize = 100.;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth;\\n\\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\\n\\nbool isDirect = (paletteSize.x < 1.);\\n\\nvec4 getColor(vec4 id) {\\n return isDirect ? id / 255. : texture2D(paletteTexture,\\n vec2(\\n (id.x + .5) / paletteSize.x,\\n (id.y + .5) / paletteSize.y\\n )\\n );\\n}\\n\\nvoid main() {\\n // ignore inactive points\\n if (isActive == 0.) return;\\n\\n vec2 position = vec2(x, y);\\n vec2 positionFract = vec2(xFract, yFract);\\n\\n vec4 color = getColor(colorId);\\n vec4 borderColor = getColor(borderColorId);\\n\\n float size = size * maxSize / 255.;\\n float borderSize = borderSize * maxSize / 255.;\\n\\n gl_PointSize = (size + borderSize) * pointSizeScale;\\n\\n vec2 pos = (position + translate) * scale\\n + (positionFract + translateFract) * scale\\n + (position + translate) * scaleFract\\n + (positionFract + translateFract) * scaleFract;\\n\\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\\n\\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\\n fragColor = color;\\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\\n fragWidth = 1. / gl_PointSize;\\n}\\n\"]),g&&(l.frag=l.frag.replace(\"smoothstep\",\"smoothStep\"),s.frag=s.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=t(l)}b.defaults={color:\"black\",borderColor:\"transparent\",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},b.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},b.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:\"points\",usage:\"static\",data:e.tree,type:\"uint32\"};e.elements?e.elements(h):e.elements=o.elements(h)}var p=v.float32(t);return i({data:p,usage:\"dynamic\"}),a({data:v.fract32(t,p),usage:\"dynamic\"}),s({data:new Uint8Array(c),type:\"uint8\",usage:\"stream\"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&\"number\"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},b.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x+s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y+l.height),[a,n,o,i]}function p(t){if(\"number\"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=a(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function l(t){return!!t&&\"object\"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&\"number\"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||J(t.data))}function c(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if(\"number\"==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||J(t)||l(t)?e=t:(\"data\"in t&&(e=t.data),\"usage\"in t&&(r=et[t.usage]),\"primitive\"in t&&(n=at[t.primitive]),\"count\"in t&&(i=0|t.count),\"type\"in t&&(h=u[t.type]),\"length\"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return s}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,s(t),s._reglType=\"elements\",s._elements=f,s.subdata=function(t,e){return c.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return\"function\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){K(s).forEach(o)}}}function m(t){for(var e=X.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(yt).forEach((function(e){t+=yt[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;P.call(r);var a=L();return\"number\"==typeof t?M(a,0|t,\"number\"==typeof e?0|e:0|t):t?(I(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),O(r,3553),R(),C(a),o.profile&&(i.stats.size=T(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=tt[i.internalformat],n.type=et[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new z(3553);return yt[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return c(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),R(),k(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,D(i);for(var l=0;i.mipmask>>l;++l){var c=a>>l,u=s>>l;if(!c||!u)break;t.texImage2D(3553,l,i.format,c,u,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=T(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType=\"texture2d\",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,l){function f(t,e,r,n,i,a){var s,l=h.texInfo;for(P.call(l),s=0;6>s;++s)m[s]=L();if(\"number\"!=typeof t&&t){if(\"object\"==typeof t)if(e)S(m[0],t),S(m[1],e),S(m[2],r),S(m[3],n),S(m[4],i),S(m[5],a);else if(I(l,t),u(h,t),\"faces\"in t)for(t=t.faces,s=0;6>s;++s)c(m[s],h),S(m[s],t[s]);else for(s=0;6>s;++s)S(m[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(m[s],t,t);for(c(h,m[0]),h.mipmask=l.genMipmaps?(m[0].width<<1)-1:m[0].mipmask,h.internalformat=m[0].internalformat,f.width=m[0].width,f.height=m[0].height,D(h),s=0;6>s;++s)E(m[s],34069+s);for(O(l,34067),R(),o.profile&&(h.stats.size=T(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=tt[h.internalformat],f.type=et[h.type],f.mag=rt[l.magFilter],f.min=nt[l.minFilter],f.wrapS=it[l.wrapS],f.wrapT=it[l.wrapT],s=0;6>s;++s)C(m[s]);return f}var h=new z(34067);yt[h.id]=h,a.cubeCount++;var m=Array(6);return f(e,r,n,i,s,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return c(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,D(h),d(a,34069+t,r,n,i),R(),k(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,D(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=T(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType=\"textureCube\",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);O(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(c=0;ct;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:\"framebufferCube\",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){K(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,K(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),v(e)}))}})}function M(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(t,e,r,n,i,a,o){function s(){this.id=++f,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,h[this.id]=this,this.buffers=[]}var c=r.maxAttributes,u=Array(c);for(r=0;r=h.byteLength?c.subdata(h):(c.destroy(),r.buffers[s]=null)),r.buffers[s]||(c=r.buffers[s]=i.create(u,34962,!1,!0)),f.buffer=i.getBuffer(c),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,t[s]=1;else i.getBuffer(u)?(f.buffer=i.getBuffer(u),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(u.buffer)?(f.buffer=i.getBuffer(u.buffer),f.size=0|(+u.size||f.buffer.dimension),f.normalized=!!u.normalized||!1,f.type=\"type\"in u?tt[u.type]:f.buffer.dtype,f.offset=0|(u.offset||0),f.stride=0|(u.stride||0),f.divisor=0|(u.divisor||0),f.state=1):\"x\"in u&&(f.x=+u.x||0,f.y=+u.y||0,f.z=+u.z||0,f.w=+u.w||0,f.state=2)}for(c=0;ct&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);K(c).forEach(e),c={},K(u).forEach(e),u={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(e,n,i,a){var o=f[n];o||(o=f[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),h.push(d),H(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=h.indexOf(d);h.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(u[d.vertId]),delete u[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(t.deleteShader(c[d.fragId]),delete c[d.fragId],delete f[d.fragId])}})},restore:function(){c={},u={};for(var t=0;t>>e|t<<32-e}function P(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function I(t){return Array.prototype.slice.call(t)}function O(t){return I(t).join(\"\")}function z(t){function e(){var t=[],e=[];return H((function(){t.push.apply(t,I(arguments))}),{def:function(){var r=\"v\"+i++;return e.push(r),0>>4&15)+\"0123456789abcdef\".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,c,u,f,h,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,u=0;uf;f++){var m;if(16>f)r[f]=e[f+u];else h=f,p=P(p=C(p=r[f-2],17)^C(p,19)^p>>>10,r[f-7]),m=C(m=r[f-15],7)^C(m,18)^m>>>3,r[h]=P(P(p,m),r[f-16]);h=P(P(P(P(c,h=C(h=o,6)^C(h,11)^C(h,25)),o&s^~o&l),kt[f]),r[f]),p=P(c=C(c=d,2)^C(c,13)^C(c,22),d&n^d&i^n&i),c=l,l=s,s=o,o=P(a,h),a=i,i=n,n=d,d=P(h,p)}t[0]=P(d,t[0]),t[1]=P(n,t[1]),t[2]=P(i,t[2]),t[3]=P(a,t[3]),t[4]=P(o,t[4]),t[5]=P(s,t[5]),t[6]=P(l,t[6]),t[7]=P(c,t[7])}for(e=\"\",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n=\"\",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function D(t){return Array.isArray(t)||J(t)||l(t)}function R(t){return t.sort((function(t,e){return\"viewport\"===t?-1:\"viewport\"===e?1:t\"+e+\"?\"+i+\".constant[\"+e+\"]:0;\"})).join(\"\"),\"}}else{\",\"if(\",s,\"(\",i,\".buffer)){\",u,\"=\",a,\".createStream(\",34962,\",\",i,\".buffer);\",\"}else{\",u,\"=\",a,\".getBuffer(\",i,\".buffer);\",\"}\",f,'=\"type\" in ',i,\"?\",o.glTypes,\"[\",i,\".type]:\",u,\".dtype;\",l.normalized,\"=!!\",i,\".normalized;\"),n(\"size\"),n(\"offset\"),n(\"stride\"),n(\"divisor\"),r(\"}}\"),r.exit(\"if(\",l.isStream,\"){\",a,\".destroyStream(\",u,\");\",\"}\"),l}))})),o}function M(t,e,n,i,o){function s(t){var e=c[t];e&&(h[t]=e)}var l=function(t,e){if(\"string\"==typeof(r=t.static).frag&&\"string\"==typeof r.vert){if(0>1)\",s],\");\")}function e(){r(l,\".drawArraysInstancedANGLE(\",[d,m,g,s],\");\")}p&&\"null\"!==p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}function o(){function t(){r(u+\".drawElements(\"+[d,g,v,m+\"<<((\"+v+\"-5121)>>1)\"]+\");\")}function e(){r(u+\".drawArrays(\"+[d,m,g]+\");\")}p&&\"null\"!==p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}var s,l,c=t.shared,u=c.gl,f=c.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),h.elementsActive&&a(\"if(\"+i+\")\"+u+\".bindBuffer(34963,\"+i+\".buffer.buffer);\")):(i=a.def(),a(i,\"=\",f,\".\",\"elements\",\";\",\"if(\",i,\"){\",u,\".bindBuffer(\",34963,\",\",i,\".buffer.buffer);}\",\"else if(\",c.vao,\".currentVAO){\",i,\"=\",t.shared.elements+\".getElements(\"+c.vao,\".currentVAO.elements);\",rt?\"\":\"if(\"+i+\")\"+u+\".bindBuffer(34963,\"+i+\".buffer.buffer);\",\"}\")),i}(),d=i(\"primitive\"),m=i(\"offset\"),g=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,\".\",\"count\"),i}();if(\"number\"==typeof g){if(0===g)return}else r(\"if(\",g,\"){\"),r.exit(\"}\");$&&(s=i(\"instances\"),l=t.instancing);var v=p+\".type\",y=h.elements&&B(h.elements)&&!h.vaoActive;$&&(\"number\"!=typeof s||0<=s)?\"string\"==typeof s?(r(\"if(\",s,\">0){\"),a(),r(\"}else if(\",s,\"<0){\"),o(),r(\"}\")):a():o()}function q(t,e,r,n,i){return i=(e=_()).proc(\"body\",i),$&&(e.instancing=i.def(e.shared.extensions,\".angle_instanced_arrays\")),t(e,i,r,n),e.compile().body}function Y(t,e,r,n){P(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,e),\");\"):e(t.shared.vao,\".setVAO(\",t.shared.vao,\".targetVAO);\"):(e(t.shared.vao,\".setVAO(null);\"),O(t,e,r,n.attributes,(function(){return!0}))),U(t,e,r,n.uniforms,(function(){return!0}),!1),V(t,e,e,r)}function W(t,e,r,n){function i(){return!0}t.batchId=\"a1\",P(t,e),O(t,e,r,n.attributes,i),U(t,e,r,n.uniforms,i,!1),V(t,e,e,r)}function X(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}P(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,\"for(\",s,\"=0;\",s,\"<\",\"a1\",\";++\",s,\"){\",l,\"=\",\"a0\",\"[\",s,\"];\",u,\"}\",c.exit),r.needsContext&&S(t,u,r.context),r.needsFramebuffer&&E(t,u,r.framebuffer),C(t,u,r.state,i),r.profile&&i(r.profile)&&I(t,u,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?u(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,u),\");\"):c(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,c),\");\"):c(t.shared.vao,\".setVAO(\",t.shared.vao,\".targetVAO);\"):(c(t.shared.vao,\".setVAO(null);\"),O(t,c,r,n.attributes,a),O(t,u,r,n.attributes,i)),U(t,c,r,n.uniforms,a,!1),U(t,u,r,n.uniforms,i,!0),V(t,c,u,r)):(e=t.global.def(\"{}\"),n=r.shader.progVar.append(t,u),l=u.def(n,\".id\"),c=u.def(e,\"[\",l,\"]\"),u(t.shared.gl,\".useProgram(\",n,\".program);\",\"if(!\",c,\"){\",c,\"=\",e,\"[\",l,\"]=\",t.link((function(e){return q(W,t,r,e,2)})),\"(\",n,\");}\",c,\".call(this,a0[\",s,\"],\",s,\");\"))}function Z(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,\".\"+e,n):i.set(a.shader,\".\"+e,t.link(n,{stable:!0})))}var i=t.proc(\"scope\",3);t.batchId=\"a2\";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),R(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);g(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],\"[\"+n+\"]\",r):i.set(t.next[e],\"[\"+n+\"]\",t.link(r,{stable:!0}))})):B(n)?i.set(a.next,\".\"+e,t.link(o,{stable:!0})):i.set(a.next,\".\"+e,o)})),I(t,i,r,!0,!0),[\"elements\",\"offset\",\"count\",\"instances\",\"primitive\"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,\".\"+e,n):i.set(a.draw,\".\"+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o=\"[\"+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+\"]\"),i.set(a.uniforms,\"[\"+t.link(e.id(n),{stable:!0})+\"]\",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new K).forEach((function(t){i.set(a,\".\"+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,\".targetVAO\",s):i.set(a.vao,\".targetVAO\",t.link(s,{stable:!0}))}n(\"vert\"),n(\"frag\"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach((function(e){t+=u[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,u=32854;if(\"object\"==typeof e&&e?(\"shape\"in e?(n=0|(a=e.shape)[0],a=0|a[1]):(\"radius\"in e&&(n=a=0|e.radius),\"width\"in e&&(n=0|e.width),\"height\"in e&&(a=0|e.height)),\"format\"in e&&(u=s[e.format])):\"number\"==typeof e?(n=0|e,a=\"number\"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=bt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height||(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=bt[c.format]*c.width*c.height)),o},o._reglType=\"renderbuffer\",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){K(u).forEach(o)},restore:function(){K(u).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},wt=[];wt[6408]=4,wt[6407]=3;var Tt=[];Tt[5121]=1,Tt[5126]=4,Tt[36193]=2;var kt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],At=[\"x\",\"y\",\"z\",\"w\"],Mt=\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\".split(\" \"),St={0:0,1:1,zero:0,one:1,\"src color\":768,\"one minus src color\":769,\"src alpha\":770,\"one minus src alpha\":771,\"dst color\":774,\"one minus dst color\":775,\"dst alpha\":772,\"one minus dst alpha\":773,\"constant color\":32769,\"one minus constant color\":32770,\"constant alpha\":32771,\"one minus constant alpha\":32772,\"src alpha saturate\":776},Et={never:512,less:513,\"<\":513,equal:514,\"=\":514,\"==\":514,\"===\":514,lequal:515,\"<=\":515,greater:516,\">\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Lt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},Ct={cw:2304,ccw:2305},Pt=new F(!1,!1,!1,(function(){}));return function(t){function e(){if(0===K.length)T&&T.update(),et=null;else{et=Y.next(e),f();for(var t=K.length-1;0<=t;--t){var r=K[t];r&&r(I,null,0)}g.flush(),T&&T.update()}}function r(){!et&&0=K.length&&n()}}}}function u(){var t=X.viewport,e=X.scissor_box;t[0]=t[1]=e[0]=e[1]=0,I.viewportWidth=I.framebufferWidth=I.drawingBufferWidth=t[2]=e[2]=g.drawingBufferWidth,I.viewportHeight=I.framebufferHeight=I.drawingBufferHeight=t[3]=e[3]=g.drawingBufferHeight}function f(){I.tick+=1,I.time=m(),u(),q.procs.poll()}function h(){B.refresh(),u(),q.procs.refresh(),T&&T.update()}function m(){return(W()-M)/1e3}if(!(t=i(t)))return null;var g=t.gl,v=g.getContextAttributes();g.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)rt(H({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:G.define.bind(null,1),context:G.define.bind(null,2),this:G.define.bind(null,3),draw:s({}),buffer:function(t){return z.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:v,frame:c,on:function(t,e){var r;switch(t){case\"frame\":return c(e);case\"lost\":r=Q;break;case\"restore\":r=$;break;case\"destroy\":r=tt}return r.push(e),{cancel:function(){for(var t=0;t2?\"one of \".concat(e,\" \").concat(t.slice(0,r-1).join(\", \"),\", or \")+t[r-1]:2===r?\"one of \".concat(e,\" \").concat(t[0],\" or \").concat(t[1]):\"of \".concat(e,\" \").concat(t[0])}return\"of \".concat(e,\" \").concat(String(t))}i(\"ERR_INVALID_OPT_VALUE\",(function(t,e){return'The value \"'+e+'\" is invalid for option \"'+t+'\"'}),TypeError),i(\"ERR_INVALID_ARG_TYPE\",(function(t,e,r){var n,i,o,s;if(\"string\"==typeof e&&(i=\"not \",e.substr(!o||o<0?0:+o,i.length)===i)?(n=\"must not be\",e=e.replace(/^not /,\"\")):n=\"must be\",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t,\" argument\"))s=\"The \".concat(t,\" \").concat(n,\" \").concat(a(e,\"type\"));else{var l=function(t,e,r){return\"number\"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,\".\")?\"property\":\"argument\";s='The \"'.concat(t,'\" ').concat(l,\" \").concat(n,\" \").concat(a(e,\"type\"))}return s+=\". Received type \".concat(typeof r)}),TypeError),i(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\"),i(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(t){return\"The \"+t+\" method is not implemented\"})),i(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\"),i(\"ERR_STREAM_DESTROYED\",(function(t){return\"Cannot call \"+t+\" after a stream was destroyed\"})),i(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\"),i(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\"),i(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\"),i(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),i(\"ERR_UNKNOWN_ENCODING\",(function(t){return\"Unknown encoding: \"+t}),TypeError),i(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\"),e.exports.codes=n},{}],287:[function(t,e,r){(function(r){(function(){\"use strict\";var n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};e.exports=c;var i=t(\"./_stream_readable\"),a=t(\"./_stream_writable\");t(\"inherits\")(c,i);for(var o=n(a.prototype),s=0;s0)if(\"string\"==typeof e||o.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=function(t){return s.from(t)}(e)),n)o.endEmitted?w(t,new _):S(t,o,e,!0);else if(o.ended)w(t,new x);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!r?(e=o.decoder.write(e),o.objectMode||0!==e.length?S(t,o,e,!1):P(t,o)):S(t,o,e,!1)}else n||(o.reading=!1,P(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=1073741824?t=1073741824:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function L(t){var e=t._readableState;c(\"emitReadable\",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c(\"emitReadable\",e.flowing),e.emittedReadable=!0,r.nextTick(C,t))}function C(t){var e=t._readableState;c(\"emitReadable_\",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit(\"readable\"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,R(t)}function P(t,e){e.readingMore||(e.readingMore=!0,r.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount(\"data\")>0&&t.resume()}function z(t){c(\"readable nexttick read 0\"),t.read(0)}function D(t,e){c(\"resume\",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit(\"resume\"),R(t),e.flowing&&!e.reading&&t.read(0)}function R(t){var e=t._readableState;for(c(\"flow\",e.flowing);e.flowing&&null!==t.read(););}function F(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(\"\"):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function B(t){var e=t._readableState;c(\"endReadable\",e.endEmitted),e.endEmitted||(e.ended=!0,r.nextTick(N,e,t))}function N(t,e){if(c(\"endReadableNT\",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit(\"end\"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function j(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return c(\"read: emitReadable\",e.length,e.ended),0===e.length&&e.ended?B(this):L(this),null;if(0===(t=E(t,e))&&e.ended)return 0===e.length&&B(this),null;var n,i=e.needReadable;return c(\"need readable\",i),(0===e.length||e.length-t0?F(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&B(this)),null!==n&&this.emit(\"data\",n),n},A.prototype._read=function(t){w(this,new b(\"_read()\"))},A.prototype.pipe=function(t,e){var n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,c(\"pipe count=%d opts=%j\",i.pipesCount,e);var o=(!e||!1!==e.end)&&t!==r.stdout&&t!==r.stderr?l:g;function s(e,r){c(\"onunpipe\"),e===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,c(\"cleanup\"),t.removeListener(\"close\",d),t.removeListener(\"finish\",m),t.removeListener(\"drain\",u),t.removeListener(\"error\",p),t.removeListener(\"unpipe\",s),n.removeListener(\"end\",l),n.removeListener(\"end\",g),n.removeListener(\"data\",h),f=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}function l(){c(\"onend\"),t.end()}i.endEmitted?r.nextTick(o):n.once(\"end\",o),t.on(\"unpipe\",s);var u=function(t){return function(){var e=t._readableState;c(\"pipeOnDrain\",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a(t,\"data\")&&(e.flowing=!0,R(t))}}(n);t.on(\"drain\",u);var f=!1;function h(e){c(\"ondata\");var r=t.write(e);c(\"dest.write\",r),!1===r&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==j(i.pipes,t))&&!f&&(c(\"false write response, pause\",i.awaitDrain),i.awaitDrain++),n.pause())}function p(e){c(\"onerror\",e),g(),t.removeListener(\"error\",p),0===a(t,\"error\")&&w(t,e)}function d(){t.removeListener(\"finish\",m),g()}function m(){c(\"onfinish\"),t.removeListener(\"close\",d),g()}function g(){c(\"unpipe\"),n.unpipe(t)}return n.on(\"data\",h),function(t,e,r){if(\"function\"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,\"error\",p),t.once(\"close\",d),t.once(\"finish\",m),t.emit(\"pipe\",n),i.flowing||(c(\"pipe resume\"),n.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit(\"unpipe\",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==i.flowing&&this.resume()):\"readable\"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,c(\"on readable\",i.length,i.reading),i.length?L(this):i.reading||r.nextTick(z,this))),n},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var n=o.prototype.removeListener.call(this,t,e);return\"readable\"===t&&r.nextTick(O,this),n},A.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return\"readable\"!==t&&void 0!==t||r.nextTick(O,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(c(\"resume\"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,r.nextTick(D,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return c(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(c(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on(\"end\",(function(){if(c(\"wrapped end\"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on(\"data\",(function(i){(c(\"wrapped data\"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&\"function\"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var a=0;a-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new m(\"_write()\"))},A.prototype._writev=null,A.prototype.end=function(t,e,n){var i=this._writableState;return\"function\"==typeof t?(n=t,t=null,e=null):\"function\"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,n){e.ending=!0,P(t,e),n&&(e.finished?r.nextTick(n):t.once(\"finish\",n));e.ended=!0,t.writable=!1}(this,i,n),this},Object.defineProperty(A.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=f.destroy,A.prototype._undestroy=f.undestroy,A.prototype._destroy=function(t,e){e(t)}}).call(this)}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"../errors\":286,\"./_stream_duplex\":287,\"./internal/streams/destroy\":294,\"./internal/streams/state\":298,\"./internal/streams/stream\":299,_process:277,buffer:85,inherits:231,\"util-deprecate\":330}],292:[function(t,e,r){(function(r){(function(){\"use strict\";var n;function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=t(\"./end-of-stream\"),o=Symbol(\"lastResolve\"),s=Symbol(\"lastReject\"),l=Symbol(\"error\"),c=Symbol(\"ended\"),u=Symbol(\"lastPromise\"),f=Symbol(\"handlePromise\"),h=Symbol(\"stream\");function p(t,e){return{value:t,done:e}}function d(t){var e=t[o];if(null!==e){var r=t[h].read();null!==r&&(t[u]=null,t[o]=null,t[s]=null,e(p(r,!1)))}}function m(t){r.nextTick(d,t)}var g=Object.getPrototypeOf((function(){})),v=Object.setPrototypeOf((i(n={get stream(){return this[h]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(p(void 0,!0));if(this[h].destroyed)return new Promise((function(e,n){r.nextTick((function(){t[l]?n(t[l]):e(p(void 0,!0))}))}));var n,i=this[u];if(i)n=new Promise(function(t,e){return function(r,n){t.then((function(){e[c]?r(p(void 0,!0)):e[f](r,n)}),n)}}(i,this));else{var a=this[h].read();if(null!==a)return Promise.resolve(p(a,!1));n=new Promise(this[f])}return this[u]=n,n}},Symbol.asyncIterator,(function(){return this})),i(n,\"return\",(function(){var t=this;return new Promise((function(e,r){t[h].destroy(null,(function(t){t?r(t):e(p(void 0,!0))}))}))})),n),g);e.exports=function(t){var e,r=Object.create(v,(i(e={},h,{value:t,writable:!0}),i(e,o,{value:null,writable:!0}),i(e,s,{value:null,writable:!0}),i(e,l,{value:null,writable:!0}),i(e,c,{value:t._readableState.endEmitted,writable:!0}),i(e,f,{value:function(t,e){var n=r[h].read();n?(r[u]=null,r[o]=null,r[s]=null,t(p(n,!1))):(r[o]=t,r[s]=e)},writable:!0}),e));return r[u]=null,a(t,(function(t){if(t&&\"ERR_STREAM_PREMATURE_CLOSE\"!==t.code){var e=r[s];return null!==e&&(r[u]=null,r[o]=null,r[s]=null,e(t)),void(r[l]=t)}var n=r[o];null!==n&&(r[u]=null,r[o]=null,r[s]=null,n(p(void 0,!0))),r[c]=!0})),t.on(\"readable\",m.bind(null,r)),r}}).call(this)}).call(this,t(\"_process\"))},{\"./end-of-stream\":295,_process:277}],293:[function(t,e,r){\"use strict\";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:\"unshift\",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:\"shift\",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(t){if(0===this.length)return\"\";for(var e=this.head,r=\"\"+e.data;e=e.next;)r+=t+e.data;return r}},{key:\"concat\",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:\"consume\",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:\"_getBuffer\",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){n||(n=t),t&&o.forEach(c),a||(o.forEach(c),i(n))}))}));return e.reduce(u)}},{\"../../../errors\":286,\"./end-of-stream\":295}],298:[function(t,e,r){\"use strict\";var n=t(\"../../../errors\").codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:\"highWaterMark\",a);return Math.floor(a)}return t.objectMode?16:16384}}},{\"../../../errors\":286}],299:[function(t,e,r){e.exports=t(\"events\").EventEmitter},{events:84}],300:[function(t,e,r){\"use strict\";var n=t(\"safe-buffer\").Buffer,i=n.isEncoding||function(t){switch((t=\"\"+t)&&t.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return\"utf8\";for(var e;;)switch(t){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return t;default:if(e)return;t=(\"\"+t).toLowerCase(),e=!0}}(t);if(\"string\"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error(\"Unknown encoding: \"+t);return e||t}(t),this.encoding){case\"utf16le\":this.text=l,this.end=c,e=4;break;case\"utf8\":this.fillLast=s,e=4;break;case\"base64\":this.text=u,this.end=f,e=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,\"\\ufffd\";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,\"\\ufffd\";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,\"\\ufffd\"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString(\"utf16le\",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString(\"utf16le\",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString(\"utf16le\",0,r)}return e}function u(t,e){var r=(t.length-e)%3;return 0===r?t.toString(\"base64\",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString(\"base64\",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):\"\";return this.lastNeed?e+this.lastChar.toString(\"base64\",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):\"\"}r.StringDecoder=a,a.prototype.write=function(t){if(0===t.length)return\"\";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return\"\";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return i>0&&(t.lastNeed=i-1),i;if(--n=0)return i>0&&(t.lastNeed=i-2),i;if(--n=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 0}(this,t,e);if(!this.lastNeed)return t.toString(\"utf8\",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString(\"utf8\",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{\"safe-buffer\":284}],301:[function(t,e,r){(function(r,n){(function(){var r=t(\"assert\"),i=t(\"debug\")(\"stream-parser\");e.exports=function(t){var e=t&&\"function\"==typeof t._transform,r=t&&\"function\"==typeof t._write;if(!e&&!r)throw new Error(\"must pass a Writable or Transform stream in\");i(\"extending Parser into stream\"),t._bytes=o,t._skipBytes=s,e&&(t._passthrough=l);e?t._transform=u:t._write=c};function a(t){i(\"initializing parser stream\"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=-1,t._parserCallback=null,\"function\"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function o(t,e){r(!this._parserCallback,'there is already a \"callback\" set!'),r(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got \"'+t+'\"'),this._parserInit||a(this),i(\"buffering %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=0}function s(t,e){r(!this._parserCallback,'there is already a \"callback\" set!'),r(t>0,'can only skip > 0 bytes, got \"'+t+'\"'),this._parserInit||a(this),i(\"skipping %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=1}function l(t,e){r(!this._parserCallback,'There is already a \"callback\" set!'),r(t>0,'can only pass through > 0 bytes, got \"'+t+'\"'),this._parserInit||a(this),i(\"passing through %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=2}function c(t,e,r){this._parserInit||a(this),i(\"write(%o bytes)\",t.length),\"function\"==typeof e&&(r=e),h(this,t,null,r)}function u(t,e,r){this._parserInit||a(this),i(\"transform(%o bytes)\",t.length),\"function\"!=typeof e&&(e=this._parserOutput),h(this,t,e,r)}function f(t,e,r,a){if(t._parserBytesLeft-=e.length,i(\"%o bytes left for stream piece\",t._parserBytesLeft),0===t._parserState?(t._parserBuffers.push(e),t._parserBuffered+=e.length):2===t._parserState&&r(e),0!==t._parserBytesLeft)return a;var o=t._parserCallback;if(o&&0===t._parserState&&t._parserBuffers.length>1&&(e=n.concat(t._parserBuffers,t._parserBuffered)),0!==t._parserState&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=-1,t._parserBuffers.splice(0),o){var s=[];e&&s.push(e),r&&s.push(r);var l=o.length>s.length;l&&s.push(p(a));var c=o.apply(t,s);if(!l||a===c)return a}}var h=p((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error(\"got data but not currently parsing anything\")):r.length<=e._parserBytesLeft?function(){return f(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return f(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function p(t){return function(){for(var e=t.apply(this,arguments);\"function\"==typeof e;)e=e();return e}}}).call(this)}).call(this,t(\"_process\"),t(\"buffer\").Buffer)},{_process:277,assert:75,buffer:85,debug:302}],302:[function(t,e,r){(function(n){(function(){function i(){var t;try{t=r.storage.debug}catch(t){}return!t&&void 0!==n&&\"env\"in n&&(t=n.env.DEBUG),t}(r=e.exports=t(\"./debug\")).log=function(){return\"object\"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},r.formatArgs=function(t){var e=this.useColors;if(t[0]=(e?\"%c\":\"\")+this.namespace+(e?\" %c\":\" \")+t[0]+(e?\"%c \":\" \")+\"+\"+r.humanize(this.diff),!e)return;var n=\"color: \"+this.color;t.splice(1,0,n,\"color: inherit\");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){\"%%\"!==t&&(i++,\"%c\"===t&&(a=i))})),t.splice(a,0,n)},r.save=function(t){try{null==t?r.storage.removeItem(\"debug\"):r.storage.debug=t}catch(t){}},r.load=i,r.useColors=function(){if(\"undefined\"!=typeof window&&window.process&&\"renderer\"===window.process.type)return!0;return\"undefined\"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||\"undefined\"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)},r.storage=\"undefined\"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),r.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"],r.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}},r.enable(i())}).call(this)}).call(this,t(\"_process\"))},{\"./debug\":303,_process:277}],303:[function(t,e,r){var n;function i(t){function e(){if(e.enabled){var t=e,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if((t=String(t)).length>100)return;var e=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(!e)return;var r=parseFloat(e[1]);switch((e[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return 315576e5*r;case\"days\":case\"day\":case\"d\":return r*o;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*a;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*i;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*n;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}(t);if(\"number\"===l&&!1===isNaN(t))return e.long?s(r=t,o,\"day\")||s(r,a,\"hour\")||s(r,i,\"minute\")||s(r,n,\"second\")||r+\" ms\":function(t){if(t>=o)return Math.round(t/o)+\"d\";if(t>=a)return Math.round(t/a)+\"h\";if(t>=i)return Math.round(t/i)+\"m\";if(t>=n)return Math.round(t/n)+\"s\";return t+\"ms\"}(t);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(t))}},{}],305:[function(t,e,r){\"use strict\";var n=t(\"parenthesis\");e.exports=function(t,e,r){if(null==t)throw Error(\"First argument should be a string\");if(null==e)throw Error(\"Separator should be a string or a RegExp\");r?(\"string\"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201c\\u201d\",\"\\xab\\xbb\"]:(\"string\"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=c[c.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[m])}a[e]=d}else{if(n[e]===r[e]){var g=[],v=[],y=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),v.push(s[x]),y+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(g);var b=new Array(y);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,f=t.ry,h=t.xAxisRotation,p=void 0===h?0:h,d=t.largeArcFlag,m=void 0===d?0:d,g=t.sweepFlag,v=void 0===g?0:g,y=[];if(0===u||0===f)return[];var x=Math.sin(p*i/360),b=Math.cos(p*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),f=Math.abs(f);var T=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);T>1&&(u*=Math.sqrt(T),f*=Math.sqrt(T));var k=function(t,e,r,n,a,o,l,c,u,f,h,p){var d=Math.pow(a,2),m=Math.pow(o,2),g=Math.pow(h,2),v=Math.pow(p,2),y=d*m-d*v-m*g;y<0&&(y=0),y/=d*v+m*g;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*p,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,T=(h-x)/a,k=(p-b)/o,A=(-h-x)/a,M=(-p-b)/o,S=s(1,0,T,k),E=s(T,k,A,M);return 0===c&&E>0&&(E-=i),1===c&&E<0&&(E+=i),[_,w,S,E]}(e,r,l,c,u,f,m,v,x,b,_,w),A=n(k,4),M=A[0],S=A[1],E=A[2],L=A[3],C=Math.abs(L)/(i/4);Math.abs(1-C)<1e-7&&(C=1);var P=Math.max(Math.ceil(C),1);L/=P;for(var I=0;Ie[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{\"abs-svg-path\":70,assert:75,\"is-svg-path\":238,\"normalize-svg-path\":309,\"parse-svg-path\":250}],309:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,p=0,d=0,m=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=t(\"svg-arc-to-cubic-bezier\");function i(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},{\"svg-arc-to-cubic-bezier\":307}],310:[function(t,e,r){\"use strict\";var n,i=t(\"svg-path-bounds\"),a=t(\"parse-svg-path\"),o=t(\"draw-svg-path\"),s=t(\"is-svg-path\"),l=t(\"bitmap-sdf\"),c=document.createElement(\"canvas\"),u=c.getContext(\"2d\");e.exports=function(t,e){if(!s(t))throw Error(\"Argument should be valid svg path string\");e||(e={});var r,f;e.shape?(r=e.shape[0],f=e.shape[1]):(r=c.width=e.w||e.width||200,f=c.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),m=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(m[0]||0,m[1]||0)/2;u.fillStyle=\"black\",u.fillRect(0,0,r,f),u.fillStyle=\"white\",p&&(\"number\"!=typeof p&&(p=1),u.strokeStyle=p>0?\"white\":\"black\",u.lineWidth=Math.abs(p));if(u.translate(.5*r,.5*f),u.scale(g,g),function(){if(null!=n)return n;var t=document.createElement(\"canvas\").getContext(\"2d\");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D(\"M0,0h1v1h-1v-1Z\");t.fillStyle=\"black\",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var v=new Path2D(t);u.fill(v),p&&u.stroke(v)}else{var y=a(t);o(u,y),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},{\"bitmap-sdf\":82,\"draw-svg-path\":126,\"is-svg-path\":238,\"parse-svg-path\":250,\"svg-path-bounds\":308}],311:[function(t,e,r){(function(e,n){(function(){var i=t(\"process/browser.js\").nextTick,a=Function.prototype.apply,o=Array.prototype.slice,s={},l=0;function c(t,e){this._id=t,this._clearFn=e}r.setTimeout=function(){return new c(a.call(setTimeout,window,arguments),clearTimeout)},r.setInterval=function(){return new c(a.call(setInterval,window,arguments),clearInterval)},r.clearTimeout=r.clearInterval=function(t){t.close()},c.prototype.unref=c.prototype.ref=function(){},c.prototype.close=function(){this._clearFn.call(window,this._id)},r.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},r.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},r._unrefActive=r.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},r.setImmediate=\"function\"==typeof e?e:function(t){var e=l++,n=!(arguments.length<2)&&o.call(arguments,1);return s[e]=!0,i((function(){s[e]&&(n?t.apply(null,n):t.call(null),r.clearImmediate(e))})),e},r.clearImmediate=\"function\"==typeof n?n:function(t){delete s[t]}}).call(this)}).call(this,t(\"timers\").setImmediate,t(\"timers\").clearImmediate)},{\"process/browser.js\":277,timers:311}],312:[function(t,e,r){!function(t){var r=/^\\s+/,n=/\\s+$/,i=0,a=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(l=l||{},(e=e||\"\")instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var i={r:0,g:0,b:0},a=1,l=null,c=null,u=null,f=!1,h=!1;\"string\"==typeof e&&(e=function(t){t=t.replace(r,\"\").replace(n,\"\").toLowerCase();var e,i=!1;if(S[t])t=S[t],i=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};if(e=j.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=j.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=j.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=j.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=j.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=j.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=j.hex8.exec(t))return{r:I(e[1]),g:I(e[2]),b:I(e[3]),a:R(e[4]),format:i?\"name\":\"hex8\"};if(e=j.hex6.exec(t))return{r:I(e[1]),g:I(e[2]),b:I(e[3]),format:i?\"name\":\"hex\"};if(e=j.hex4.exec(t))return{r:I(e[1]+\"\"+e[1]),g:I(e[2]+\"\"+e[2]),b:I(e[3]+\"\"+e[3]),a:R(e[4]+\"\"+e[4]),format:i?\"name\":\"hex8\"};if(e=j.hex3.exec(t))return{r:I(e[1]+\"\"+e[1]),g:I(e[2]+\"\"+e[2]),b:I(e[3]+\"\"+e[3]),format:i?\"name\":\"hex\"};return!1}(e));\"object\"==typeof e&&(U(e.r)&&U(e.g)&&U(e.b)?(p=e.r,d=e.g,m=e.b,i={r:255*C(p,255),g:255*C(d,255),b:255*C(m,255)},f=!0,h=\"%\"===String(e.r).substr(-1)?\"prgb\":\"rgb\"):U(e.h)&&U(e.s)&&U(e.v)?(l=z(e.s),c=z(e.v),i=function(e,r,n){e=6*C(e,360),r=C(r,100),n=C(n,100);var i=t.floor(e),a=e-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),c=i%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(e.h,l,c),f=!0,h=\"hsv\"):U(e.h)&&U(e.s)&&U(e.l)&&(l=z(e.s),u=z(e.l),i=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=C(t,360),e=C(e,100),r=C(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(e.h,l,u),f=!0,h=\"hsl\"),e.hasOwnProperty(\"a\")&&(a=e.a));var p,d,m;return a=L(a),{ok:f,format:e.format||h,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a:a}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){case t:n=(e-r)/u+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(c(n));return a}function M(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:i,v:a})),a=(a+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=L(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return\"#\"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var o=[O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16)),O(D(n))];if(i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join(\"\")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\")\":\"rgba(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:a(100*C(this._r,255))+\"%\",g:a(100*C(this._g,255))+\"%\",b:a(100*C(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+a(100*C(this._r,255))+\"%, \"+a(100*C(this._g,255))+\"%, \"+a(100*C(this._b,255))+\"%)\":\"rgba(\"+a(100*C(this._r,255))+\"%, \"+a(100*C(this._g,255))+\"%, \"+a(100*C(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(E[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?\"GradientType = 1, \":\"\";if(t){var i=c(t);r=\"#\"+p(i._r,i._g,i._b,i._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+n+\"startColorstr=\"+e+\",endColorstr=\"+r+\")\"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||\"hex\"!==t&&\"hex6\"!==t&&\"hex3\"!==t&&\"hex4\"!==t&&\"hex8\"!==t&&\"name\"!==t?(\"rgb\"===t&&(r=this.toRgbString()),\"prgb\"===t&&(r=this.toPercentageRgbString()),\"hex\"!==t&&\"hex6\"!==t||(r=this.toHexString()),\"hex3\"===t&&(r=this.toHexString(!0)),\"hex4\"===t&&(r=this.toHex8String(!0)),\"hex8\"===t&&(r=this.toHex8String()),\"name\"===t&&(r=this.toName()),\"hsl\"===t&&(r=this.toHslString()),\"hsv\"===t&&(r=this.toHsvString()),r||this.toHexString()):\"name\"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(g,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(M,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},c.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\"a\"===n?t[n]:z(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),i=c(e).toRgb(),a=r/100;return c({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},c.readability=function(e,r){var n=c(e),i=c(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,i,a=c.readability(t,e);switch(i=!1,(n=function(t){var e,r;e=((t=t||{level:\"AA\",size:\"small\"}).level||\"AA\").toUpperCase(),r=(t.size||\"small\").toLowerCase(),\"AA\"!==e&&\"AAA\"!==e&&(e=\"AA\");\"small\"!==r&&\"large\"!==r&&(r=\"small\");return{level:e,size:r}}(r)).level+n.size){case\"AAsmall\":case\"AAAlarge\":i=a>=4.5;break;case\"AAlarge\":i=a>=3;break;case\"AAAsmall\":i=a>=7}return i},c.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;ul&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,c.mostReadable(t,[\"#fff\",\"#000\"],r))};var S=c.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function L(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function C(e,r){(function(t){return\"string\"==typeof t&&-1!=t.indexOf(\".\")&&1===parseFloat(t)})(e)&&(e=\"100%\");var n=function(t){return\"string\"==typeof t&&-1!=t.indexOf(\"%\")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function P(t){return o(1,s(0,t))}function I(t){return parseInt(t,16)}function O(t){return 1==t.length?\"0\"+t:\"\"+t}function z(t){return t<=1&&(t=100*t+\"%\"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return I(t)/255}var F,B,N,j=(B=\"[\\\\s|\\\\(]+(\"+(F=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\")+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")\\\\s*\\\\)?\",N=\"[\\\\s|\\\\(]+(\"+F+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")\\\\s*\\\\)?\",{CSS_UNIT:new RegExp(F),rgb:new RegExp(\"rgb\"+B),rgba:new RegExp(\"rgba\"+N),hsl:new RegExp(\"hsl\"+B),hsla:new RegExp(\"hsla\"+N),hsv:new RegExp(\"hsv\"+B),hsva:new RegExp(\"hsva\"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function U(t){return!!j.CSS_UNIT.exec(t)}void 0!==e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],313:[function(t,e,r){\"use strict\";e.exports=i,e.exports.float32=e.exports.float=i,e.exports.fract32=e.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=i(t));for(var r=0,n=e.length;ro&&(o=t[0]),t[1]s&&(s=t[1])}function c(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(c);break;case\"Point\":l(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(l)}}for(e in t.arcs.forEach((function(t){for(var e,r=-1,l=t.length;++ro&&(o=e[0]),e[1]s&&(s=e[1])})),t.objects)c(t.objects[e]);return[i,a,o,s]}function i(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,o=a(t,e);return null==r&&null==n?{type:\"Feature\",properties:i,geometry:o}:null==n?{type:\"Feature\",id:r,properties:i,geometry:o}:{type:\"Feature\",id:r,bbox:n,properties:i,geometry:o}}function a(t,e){var n=r(t.transform),i=t.arcs;function a(t,e){e.length&&e.pop();for(var r=i[t<0?~t:t],a=0,o=r.length;a1)n=l(t,e,r);else for(i=0,n=new Array(a=t.arcs.length);i1)for(var a,s,c=1,u=l(i[0]);cu&&(s=i[0],i[0]=i[c],i[c]=s,u=a);return i})).filter((function(t){return t.length>0}))}}function u(t,e){for(var r=0,n=t.length;r>>1;t[i]=2))throw new Error(\"n must be \\u22652\");var r,i=(l=t.bbox||n(t))[0],a=l[1],o=l[2],s=l[3];e={scale:[o-i?(o-i)/(r-1):1,s-a?(s-a)/(r-1):1],translate:[i,a]}}var l,c,u=f(e),h=t.objects,p={};function d(t){return u(t)}function m(t){var e;switch(t.type){case\"GeometryCollection\":e={type:\"GeometryCollection\",geometries:t.geometries.map(m)};break;case\"Point\":e={type:\"Point\",coordinates:d(t.coordinates)};break;case\"MultiPoint\":e={type:\"MultiPoint\",coordinates:t.coordinates.map(d)};break;default:return t}return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),null!=t.properties&&(e.properties=t.properties),e}for(c in h)p[c]=m(h[c]);return{type:\"Topology\",bbox:l,transform:e,objects:p,arcs:t.arcs.map((function(t){var e,r=0,n=1,i=t.length,a=new Array(i);for(a[0]=u(t[0],0);++r\":(e.length>100&&(e=e.slice(0,99)+\"\\u2026\"),e=e.replace(i,(function(t){switch(t){case\"\\n\":return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}})))}},{\"./safe-to-string\":318}],320:[function(t,e,r){\"use strict\";var n=t(\"../value/is\"),i={object:!0,function:!0,undefined:!0};e.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},{\"../value/is\":326}],321:[function(t,e,r){\"use strict\";var n=t(\"../lib/resolve-exception\"),i=t(\"./is\");e.exports=function(t){return i(t)?t:n(t,\"%v is not a plain function\",arguments[1])}},{\"../lib/resolve-exception\":317,\"./is\":322}],322:[function(t,e,r){\"use strict\";var n=t(\"../function/is\"),i=/^\\s*class[\\s{/}]/,a=Function.prototype.toString;e.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},{\"../function/is\":316}],323:[function(t,e,r){\"use strict\";var n=t(\"../object/is\");e.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},{\"../object/is\":320}],324:[function(t,e,r){\"use strict\";var n=t(\"../value/is\"),i=t(\"../object/is\"),a=Object.prototype.toString;e.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if(\"function\"!=typeof e)return null;if(e===a)return null}try{return\"\"+t}catch(t){return null}}},{\"../object/is\":320,\"../value/is\":326}],325:[function(t,e,r){\"use strict\";var n=t(\"../lib/resolve-exception\"),i=t(\"./is\");e.exports=function(t){return i(t)?t:n(t,\"Cannot use %v\",arguments[1])}},{\"../lib/resolve-exception\":317,\"./is\":326}],326:[function(t,e,r){\"use strict\";e.exports=function(t){return null!=t}},{}],327:[function(t,e,r){(function(e){(function(){\"use strict\";var n=t(\"bit-twiddle\"),i=t(\"dup\"),a=t(\"buffer\").Buffer;e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o=\"undefined\"!=typeof Uint8ClampedArray,s=\"undefined\"!=typeof BigUint64Array,l=\"undefined\"!=typeof BigInt64Array,c=e.__TYPEDARRAY_POOL;c.UINT8C||(c.UINT8C=i([32,0])),c.BIGUINT64||(c.BIGUINT64=i([32,0])),c.BIGINT64||(c.BIGINT64=i([32,0])),c.BUFFER||(c.BUFFER=i([32,0]));var u=c.DATA,f=c.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);u[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=u[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function m(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function v(t){return new Int8Array(p(t),0,t)}function y(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}r.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeBigUint64=r.freeInt8=r.freeInt16=r.freeInt32=r.freeBigInt64=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){h(t.buffer)},r.freeArrayBuffer=h,r.freeBuffer=function(t){f[n.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return p(t);switch(e){case\"uint8\":return d(t);case\"uint16\":return m(t);case\"uint32\":return g(t);case\"int8\":return v(t);case\"int16\":return y(t);case\"int32\":return x(t);case\"float\":case\"float32\":return b(t);case\"double\":case\"float64\":return _(t);case\"uint8_clamped\":return w(t);case\"bigint64\":return k(t);case\"biguint64\":return T(t);case\"buffer\":return M(t);case\"data\":case\"dataview\":return A(t);default:return null}return null},r.mallocArrayBuffer=p,r.mallocUint8=d,r.mallocUint16=m,r.mallocUint32=g,r.mallocInt8=v,r.mallocInt16=y,r.mallocInt32=x,r.mallocFloat32=r.mallocFloat=b,r.mallocFloat64=r.mallocDouble=_,r.mallocUint8Clamped=w,r.mallocBigUint64=T,r.mallocBigInt64=k,r.mallocDataView=A,r.mallocBuffer=M,r.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,f[t].length=0}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"bit-twiddle\":81,buffer:85,dup:128}],328:[function(t,e,r){var n=/[\\'\\\"]/;e.exports=function(t){return t?(n.test(t.charAt(0))&&(t=t.substr(1)),n.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}},{}],329:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n2111)throw e.replace(/\\{0\\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),\"d\");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if(\"object\"==typeof t)o=t,a=e||{};else{var l;if(!(\"number\"==typeof t&&t>=1888&&t<=2111))throw new Error(\"Lunar year outside range 1888-2111\");if(!(\"number\"==typeof e&&e>=1&&e<=12))throw new Error(\"Lunar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=30))throw new Error(\"Lunar day outside range 1 - 30\");\"object\"==typeof n?(l=!1,a=n):(l=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var c,u=f[o.year-f[0]],p=u>>13;c=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(m>>5&15)-1,(31&m)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if(\"object\"==typeof t)i=t,a=e||{};else{if(!(\"number\"==typeof t&&t>=1888&&t<=2111))throw new Error(\"Solar year outside range 1888-2111\");if(!(\"number\"==typeof e&&e>=1&&e<=12))throw new Error(\"Solar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=31))throw new Error(\"Solar day outside range 1 - 31\");i={year:t,month:e,day:r},a=n||{}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,c=new Date(o>>9&4095,(o>>5&15)-1,31&o),u=new Date(i.year,i.month-1,i.day);l=Math.round((u-c)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var m=d&1<<12-p?30:29;if(l>13;!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||\"\"}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:\"Fruitbat\",21:\"Anchovy\"};n.calendars.discworld=a},{\"../main\":346,\"object-assign\":247}],335:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Ethiopian\",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Ethiopian\",epochs:[\"BEE\",\"EE\"],monthNames:[\"Meskerem\",\"Tikemet\",\"Hidar\",\"Tahesas\",\"Tir\",\"Yekatit\",\"Megabit\",\"Miazia\",\"Genbot\",\"Sene\",\"Hamle\",\"Nehase\",\"Pagume\"],monthNamesShort:[\"Mes\",\"Tik\",\"Hid\",\"Tah\",\"Tir\",\"Yek\",\"Meg\",\"Mia\",\"Gen\",\"Sen\",\"Ham\",\"Neh\",\"Pag\"],dayNames:[\"Ehud\",\"Segno\",\"Maksegno\",\"Irob\",\"Hamus\",\"Arb\",\"Kidame\"],dayNamesShort:[\"Ehu\",\"Seg\",\"Mak\",\"Iro\",\"Ham\",\"Arb\",\"Kid\"],dayNamesMin:[\"Eh\",\"Se\",\"Ma\",\"Ir\",\"Ha\",\"Ar\",\"Ki\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},{\"../main\":346,\"object-assign\":247}],336:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},{\"../main\":346,\"object-assign\":247}],337:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Islamic\",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Islamic\",epochs:[\"BH\",\"AH\"],monthNames:[\"Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' al-thani\",\"Jumada al-awwal\",\"Jumada al-thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-ahad\",\"Yawm al-ithnayn\",\"Yawm ath-thulaathaa'\",\"Yawm al-arbi'aa'\",\"Yawm al-kham\\u012bs\",\"Yawm al-jum'a\",\"Yawm as-sabt\"],dayNamesShort:[\"Aha\",\"Ith\",\"Thu\",\"Arb\",\"Kha\",\"Jum\",\"Sab\"],dayNamesMin:[\"Ah\",\"It\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},{\"../main\":346,\"object-assign\":247}],338:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Julian\",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Julian\",epochs:[\"BC\",\"AD\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},{\"../main\":346,\"object-assign\":247}],339:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+\".\"+Math.floor(t/20)+\".\"+t%20},forYear:function(t){if((t=t.split(\".\")).length<3)throw\"Invalid Mayan year\";for(var e=0,r=0;r19||r>0&&n<0)throw\"Invalid Mayan year\";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},{\"../main\":346,\"object-assign\":247}],340:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar;var o=n.instance(\"gregorian\");i(a.prototype,{name:\"Nanakshahi\",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},{\"../main\":346,\"object-assign\":247}],341:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Nepali\",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,\"d\").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),n.calendars.persian=a,n.calendars.jalali=a},{\"../main\":346,\"object-assign\":247}],343:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Taiwan\",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Taiwan\",epochs:[\"BROC\",\"ROC\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{\"../main\":346,\"object-assign\":247}],344:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Thai\",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Thai\",epochs:[\"BBE\",\"BE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{\"../main\":346,\"object-assign\":247}],345:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"UmmAlQura\",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Umm al-Qura\",epochs:[\"BH\",\"AH\"],monthNames:[\"Al-Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' Al-Thani\",\"Jumada Al-Awwal\",\"Jumada Al-Thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-Ahad\",\"Yawm al-Ithnain\",\"Yawm al-Thal\\u0101th\\u0101\\u2019\",\"Yawm al-Arba\\u2018\\u0101\\u2019\",\"Yawm al-Kham\\u012bs\",\"Yawm al-Jum\\u2018a\",\"Yawm al-Sabt\"],dayNamesMin:[\"Ah\",\"Ith\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\\{0\\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{\"../main\":346,\"object-assign\":247}],346:[function(t,e,r){var n=t(\"object-assign\");function i(){this.regionalOptions=[],this.regionalOptions[\"\"]={invalidCalendar:\"Calendar {0} not found\",invalidDate:\"Invalid {0} date\",invalidMonth:\"Invalid {0} month\",invalidYear:\"Invalid {0} year\",differentCalendars:\"Cannot mix {0} and {1} dates\"},this.local=this.regionalOptions[\"\"],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function o(t,e){return\"000000\".substring(0,e-(t=\"\"+t).length)+t}function s(){this.shortYearCutoff=\"+10\"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[\"\"]}n(i.prototype,{instance:function(t,e){t=(t||\"gregorian\").toLowerCase(),e=e||\"\";var r=this._localCals[t+\"-\"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+\"-\"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():\"string\"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+\"\").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(0===a?\"\":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,\"y\")},month:function(t){return 0===arguments.length?this._month:this.set(t,\"m\")},day:function(t){return 0===arguments.length?this._day:this.set(t,\"d\")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?\"-\":\"\")+o(Math.abs(this.year()),4)+\"-\"+o(this.month(),2)+\"-\"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return(e.year()<0?\"-\":\"\")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,\"d\"===r||\"w\"===r){var n=t.toJD()+e*(\"w\"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(\"y\"===r?e:0),o=t.monthOfYear()+(\"m\"===r?e:0);i=t.day();\"y\"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\"m\"===r&&(!function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||\"y\"!==n&&\"m\"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);var n=\"y\"===r?e:t.year(),i=\"m\"===r?e:t.month(),a=\"d\"===r?e:t.day();return\"y\"!==r&&\"m\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},{\"object-assign\":247}],347:[function(t,e,r){var n=t(\"object-assign\"),i=t(\"./main\");n(i.regionalOptions[\"\"],{invalidArguments:\"Invalid arguments\",invalidFormat:\"Cannot format a date from another calendar\",missingNumberAt:\"Missing number at position {0}\",unknownNameAt:\"Unknown name at position {0}\",unexpectedLiteralAt:\"Unexpected literal at position {0}\",unexpectedText:\"Additional text found at end\"}),i.local=i.regionalOptions[\"\"],n(i.cdate.prototype,{formatDate:function(t,e){return\"string\"!=typeof t&&(e=t,t=\"\"),this._calendar.formatDate(t||\"\",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(t,e,r){if(\"string\"!=typeof t&&(r=e,e=t,t=\"\"),!e)return\"\";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[\"\"].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,f=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n1}),d=function(t,e,r,n){var i=\"\"+e;if(p(t,n))for(;i.length1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][\"oyYJ@!\".indexOf(t)+1],o=new RegExp(\"^-?\\\\d{1,\"+a+\"}\"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if(\"function\"==typeof l){y(\"m\");var t=l.call(b,e.substring(A));return A+=t.length,t}return x(\"m\")},w=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s-1){p=1,d=m;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&\"object\"!=typeof r&&(i=n,n=r,r=null),\"string\"!=typeof n&&(i=n,n=\"\");var a=this;return e=e?e.newDate():null,t=null==t?e:\"string\"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||\"d\"),s=o.exec(t);return e}(t):\"number\"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,\"d\"):a.newDate(t)}})},{\"./main\":346,\"object-assign\":247}],348:[function(t,e,r){\"use strict\";e.exports=[{path:\"\",backoff:0},{path:\"M-2.4,-3V3L0.6,0Z\",backoff:.6},{path:\"M-3.7,-2.5V2.5L1.3,0Z\",backoff:1.3},{path:\"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z\",backoff:1.55},{path:\"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z\",backoff:1.6},{path:\"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z\",backoff:2},{path:\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\",backoff:0,noRotate:!0},{path:\"M2,2V-2H-2V2Z\",backoff:0,noRotate:!0}]},{}],349:[function(t,e,r){\"use strict\";var n=t(\"./arrow_paths\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../plots/cartesian/constants\"),o=t(\"../../plot_api/plot_template\").templatedArray;t(\"../../constants/axis_placeable_objects\");e.exports=o(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:i({editType:\"calc+arraydraw\",colorEditType:\"arraydraw\"}),width:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},height:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"center\",editType:\"arraydraw\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"arraydraw\"},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},borderpad:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},showarrow:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},arrowcolor:{valType:\"color\",editType:\"arraydraw\"},arrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},arrowside:{valType:\"flaglist\",flags:[\"end\",\"start\"],extras:[\"none\"],dflt:\"end\",editType:\"arraydraw\"},arrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},startarrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},arrowwidth:{valType:\"number\",min:.1,editType:\"calc+arraydraw\"},standoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},startstandoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},ax:{valType:\"any\",editType:\"calc+arraydraw\"},ay:{valType:\"any\",editType:\"calc+arraydraw\"},axref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.x.toString()],editType:\"calc\"},x:{valType:\"any\",editType:\"calc+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calc+arraydraw\"},xshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.y.toString()],editType:\"calc\"},y:{valType:\"any\",editType:\"calc+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"calc+arraydraw\"},yshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},clicktoshow:{valType:\"enumerated\",values:[!1,\"onoff\",\"onout\"],dflt:!1,editType:\"arraydraw\"},xclick:{valType:\"any\",editType:\"arraydraw\"},yclick:{valType:\"any\",editType:\"arraydraw\"},hovertext:{valType:\"string\",editType:\"arraydraw\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",editType:\"arraydraw\"},font:i({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\",_deprecated:{ref:{valType:\"string\",editType:\"calc\"}}})},{\"../../constants/axis_placeable_objects\":472,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/constants\":561,\"../../plots/font_attributes\":585,\"./arrow_paths\":348}],350:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"./draw\").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},\"range\"===a&&s(e,r),\"range\"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t[\"a\"+a],l=t[a+\"ref\"],c=t[\"a\"+a+\"ref\"],u=t[\"_\"+a+\"padplus\"],f=t[\"_\"+a+\"padminus\"],h={x:1,y:-1}[a]*t[a+\"shift\"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,m=p-h,g=3*t.startarrowsize*t.arrowwidth||0,v=g+h,y=g-h;if(c===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:m}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,v),ppadminus:Math.max(f,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else v=s?v+s:v,y=s?y-s:y,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,v),ppadminus:Math.max(f,m,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"./draw\":355}],351:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"../../plot_api/plot_template\").arrayEditor;function o(t,e){var r,n,i,a,o,l,c,u=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r2/3?\"right\":\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var W=!1,X=[\"x\",\"y\"],Z=0;Z1)&&(nt===rt?((pt=it.r2fraction(e[\"a\"+et]))<0||pt>1)&&(W=!0):W=!0),J=it._offset+it.r2p(e[et]),$=.5}else{var dt=\"domain\"===ht;\"x\"===et?(Q=e[et],J=dt?it._offset+it._length*Q:J=T.l+T.w*Q):(Q=1-e[et],J=dt?it._offset+it._length*Q:J=T.t+T.h*Q),$=e.showarrow?.5:Q}if(e.showarrow){ft.head=J;var mt=e[\"a\"+et];if(tt=ot*q(.5,e.xanchor)-st*q(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);\"domain\"===gt?(\"y\"===et&&(mt=1-mt),ft.tail=it._offset+it._length*mt):\"paper\"===gt?\"y\"===et?(mt=1-mt,ft.tail=T.t+T.h*mt):ft.tail=T.l+T.w*mt:ft.tail=it._offset+it.r2p(mt),K=tt}else ft.tail=J+mt,K=tt+mt;ft.text=ft.tail+tt;var vt=w[\"x\"===et?\"width\":\"height\"];if(\"paper\"===rt&&(ft.head=o.constrain(ft.head,1,vt-1)),\"pixel\"===nt){var yt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-vt;yt>0?(ft.tail+=yt,ft.text+=yt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ut,ft.head+=ut}else K=tt=lt*q($,ct),ft.text=J+tt;ft.text+=ut,tt+=ut,K+=ut,e[\"_\"+et+\"padplus\"]=lt/2+K,e[\"_\"+et+\"padminus\"]=lt/2-K,e[\"_\"+et+\"size\"]=lt,e[\"_\"+et+\"shift\"]=tt}if(W)R.remove();else{var bt=0,_t=0;if(\"left\"!==e.align&&(bt=(A-b)*(\"center\"===e.align?.5:1)),\"top\"!==e.valign&&(_t=(D-_)*(\"middle\"===e.valign?.5:1)),f)n.select(\"svg\").attr({x:N+bt-1,y:N+_t}).call(u.setClipUrl,U?L:null,t);else{var wt=N+_t-m.top,Tt=N+bt-m.left;G.call(h.positionText,Tt,wt).call(u.setClipUrl,U?L:null,t)}V.select(\"rect\").call(u.setRect,N,N,A,D),j.call(u.setRect,F/2,F/2,B-F,H-F),R.call(u.setTranslate,Math.round(C.x.text-B/2),Math.round(C.y.text-H/2)),O.attr({transform:\"rotate(\"+P+\",\"+C.x.text+\",\"+C.y.text+\")\"});var kt,At=function(r,n){I.selectAll(\".annotation-arrow-g\").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,p=C.y.tail+n,m=C.x.text+r,b=C.y.text+n,_=o.rotationXYMatrix(P,m,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+j.attr(\"width\"),z=+j.attr(\"height\"),D=m-.5*L,F=D+L,B=b-.5*z,N=B+z,U=[[D,B,D,N],[D,N,F,N],[F,N,F,B],[F,B,D,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,H=e.arrowcolor,q=e.arrowside,G=I.append(\"g\").style({opacity:c.opacity(H)}).classed(\"annotation-arrow-g\",!0),Y=G.append(\"path\").attr(\"d\",\"M\"+h+\",\"+p+\"L\"+l+\",\"+f).style(\"stroke-width\",V+\"px\").call(c.stroke,c.rgb(H));if(g(Y,q,e),k.annotationPosition&&Y.node().parentNode&&!a){var W=l,X=f;if(e.standoff){var Z=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));W+=e.standoff*(h-l)/Z,X+=e.standoff*(p-f)/Z}var J,K,Q=G.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(h-W)+\",\"+(p-X),transform:s(W,X)}).style(\"stroke-width\",V+6+\"px\").call(c.stroke,\"rgba(0,0,0,0)\").call(c.fill,\"rgba(0,0,0,0)\");d.init({element:Q.node(),gd:t,prepFn:function(){var t=u.getTranslate(R);J=t.x,K=t.y,v&&v.autorange&&M(v._name+\".autorange\",!0),x&&x.autorange&&M(x._name+\".autorange\",!0)},moveFn:function(t,r){var n=w(J,K),i=n[0]+t,a=n[1]+r;R.call(u.setTranslate,i,a),S(\"x\",y(v,t,\"x\",T,e)),S(\"y\",y(x,r,\"y\",T,e)),e.axref===e.xref&&S(\"ax\",y(v,t,\"ax\",T,e)),e.ayref===e.yref&&S(\"ay\",y(x,r,\"ay\",T,e)),G.attr(\"transform\",s(t,r)),O.attr({transform:\"rotate(\"+P+\",\"+i+\",\"+a+\")\"})},doneFn:function(){i.call(\"_guiRelayout\",t,E());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&At(0,0),z)d.init({element:R.node(),gd:t,prepFn:function(){kt=O.attr(\"transform\")},moveFn:function(t,r){var n=\"pointer\";if(e.showarrow)e.axref===e.xref?S(\"ax\",y(v,t,\"ax\",T,e)):S(\"ax\",e.ax+t),e.ayref===e.yref?S(\"ay\",y(x,r,\"ay\",T.w,e)):S(\"ay\",e.ay+r),At(t,r);else{if(a)return;var i,o;if(v)i=y(v,t,\"x\",T,e);else{var l=e._xsize/T.w,c=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(c+t/T.w,l,0,1,e.xanchor)}if(x)o=y(x,r,\"y\",T,e);else{var u=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-u/2;o=d.align(f-r/T.h,u,0,1,e.yanchor)}S(\"x\",i),S(\"y\",o),v&&x||(n=d.getCursor(v?.5:i,x?.5:o,e.xanchor,e.yanchor))}O.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit(\"plotly_clickannotation\",Y(n))},doneFn:function(){p(R),i.call(\"_guiRelayout\",t,E());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(\".annotation\").remove();for(var r=0;r=0,x=e.indexOf(\"end\")>=0,b=d.backoff*g+r.standoff,_=m.backoff*v+r.startstandoff;if(\"line\"===p.nodeName){o={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},u={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var w=o.x-u.x,T=o.y-u.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void z();if(b){if(b*b>w*w+T*T)return void z();var k=b*Math.cos(f),A=b*Math.sin(f);u.x+=k,u.y+=A,t.attr({x2:u.x,y2:u.y})}if(_){if(_*_>w*w+T*T)return void z();var M=_*Math.cos(f),S=_*Math.sin(f);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if(\"path\"===p.nodeName){var E=p.getTotalLength(),L=\"\";if(E1){c=!0;break}}c?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+s+'\"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{\"../../plots/gl3d/project\":607,\"../annotations/draw\":355}],362:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\");e.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:t(\"./attributes\")}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+\", \"+Math.round(255*n[1])+\", \"+Math.round(255*n[2]);return a?\"rgba(\"+s+\", \"+n[3]+\")\":\"rgb(\"+s+\")\"}o.tinyRGB=function(t){var e=t.toRgb();return\"rgb(\"+Math.round(e.r)+\", \"+Math.round(e.g)+\", \"+Math.round(e.b)+\")\"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+e+\")\"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||c).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,c))),(i.isDark()?e?i.lighten(e):c:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),\"fill-opacity\":r.getAlpha()})},o.clean=function(t){if(t&&\"object\"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>u&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var ct=Math.pow(10,Math.floor(Math.log(lt)/Math.LN10));ot*=ct*c.roundUp(lt/ct,[2,5,10]),(Math.abs(q.start)/q.size+1e-6)%1<2e-6&&(it.tick0=0)}it.dtick=ot}it.domain=o?[rt+I/R.h,rt+K-I/R.h]:[rt+P/R.w,rt+K-P/R.w],it.setScale(),t.attr(\"transform\",u(Math.round(R.l),Math.round(R.t)));var ut,ft=t.select(\".\"+A.cbtitleunshift).attr(\"transform\",u(-Math.round(R.l),-Math.round(R.t))),ht=it.ticklabelposition,pt=it.title.font.size,dt=t.select(\".\"+A.cbaxis),mt=0,gt=0;function vt(n,i){var a={propContainer:it,propName:e._propPrefix+\"title\",traceIndex:e._traceIndex,_meta:e._meta,placeholder:D._dfltTitle.colorbar,containerGroup:t.select(\".\"+A.cbtitle)},o=\"h\"===n.charAt(0)?n.substr(1):\"h\"+n;t.selectAll(\".\"+o+\",.\"+o+\"-math-group\").remove(),m.draw(r,n,f(a,i||{}))}return c.syncOrAsync([a.previousPromises,function(){var t,e;(o&&at||!o&&!at)&&(\"top\"===j&&(t=P+R.l+R.w*O,e=I+R.t+R.h*(1-rt-K)+3+.75*pt),\"bottom\"===j&&(t=P+R.l+R.w*O,e=I+R.t+R.h*(1-rt)-3-.25*pt),\"right\"===j&&(e=I+R.t+R.h*z+3+.75*pt,t=P+R.l+R.w*rt),vt(it._id+\"title\",{attributes:{x:t,y:e,\"text-anchor\":o?\"start\":\"middle\"}}))},function(){if(!o&&!at||o&&at){var a,l=t.select(\".\"+A.cbtitle),f=l.select(\"text\"),h=[-M/2,M/2],d=l.select(\".h\"+it._id+\"title-math-group\").node(),m=15.6;if(f.node()&&(m=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),gt=a.width,(mt=a.height)>m&&(h[1]-=(mt-m)/2)):f.node()&&!f.classed(A.jsPlaceholder)&&(a=p.bBox(f.node()),gt=a.width,mt=a.height),o){if(mt){if(mt+=5,\"top\"===j)it.domain[1]-=mt/R.h,h[1]*=-1;else{it.domain[0]+=mt/R.h;var v=g.lineCount(f);h[1]+=(1-v)*m}l.attr(\"transform\",u(h[0],h[1])),it.setScale()}}else gt&&(\"right\"===j&&(it.domain[0]+=(gt+pt/2)/R.w),l.attr(\"transform\",u(h[0],h[1])),it.setScale())}t.selectAll(\".\"+A.cbfills+\",.\"+A.cblines).attr(\"transform\",o?u(0,Math.round(R.h*(1-it.domain[1]))):u(Math.round(R.w*it.domain[0]),0)),dt.attr(\"transform\",o?u(0,Math.round(-R.t)):u(Math.round(-R.l),0));var y=t.select(\".\"+A.cbfills).selectAll(\"rect.\"+A.cbfill).attr(\"style\",\"\").data(Y);y.enter().append(\"rect\").classed(A.cbfill,!0).style(\"stroke\",\"none\"),y.exit().remove();var x=U.map(it.c2p).map(Math.round).sort((function(t,e){return t-e}));y.each((function(t,a){var s=[0===a?U[0]:(Y[a]+Y[a-1])/2,a===Y.length-1?U[1]:(Y[a]+Y[a+1])/2].map(it.c2p).map(Math.round);o&&(s[1]=c.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?\"x\":\"y\",Q).attr(o?\"y\":\"x\",n.min(s)).attr(o?\"width\":\"height\",Math.max(X,2)).attr(o?\"height\":\"width\",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?\"vertical\":\"horizontalreversed\",e._fillgradient,\"fill\");else{var u=H(t).replace(\"e-\",\"\");l.attr(\"fill\",i(u).toHexString())}}));var b=t.select(\".\"+A.cblines).selectAll(\"path.\"+A.cbline).data(B.color&&B.width?W:[]);b.enter().append(\"path\").classed(A.cbline,!0),b.exit().remove(),b.each((function(t){var e=Q,r=Math.round(it.c2p(t))+B.width/2%1;n.select(this).attr(\"d\",\"M\"+(o?e+\",\"+r:r+\",\"+e)+(o?\"h\":\"v\")+X).call(p.lineGroupStyle,B.width,V(t),B.dash)})),dt.selectAll(\"g.\"+it._id+\"tick,path\").remove();var _=Q+X+(M||0)/2-(\"outside\"===e.ticks?1:0),T=s.calcTicks(it),k=s.getTickSigns(it)[2];return s.drawTicks(r,it,{vals:\"inside\"===it.ticks?s.clipEnds(it,T):T,layer:dt,path:s.makeTickPath(it,_,k),transFn:s.makeTransTickFn(it)}),s.drawLabels(r,it,{vals:T,layer:dt,transFn:s.makeTransTickLabelFn(it),labelFns:s.makeLabelFns(it,_)})},function(){if(o&&!at||!o&&at){var t,i,a=it.position||0,s=it._offset+it._length/2;if(\"right\"===j)i=s,t=R.l+R.w*a+10+pt*(it.showticklabels?1:.5);else if(t=s,\"bottom\"===j&&(i=R.t+R.h*a+10+(-1===ht.indexOf(\"inside\")?it.tickfont.size:0)+(\"intside\"!==it.ticks&&e.ticklen||0)),\"top\"===j){var l=N.text.split(\"
\").length;i=R.t+R.h*a+10-X-w*pt*l}vt((o?\"h\":\"v\")+it._id+\"title\",{avoid:{selection:n.select(r).selectAll(\"g.\"+it._id+\"tick\"),side:j,offsetTop:o?0:R.t,offsetLeft:o?R.l:0,maxShift:o?D.width:D.height},attributes:{x:t,y:i,\"text-anchor\":\"middle\"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=X+M/2;-1===ht.indexOf(\"inside\")&&(n=p.bBox(dt.node()),s+=o?n.width:n.height),ut=ft.select(\"text\");var c=0,f=o&&\"top\"===j,m=!o&&\"right\"===j,g=0;if(ut.node()&&!ut.classed(A.jsPlaceholder)){var y,x=ft.select(\".h\"+it._id+\"title-math-group\").node();x&&(o&&at||!o&&!at)?(c=(n=p.bBox(x)).width,y=n.height):(c=(n=p.bBox(ft.node())).right-R.l-(o?Q:nt),y=n.bottom-R.t-(o?nt:Q),o||\"top\"!==j||(s+=n.height,g=n.height)),m&&(ut.attr(\"transform\",u(c/2+pt/2,0)),c*=2),s=Math.max(s,o?c:y)}var b=2*(o?P:I)+s+S+M/2,w=0;!o&&N.text&&\"bottom\"===C&&z<=0&&(b+=w=b/2,g+=w),D._hColorbarMoveTitle=w,D._hColorbarMoveCBTitle=g;var F=S+M;t.select(\".\"+A.cbbg).attr(\"x\",(o?Q:nt)-F/2-(o?P:0)).attr(\"y\",(o?nt:Q)-(o?J:I+g-w)).attr(o?\"width\":\"height\",Math.max(b-w,2)).attr(o?\"height\":\"width\",Math.max(J+F,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style(\"stroke-width\",S);var B=m?Math.max(c-10,0):0;if(t.selectAll(\".\"+A.cboutline).attr(\"x\",(o?Q:nt+P)+B).attr(\"y\",(o?nt+I-J:Q)+(f?mt:0)).attr(o?\"width\":\"height\",Math.max(X,2)).attr(o?\"height\":\"width\",Math.max(J-(o?2*I+mt:2*P+B),2)).call(d.stroke,e.outlinecolor).style({fill:\"none\",\"stroke-width\":M}),t.attr(\"transform\",u(R.l-(o?$*b:0),R.t-(o?0:(1-tt)*b-g))),!o&&(S||i(E).getAlpha()&&!i.equals(D.paper_bgcolor,E))){var U=dt.selectAll(\"text\"),V=U[0].length,H=t.select(\".\"+A.cbbg).node(),q=p.bBox(H),G=p.getTranslate(t);U.each((function(t,e){var r=V-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=q.right+G.x+nt-S-2+O-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=q.left+G.x+nt+S+2-s)<0&&(n=0)}n&&(V<3?this.setAttribute(\"transform\",\"translate(\"+n+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}}))}var Y={},W=T[L],Z=k[L],K=T[C],et=k[C],rt=b-X;o?(\"pixels\"===h?(Y.y=z,Y.t=J*K,Y.b=J*et):(Y.t=Y.b=0,Y.yt=z+l*K,Y.yb=z-l*et),\"pixels\"===_?(Y.x=O,Y.l=b*W,Y.r=b*Z):(Y.l=rt*W,Y.r=rt*Z,Y.xl=O-v*W,Y.xr=O+v*Z)):(\"pixels\"===h?(Y.x=O,Y.l=J*W,Y.r=J*Z):(Y.l=Y.r=0,Y.xl=O+l*W,Y.xr=O-l*Z),\"pixels\"===_?(Y.y=1-z,Y.t=b*K,Y.b=b*et):(Y.t=rt*K,Y.b=rt*et,Y.yt=z-v*K,Y.yb=z+v*et)),a.autoMargin(r,e._id,Y)}],r)}(r,e,t);v&&v.then&&(t._promises||[]).push(v),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s=\"v\"===e.orientation,c=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr(\"transform\"),h(t)},moveFn:function(r,o){t.attr(\"transform\",n+u(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/c.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/c.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var f=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,f)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+\"x\"]=i,n[e._propPrefix+\"y\"]=a,void 0!==e._traceIndex?o.call(\"_guiRestyle\",r,n,e._traceIndex):o.call(\"_guiRelayout\",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},{\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/extend\":493,\"../../lib/setcursor\":524,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axes\":554,\"../../plots/cartesian/axis_defaults\":556,\"../../plots/cartesian/layout_attributes\":569,\"../../plots/cartesian/position_defaults\":572,\"../../plots/plots\":619,\"../../registry\":638,\"../color\":366,\"../colorscale/helpers\":377,\"../dragelement\":385,\"../drawing\":388,\"../titles\":464,\"./constants\":368,\"@plotly/d3\":58,tinycolor2:312}],371:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{\"../../lib\":503}],372:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"colorbar\",attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),draw:t(\"./draw\").draw,hasColorbar:t(\"./has_colorbar\")}},{\"./attributes\":367,\"./defaults\":369,\"./draw\":370,\"./has_colorbar\":371}],373:[function(t,e,r){\"use strict\";var n=t(\"../colorbar/attributes\"),i=t(\"../../lib/regex\").counter,a=t(\"../../lib/sort_object_keys\"),o=t(\"./scales.js\").scales;a(o);function s(t){return\"`\"+t+\"`\"}e.exports=function(t,e){t=t||\"\";var r,a=(e=e||{}).cLetter||\"c\",l=(\"onlyIfNumerical\"in e?e.onlyIfNumerical:Boolean(t),\"noScale\"in e?e.noScale:\"marker.line\"===t),c=\"showScaleDflt\"in e?e.showScaleDflt:\"z\"===a,u=\"string\"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,f=e.editTypeOverride||\"\",h=t?t+\".\":\"\";\"colorAttr\"in e?(r=e.colorAttr,e.colorAttr):s(h+(r={z:\"z\",c:\"color\"}[a]));var p=a+\"auto\",d=a+\"min\",m=a+\"max\",g=a+\"mid\",v=(s(h+p),s(h+d),s(h+m),{});v[d]=v[m]=void 0;var y={};y[p]=!1;var x={};return\"color\"===r&&(x.color={valType:\"color\",arrayOk:!0,editType:f||\"style\"},e.anim&&(x.color.anim=!0)),x[p]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:v},x[d]={valType:\"number\",dflt:null,editType:f||\"plot\",impliedEdits:y},x[m]={valType:\"number\",dflt:null,editType:f||\"plot\",impliedEdits:y},x[g]={valType:\"number\",dflt:null,editType:\"calc\",impliedEdits:v},x.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:u,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:\"boolean\",dflt:!1!==e.autoColorDflt,editType:\"calc\",impliedEdits:{colorscale:void 0}},x.reversescale={valType:\"boolean\",dflt:!1,editType:\"plot\"},l||(x.showscale={valType:\"boolean\",dflt:c,editType:\"calc\"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:\"subplotid\",regex:i(\"coloraxis\"),dflt:null,editType:\"calc\"}),x}},{\"../../lib/regex\":520,\"../../lib/sort_object_keys\":526,\"../colorbar/attributes\":367,\"./scales.js\":381}],374:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"./helpers\").extractOpts;e.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?i.nestedProperty(e,c).get():e,f=a(u),h=!1!==f.auto,p=f.min,d=f.max,m=f.mid,g=function(){return i.aggNums(Math.min,null,l)},v=function(){return i.aggNums(Math.max,null,l)};(void 0===p?p=g():h&&(p=u._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=v():h&&(d=u._colorAx&&n(d)?Math.max(d,v()):v()),h&&void 0!==m&&(d-m>m-p?p=m-(d-m):d-m=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync(\"colorscale\",o))}},{\"../../lib\":503,\"./helpers\":377,\"fast-isnumeric\":190}],375:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./helpers\").hasColorscale,a=t(\"./helpers\").extractOpts;e.exports=function(t,e){function r(t,e){var r=t[\"_\"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,\"colorscale\")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,c=new Array(l),u=0;u4/3-s?o:s}},{}],383:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];e.exports=function(t,e,r,a){return t=\"left\"===r?0:\"center\"===r?1:\"right\"===r?2:n.constrain(Math.floor(3*t),0,2),e=\"bottom\"===a?0:\"middle\"===a?1:\"top\"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{\"../../lib\":503}],384:[function(t,e,r){\"use strict\";r.selectMode=function(t){return\"lasso\"===t||\"select\"===t},r.drawMode=function(t){return\"drawclosedpath\"===t||\"drawopenpath\"===t||\"drawline\"===t||\"drawrect\"===t||\"drawcircle\"===t},r.openMode=function(t){return\"drawline\"===t||\"drawopenpath\"===t},r.rectMode=function(t){return\"select\"===t||\"drawline\"===t||\"drawrect\"===t||\"drawcircle\"===t},r.freeMode=function(t){return\"lasso\"===t||\"drawclosedpath\"===t||\"drawopenpath\"===t},r.selectingOrDrawing=function(t){return r.freeMode(t)||r.rectMode(t)}},{}],385:[function(t,e,r){\"use strict\";var n=t(\"mouse-event-offset\"),i=t(\"has-hover\"),a=t(\"has-passive-events\"),o=t(\"../../lib\").removeElement,s=t(\"../../plots/cartesian/constants\"),l=e.exports={};l.align=t(\"./align\"),l.getCursor=t(\"./cursor\");var c=t(\"./unhover\");function u(){var t=document.createElement(\"div\");t.className=\"dragcover\";var e=t.style;return e.position=\"fixed\",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background=\"none\",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=c.wrapped,l.unhoverRaw=c.raw,l.init=function(t){var e,r,n,c,h,p,d,m,g=t.gd,v=1,y=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents=\"all\",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener(\"touchstart\",x._ontouchstart),x._ontouchstart=_,x.addEventListener(\"touchstart\",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)y&&(v=Math.max(v-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(v,p),!m){var r;try{r=new MouseEvent(\"click\",e)}catch(t){var n=f(e);(r=document.createEvent(\"MouseEvents\")).initMouseEvent(\"click\",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=u},{\"../../lib\":503,\"../../plots/cartesian/constants\":561,\"./align\":382,\"./cursor\":383,\"./unhover\":386,\"has-hover\":228,\"has-passive-events\":229,\"mouse-event-offset\":242}],386:[function(t,e,r){\"use strict\";var n=t(\"../../lib/events\"),i=t(\"../../lib/throttle\"),a=t(\"../../lib/dom\").getGraphDiv,o=t(\"../fx/constants\"),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,\"plotly_beforehover\",e)||(r._hoverlayer.selectAll(\"g\").remove(),r._hoverlayer.selectAll(\"line\").remove(),r._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,e.target&&i&&t.emit(\"plotly_unhover\",{event:e,points:i}))}},{\"../../lib/dom\":491,\"../../lib/events\":492,\"../../lib/throttle\":530,\"../fx/constants\":400}],387:[function(t,e,r){\"use strict\";r.dash={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"},r.pattern={shape:{valType:\"enumerated\",values:[\"\",\"/\",\"\\\\\",\"x\",\"-\",\"|\",\"+\",\".\"],dflt:\"\",arrayOk:!0,editType:\"style\"},fillmode:{valType:\"enumerated\",values:[\"replace\",\"overlay\"],dflt:\"replace\",editType:\"style\"},bgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgopacity:{valType:\"number\",editType:\"style\",min:0,max:1},size:{valType:\"number\",min:0,dflt:8,arrayOk:!0,editType:\"style\"},solidity:{valType:\"number\",min:0,max:1,dflt:.3,arrayOk:!0,editType:\"style\"},editType:\"style\"}},{}],388:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=i.numberFormat,o=t(\"fast-isnumeric\"),s=t(\"tinycolor2\"),l=t(\"../../registry\"),c=t(\"../color\"),u=t(\"../colorscale\"),f=i.strTranslate,h=t(\"../../lib/svg_text_utils\"),p=t(\"../../constants/xmlns_namespaces\"),d=t(\"../../constants/alignment\").LINE_SPACING,m=t(\"../../constants/interactions\").DESELECTDIM,g=t(\"../../traces/scatter/subtypes\"),v=t(\"../../traces/scatter/make_bubble_size_func\"),y=t(\"../../components/fx/helpers\").appendArrayPointValue,x=e.exports={};function b(t,e,r){var n=e.fillpattern,i=n&&x.getPatternAttr(n.shape,0,\"\");if(i){var a=x.getPatternAttr(n.bgcolor,0,null),o=x.getPatternAttr(n.fgcolor,0,null),s=n.fgopacity,l=x.getPatternAttr(n.size,0,8),u=x.getPatternAttr(n.solidity,0,.3),f=e.uid;x.pattern(t,\"point\",r,f,i,l,u,void 0,n.fillmode,a,o,s)}else e.fillcolor&&t.call(c.fill,e.fillcolor)}x.font=function(t,e,r,n){i.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style(\"font-family\",e),r+1&&t.style(\"font-size\",r+\"px\"),n&&t.call(c.fill,n)},x.setPosition=function(t,e,r){t.attr(\"x\",e).attr(\"y\",r)},x.setSize=function(t,e,r){t.attr(\"width\",e).attr(\"height\",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&(\"text\"===e.node().nodeName?e.attr(\"x\",i).attr(\"y\",a):e.attr(\"transform\",f(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(\"display\",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:\"none\")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,c=l.traceIs(a,\"bar-like\")?\".bartext\":\".point,.textpoint\";t.selectAll(c).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.singleLineStyle=function(t,e,r,n,i){e.style(\"fill\",\"none\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";c.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style(\"fill\",\"none\").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||\"\";n.select(this).call(c.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({\"stroke-dasharray\":e,\"stroke-width\":r+\"px\"})},x.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return\"solid\"===t?t=\"\":\"dot\"===t?t=r+\"px,\"+r+\"px\":\"dash\"===t?t=3*r+\"px,\"+3*r+\"px\":\"longdash\"===t?t=5*r+\"px,\"+5*r+\"px\":\"dashdot\"===t?t=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":\"longdashdot\"===t&&(t=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),t},x.singleFillStyle=function(t,e){var r=n.select(t.node());b(t,((r.data()[0]||[])[0]||{}).trace||{},e)},x.fillGroupStyle=function(t,e){t.style(\"stroke-width\",0).each((function(t){var r=n.select(this);t[0].trace&&b(r,t[0].trace,e)}))};var _=t(\"./symbol_defs\");x.symbolNames=[],x.symbolFuncs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(_).forEach((function(t){var e=_[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+\"-open\"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+\"-dot\",r+300,String(r+300),t+\"-open-dot\"),e.noFill&&(x.symbolNoFill[r]=!0)}));var w=x.symbolNames.length;function T(t,e){var r=t%100;return x.symbolFuncs[r](e)+(t>=200?\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\":\"\")}x.symbolNumber=function(t){if(o(t))t=+t;else if(\"string\"==typeof t){var e=0;t.indexOf(\"-open\")>0&&(e=100,t=t.replace(\"-open\",\"\")),t.indexOf(\"-dot\")>0&&(e+=200,t=t.replace(\"-dot\",\"\")),(t=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=w||t>=400?0:Math.floor(Math.max(t,0))};var k={x1:1,x2:0,y1:0,y2:0},A={x1:0,x2:0,y1:1,y2:0},M=a(\"~f\"),S={radial:{node:\"radialGradient\"},radialreversed:{node:\"radialGradient\",reversed:!0},horizontal:{node:\"linearGradient\",attrs:k},horizontalreversed:{node:\"linearGradient\",attrs:k,reversed:!0},vertical:{node:\"linearGradient\",attrs:A},verticalreversed:{node:\"linearGradient\",attrs:A,reversed:!0}};x.gradient=function(t,e,r,a,o,l){for(var u=o.length,f=S[a],h=new Array(u),p=0;p=100,e.attr(\"d\",T(u,l))}var f,h,p,d=!1;if(t.so)p=s.outlierwidth,h=s.outliercolor,f=o.outliercolor;else{var m=(s||{}).width;p=(t.mlw+1||m+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,h=\"mlc\"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(s.color)?c.defaultLine:s.color,i.isArrayOrTypedArray(o.color)&&(f=c.defaultLine,d=!0),f=\"mc\"in t?t.mcc=n.markerScale(t.mc):o.color||\"rgba(0,0,0,0)\",n.selectedColorFn&&(f=n.selectedColorFn(t))}if(t.om)e.call(c.stroke,f).style({\"stroke-width\":(p||1)+\"px\",fill:\"none\"});else{e.style(\"stroke-width\",(t.isBlank?0:p)+\"px\");var g=o.gradient,v=t.mgt;v?d=!0:v=g&&g.type,i.isArrayOrTypedArray(v)&&(v=v[0],S[v]||(v=0));var y=o.pattern,b=y&&x.getPatternAttr(y.shape,t.i,\"\");if(v&&\"none\"!==v){var _=t.mgc;_?d=!0:_=g.color;var w=r.uid;d&&(w+=\"-\"+t.i),x.gradient(e,a,w,v,[[0,_],[1,f]],\"fill\")}else if(b){var k=x.getPatternAttr(y.bgcolor,t.i,null),A=x.getPatternAttr(y.fgcolor,t.i,null),M=y.fgopacity,E=x.getPatternAttr(y.size,t.i,8),L=x.getPatternAttr(y.solidity,t.i,.3),C=t.mcc||i.isArrayOrTypedArray(y.shape)||i.isArrayOrTypedArray(y.bgcolor)||i.isArrayOrTypedArray(y.size)||i.isArrayOrTypedArray(y.solidity),P=r.uid;C&&(P+=\"-\"+t.i),x.pattern(e,\"point\",a,P,b,E,L,t.mcc,y.fillmode,k,A,M)}else c.fill(e,f);p&&c.stroke(e,h)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,\"\"),e.lineScale=x.tryColorscale(r,\"line\"),l.traceIs(t,\"symbols\")&&(e.ms2mrc=g.isBubble(t)?v(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},c=a.opacity,u=o.opacity,f=s.opacity,h=void 0!==u,p=void 0!==f;(i.isArrayOrTypedArray(c)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?u:e:p?f:m*e});var d=a.color,g=o.color,v=s.color;(g||v)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:v||e});var y=a.size,x=o.size,b=s.size,_=void 0!==x,w=void 0!==b;return l.traceIs(t,\"symbols\")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:u||(l?e:c.addOpacity(e,m))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style(\"opacity\",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){c.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,e){var n=e.mx||i.symbol||0,a=r.selectedSizeFn(e);t.attr(\"d\",T(x.symbolNumber(n),a)),e.mrc2=a})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),c=s?i.extractOption(t,e,\"txt\",\"texttemplate\"):i.extractOption(t,e,\"tx\",\"text\");if(c||0===c){if(s){var u=e._module.formatLabels,f=u?u(t,e,l):{},p={};y(p,e,t.i);var d=e._meta||{};c=i.texttemplateString(c,f,l._d3locale,p,t,d)}var m=t.tp||e.textposition,g=C(t,e),v=a?a(t):t.tc||e.textfont.color;o.call(x.font,t.tf||e.textfont.family,g,v).text(c).call(h.convertToTspans,r).call(L,m,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=C(t,e);c.fill(i,a);var u=l.traceIs(e,\"bar-like\");L(i,o,s,t.mrc2||t.mrc,u)}))}};function P(t,e,r,i){var a=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(a*a+o*o,.25),u=Math.pow(s*s+l*l,.25),f=(u*u*a-c*c*s)*i,h=(u*u*o-c*c*l)*i,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&f/p),2),n.round(e[1]+(p&&h/p),2)],[n.round(e[0]-(d&&f/d),2),n.round(e[1]-(d&&h/d),2)]]}x.smoothopen=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\");var r,n=\"M\"+t[0],i=[];for(r=1;r=1e4&&(x.savedBBoxes={},z=0),r&&(x.savedBBoxes[r]=g),z++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr(\"clip-path\",R(e,r))},x.getTranslate=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,(function(t,e,r){return[e,r].join(\" \")})).split(\" \");return{x:+e[0]||0,y:+e[1]||0}},x.setTranslate=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||0,r=r||0,a=a.replace(/(\\btranslate\\(.*?\\);?)/,\"\").trim(),a=(a+=f(e,r)).trim(),t[i](\"transform\",a),a},x.getScale=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,(function(t,e,r){return[e,r].join(\" \")})).split(\" \");return{x:+e[0]||1,y:+e[1]||1}},x.setScale=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||1,r=r||1,a=a.replace(/(\\bscale\\(.*?\\);?)/,\"\").trim(),a=(a+=\"scale(\"+e+\",\"+r+\")\").trim(),t[i](\"transform\",a),a};var F=/\\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?\"\":\"scale(\"+e+\",\"+r+\")\";t.each((function(){var t=(this.getAttribute(\"transform\")||\"\").replace(F,\"\");t=(t+=n).trim(),this.setAttribute(\"transform\",t)}))}};var B=/translate\\([^)]*\\)\\s*$/;x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select(\"text\");if(a.node()){var o=parseFloat(a.attr(\"x\")||0),s=parseFloat(a.attr(\"y\")||0),l=(i.attr(\"transform\")||\"\").match(B);t=1===e&&1===r?[]:[f(o,s),\"scale(\"+e+\",\"+r+\")\",f(-o,-s)],l&&t.push(l),i.attr(\"transform\",t.join(\"\"))}}))}},{\"../../components/fx/helpers\":402,\"../../constants/alignment\":471,\"../../constants/interactions\":478,\"../../constants/xmlns_namespaces\":480,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../registry\":638,\"../../traces/scatter/make_bubble_size_func\":944,\"../../traces/scatter/subtypes\":952,\"../color\":366,\"../colorscale\":378,\"./symbol_defs\":389,\"@plotly/d3\":58,\"fast-isnumeric\":190,tinycolor2:312}],389:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"}},square:{n:1,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"Z\"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H\"+e+\"V\"+r+\"H-\"+e+\"V\"+e+\"H-\"+r+\"V-\"+e+\"H-\"+e+\"V-\"+r+\"H\"+e+\"V-\"+e+\"H\"+r+\"Z\"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r=\"l\"+e+\",\"+e,i=\"l\"+e+\",-\"+e,a=\"l-\"+e+\",-\"+e,o=\"l-\"+e+\",\"+e;return\"M0,\"+e+r+i+a+i+a+o+a+o+r+o+r+\"Z\"}},\"triangle-up\":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+e+\",\"+n.round(t/2,2)+\"H\"+e+\"L0,-\"+n.round(t,2)+\"Z\"}},\"triangle-down\":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+e+\",-\"+n.round(t/2,2)+\"H\"+e+\"L0,\"+n.round(t,2)+\"Z\"}},\"triangle-left\":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M\"+n.round(t/2,2)+\",-\"+e+\"V\"+e+\"L-\"+n.round(t,2)+\",0Z\"}},\"triangle-right\":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+n.round(t/2,2)+\",-\"+e+\"V\"+e+\"L\"+n.round(t,2)+\",0Z\"}},\"triangle-ne\":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+r+\",-\"+e+\"H\"+e+\"V\"+r+\"Z\"}},\"triangle-se\":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+e+\",-\"+r+\"V\"+e+\"H-\"+r+\"Z\"}},\"triangle-sw\":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H-\"+e+\"V-\"+r+\"Z\"}},\"triangle-nw\":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+e+\",\"+r+\"V-\"+e+\"H\"+r+\"Z\"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),i=n.round(-t,2),a=n.round(-.309*t,2);return\"M\"+e+\",\"+a+\"L\"+r+\",\"+n.round(.809*t,2)+\"H-\"+r+\"L-\"+e+\",\"+a+\"L0,\"+i+\"Z\"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\"M\"+i+\",-\"+r+\"V\"+r+\"L0,\"+e+\"L-\"+i+\",\"+r+\"V-\"+r+\"L0,-\"+e+\"Z\"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\"M-\"+r+\",\"+i+\"H\"+r+\"L\"+e+\",0L\"+r+\",-\"+i+\"H-\"+r+\"L-\"+e+\",0Z\"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return\"M-\"+r+\",-\"+e+\"H\"+r+\"L\"+e+\",-\"+r+\"V\"+r+\"L\"+r+\",\"+e+\"H-\"+r+\"L-\"+e+\",\"+r+\"V-\"+r+\"Z\"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return\"M\"+r+\",\"+l+\"H\"+i+\"L\"+a+\",\"+c+\"L\"+o+\",\"+u+\"L0,\"+n.round(.382*e,2)+\"L-\"+o+\",\"+u+\"L-\"+a+\",\"+c+\"L-\"+i+\",\"+l+\"H-\"+r+\"L0,\"+s+\"Z\"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),i=n.round(.76*t,2);return\"M-\"+i+\",0l-\"+r+\",-\"+e+\"h\"+i+\"l\"+r+\",-\"+e+\"l\"+r+\",\"+e+\"h\"+i+\"l-\"+r+\",\"+e+\"l\"+r+\",\"+e+\"h-\"+i+\"l-\"+r+\",\"+e+\"l-\"+r+\",-\"+e+\"h-\"+i+\"Z\"}},\"star-triangle-up\":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M-\"+e+\",\"+r+o+e+\",\"+r+o+\"0,-\"+i+o+\"-\"+e+\",\"+r+\"Z\"}},\"star-triangle-down\":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M\"+e+\",-\"+r+o+\"-\"+e+\",-\"+r+o+\"0,\"+i+o+e+\",-\"+r+\"Z\"}},\"star-square\":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",-\"+e+i+\"-\"+e+\",\"+e+i+e+\",\"+e+i+e+\",-\"+e+i+\"-\"+e+\",-\"+e+\"Z\"}},\"star-diamond\":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",0\"+i+\"0,\"+e+i+e+\",0\"+i+\"0,-\"+e+i+\"-\"+e+\",0Z\"}},\"diamond-tall\":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},\"diamond-wide\":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"L\"+e+\",-\"+e+\"H-\"+e+\"Z\"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"V-\"+e+\"L-\"+e+\",\"+e+\"V-\"+e+\"Z\"},noDot:!0},\"circle-cross\":{n:27,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM0,-\"+e+\"V\"+e+\"M-\"+e+\",0H\"+e},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM-\"+r+\",-\"+r+\"L\"+r+\",\"+r+\"M-\"+r+\",\"+r+\"L\"+r+\",-\"+r},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return\"M\"+e+\",\"+r+\"V-\"+r+\"m-\"+r+\",0V\"+r+\"M\"+r+\",\"+e+\"H-\"+r+\"m0,-\"+r+\"H\"+r},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+e+\",\"+i+\"L0,0M\"+e+\",\"+i+\"L0,0M0,-\"+r+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+e+\",-\"+i+\"L0,0M\"+e+\",-\"+i+\"L0,0M0,\"+r+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M\"+i+\",\"+e+\"L0,0M\"+i+\",-\"+e+\"L0,0M-\"+r+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+i+\",\"+e+\"L0,0M-\"+i+\",-\"+e+\"L0,0M\"+r+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(t){var e=n.round(1.4*t,2);return\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(t){var e=n.round(t,2);return\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e},needLine:!0,noDot:!0,noFill:!0},\"arrow-up\":{n:45,f:function(t){var e=n.round(t,2);return\"M0,0L-\"+e+\",\"+n.round(2*t,2)+\"H\"+e+\"Z\"},noDot:!0},\"arrow-down\":{n:46,f:function(t){var e=n.round(t,2);return\"M0,0L-\"+e+\",-\"+n.round(2*t,2)+\"H\"+e+\"Z\"},noDot:!0},\"arrow-left\":{n:47,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return\"M0,0L\"+e+\",-\"+r+\"V\"+r+\"Z\"},noDot:!0},\"arrow-right\":{n:48,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return\"M0,0L-\"+e+\",-\"+r+\"V\"+r+\"Z\"},noDot:!0},\"arrow-bar-up\":{n:49,f:function(t){var e=n.round(t,2);return\"M-\"+e+\",0H\"+e+\"M0,0L-\"+e+\",\"+n.round(2*t,2)+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"arrow-bar-down\":{n:50,f:function(t){var e=n.round(t,2);return\"M-\"+e+\",0H\"+e+\"M0,0L-\"+e+\",-\"+n.round(2*t,2)+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"arrow-bar-left\":{n:51,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return\"M0,-\"+r+\"V\"+r+\"M0,0L\"+e+\",-\"+r+\"V\"+r+\"Z\"},needLine:!0,noDot:!0},\"arrow-bar-right\":{n:52,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return\"M0,-\"+r+\"V\"+r+\"M0,0L-\"+e+\",-\"+r+\"V\"+r+\"Z\"},needLine:!0,noDot:!0}}},{\"@plotly/d3\":58}],390:[function(t,e,r){\"use strict\";e.exports={visible:{valType:\"boolean\",editType:\"calc\"},type:{valType:\"enumerated\",values:[\"percent\",\"constant\",\"sqrt\",\"data\"],editType:\"calc\"},symmetric:{valType:\"boolean\",editType:\"calc\"},array:{valType:\"data_array\",editType:\"calc\"},arrayminus:{valType:\"data_array\",editType:\"calc\"},value:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},valueminus:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},traceref:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},tracerefminus:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},copy_ystyle:{valType:\"boolean\",editType:\"plot\"},copy_zstyle:{valType:\"boolean\",editType:\"style\"},color:{valType:\"color\",editType:\"style\"},thickness:{valType:\"number\",min:0,dflt:2,editType:\"style\"},width:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\",_deprecated:{opacity:{valType:\"number\",editType:\"style\"}}}},{}],391:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../registry\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../lib\"),s=t(\"./compute_error\");function l(t,e,r,i){var l=e[\"error_\"+i]||{},c=[];if(l.visible&&-1!==[\"linear\",\"log\"].indexOf(r.type)){for(var u=s(l),f=0;f0;e.each((function(e){var f,h=e[0].trace,p=h.error_x||{},d=h.error_y||{};h.ids&&(f=function(t){return t.id});var m=o.hasMarkers(h)&&h.marker.maxdisplayed>0;d.visible||p.visible||(e=[]);var g=n.select(this).selectAll(\"g.errorbar\").data(e,f);if(g.exit().remove(),e.length){p.visible||g.selectAll(\"path.xerror\").remove(),d.visible||g.selectAll(\"path.yerror\").remove(),g.style(\"opacity\",1);var v=g.enter().append(\"g\").classed(\"errorbar\",!0);u&&v.style(\"opacity\",0).transition().duration(s.duration).style(\"opacity\",1),a.setClipUrl(g,r.layerClipId,t),g.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,l,c);if(!m||t.vis){var a,o=e.select(\"path.yerror\");if(d.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var f=d.width;a=\"M\"+(r.x-f)+\",\"+r.yh+\"h\"+2*f+\"m-\"+f+\",0V\"+r.ys,r.noYS||(a+=\"m-\"+f+\",0h\"+2*f),!o.size()?o=e.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"yerror\",!0):u&&(o=o.transition().duration(s.duration).ease(s.easing)),o.attr(\"d\",a)}else o.remove();var h=e.select(\"path.xerror\");if(p.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var g=(p.copy_ystyle?d:p).width;a=\"M\"+r.xh+\",\"+(r.y-g)+\"v\"+2*g+\"m0,-\"+g+\"H\"+r.xs,r.noXS||(a+=\"m0,-\"+g+\"v\"+2*g),!h.size()?h=e.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"xerror\",!0):u&&(h=h.transition().duration(s.duration).ease(s.easing)),h.attr(\"d\",a)}else h.remove()}}))}}))}},{\"../../traces/scatter/subtypes\":952,\"../drawing\":388,\"@plotly/d3\":58,\"fast-isnumeric\":190}],396:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../color\");e.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",r.thickness+\"px\").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(i.stroke,a.color)}))}},{\"../color\":366,\"@plotly/d3\":58}],397:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"./layout_attributes\").hoverlabel,a=t(\"../../lib/extend\").extendFlat;e.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:\"none\"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:\"none\"}}},{\"../../lib/extend\":493,\"../../plots/font_attributes\":585,\"./layout_attributes\":407}],398:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\");function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.index_[0]._length||ot<0||ot>w[0]._length)return d.unhoverRaw(t,e)}if(e.pointerX=at+_[0]._offset,e.pointerY=ot+w[0]._offset,V=\"xval\"in e?v.flat(l,e.xval):v.p2c(_,at),H=\"yval\"in e?v.flat(l,e.yval):v.p2c(w,ot),!i(V[0])||!i(H[0]))return o.warn(\"Fx.hover failed\",e,t),d.unhoverRaw(t,e)}var ct=1/0;function ut(t,r){for(G=0;Gtt&&(et.splice(0,tt),ct=et[0].distance),y&&0!==B&&0===et.length){$.distance=B,$.index=!1;var f=W._module.hoverPoints($,K,Q,\"closest\",{hoverLayer:u._hoverlayer});if(f&&(f=f.filter((function(t){return t.spikeDistance<=B}))),f&&f.length){var h,d=f.filter((function(t){return t.xa.showspikes&&\"hovered data\"!==t.xa.spikesnap}));if(d.length){var m=d[0];i(m.x0)&&i(m.y0)&&(h=ht(m),(!nt.vLinePoint||nt.vLinePoint.spikeDistance>h.spikeDistance)&&(nt.vLinePoint=h))}var g=f.filter((function(t){return t.ya.showspikes&&\"hovered data\"!==t.ya.spikesnap}));if(g.length){var x=g[0];i(x.x0)&&i(x.y0)&&(h=ht(x),(!nt.hLinePoint||nt.hLinePoint.spikeDistance>h.spikeDistance)&&(nt.hLinePoint=h))}}}}}function ft(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)Tt-1;Mt--)Ct(et[Mt]);et=St,gt()}var Pt=t._hoverdata,It=[],Ot=j(t),zt=U(t);for(q=0;q1||et.length>1)||\"closest\"===P&&it&&et.length>1,Wt=p.combine(u.plot_bgcolor||p.background,u.paper_bgcolor),Xt=I(et,{gd:t,hovermode:P,rotateLabels:Yt,bgColor:Wt,container:u._hoverlayer,outerContainer:u._paper.node(),commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance});v.isUnifiedHover(P)||(!function(t,e,r){var n,i,a,o,s,l,c,u=0,f=1,h=t.size(),p=new Array(h),d=0;function m(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var c=0;for(o=0;oe.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}t.each((function(t){var n=t[e],i=\"x\"===n._id.charAt(0),a=n.range;0===d&&a&&a[0]>a[1]!==i&&(f=-1),p[d++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(i?T:1)/2,pmin:0,pmax:i?r.width:r.height}]})),p.sort((function(t,e){return t[0].posref-e[0].posref||f*(e[0].traceIndex-t[0].traceIndex)}));for(;!n&&u<=h;){for(u++,n=!0,o=0;o.01&&y.pmin===x.pmin&&y.pmax===x.pmax){for(s=v.length-1;s>=0;s--)v[s].dp+=i;for(g.push.apply(g,v),p.splice(o+1,1),c=0,s=g.length-1;s>=0;s--)c+=g[s].dp;for(a=c/g.length,s=g.length-1;s>=0;s--)g[s].dp-=a;n=!1}else o++}p.forEach(m)}for(o=p.length-1;o>=0;o--){var b=p[o];for(s=b.length-1;s>=0;s--){var _=b[s],w=_.datum;w.offset=_.dp,w.del=_.del}}}(Xt,Yt?\"xa\":\"ya\",u),z(Xt,Yt,u._invScaleX,u._invScaleY));if(s&&s.tagName){var Zt=g.getComponentMethod(\"annotations\",\"hasClickToShow\")(t,It);f(n.select(s),Zt?\"pointer\":\"\")}if(!s||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Pt))return;Pt&&t.emit(\"plotly_unhover\",{event:e,points:Pt});t.emit(\"plotly_hover\",{event:e,points:t._hoverdata,xaxes:_,yaxes:w,xvals:V,yvals:H})}(t,e,r,a,s)}))},r.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=j(i),o=U(i),s=I(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,c=t.eventData;if(c){var u=Math.min(r,n),f=Math.max(r,n),h=Math.min(s,l),d=Math.max(s,l),m=t.trace;if(g.traceIs(m,\"gl3d\")){var v=i._fullLayout[m.scene]._scene.container,y=v.offsetLeft,x=v.offsetTop;u+=y,f+=y,h+=x,d+=x}c.bbox={x0:u+o,x1:f+o,y0:h+a,y1:d+a},e.inOut_bbox&&e.inOut_bbox.push(c.bbox)}else c=!1;return{color:t.color||p.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:c}})),{gd:i,hovermode:\"closest\",rotateLabels:!1,bgColor:e.bgColor||p.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}),l=0,c=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\\s\\S]*)<\\/extra>/;function I(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,c=e.rotateLabels,f=e.bgColor,d=e.container,m=e.outerContainer,w=e.commonLabelOpts||{};if(0===t.length)return[[]];var T=e.fontFamily||y.HOVERFONT,k=e.fontSize||y.HOVERFONTSIZE,A=t[0],E=A.xa,L=A.ya,P=a.charAt(0),I=A[P+\"Label\"],z=V(r,m),D=z.top,R=z.width,F=z.height,B=void 0!==I&&A.distance<=e.hoverdistance&&(\"x\"===a||\"y\"===a);if(B){var N,j,U=!0;for(N=0;Ni.width-b?(g=i.width-b,e.attr(\"d\",\"M\"+(b-M)+\",0L\"+b+\",\"+x+M+\"v\"+x+(2*S+y.height)+\"H-\"+b+\"V\"+x+M+\"H\"+(b-2*M)+\"Z\")):e.attr(\"d\",\"M0,0L\"+M+\",\"+x+M+\"H\"+(S+y.width/2)+\"v\"+x+(2*S+y.height)+\"H-\"+(S+y.width/2)+\"V\"+x+M+\"H-\"+M+\"Z\")}else{var _,C,P;\"right\"===L.side?(_=\"start\",C=1,P=\"\",g=E._offset+E._length):(_=\"end\",C=-1,P=\"-\",g=E._offset),v=L._offset+(A.y0+A.y1)/2,l.attr(\"text-anchor\",_),e.attr(\"d\",\"M0,0L\"+P+M+\",\"+M+\"V\"+(S+y.height/2)+\"h\"+P+(2*S+y.width)+\"V-\"+(S+y.height/2)+\"H\"+P+M+\"V-\"+M+\"Z\");var O,z=y.height/2,R=D-y.top-z,F=\"clip\"+i._uid+\"commonlabel\"+L._id;if(g=0?at:ot+ct=0?ot:vt+ct=0?nt:it+ut=0?it:yt+ut=0,\"top\"!==t.idealAlign&&G||!Y?G?(z+=j/2,t.anchor=\"start\"):t.anchor=\"middle\":(z-=j/2,t.anchor=\"end\");else if(t.pos=z,G=P+N/2+W<=R,Y=P-N/2-W>=0,\"left\"!==t.idealAlign&&G||!Y)if(G)P+=N/2,t.anchor=\"start\";else{t.anchor=\"middle\";var X=W/2,Z=P+X-R,J=P-X;Z>0&&(P-=Z),J<0&&(P+=-J)}else P-=N/2,t.anchor=\"end\";w.attr(\"text-anchor\",t.anchor),E&&A.attr(\"text-anchor\",t.anchor),e.attr(\"transform\",s(P,z)+(c?l(_):\"\"))})),xt}function O(t,e,r,n,i,a){var s=\"\",l=\"\";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=B(t.name,t.nameLength));var c=r.charAt(0),u=\"x\"===c?\"y\":\"x\";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+=\"x: \"+t.xLabel+\"
\"),void 0!==t.yLabel&&(l+=\"y: \"+t.yLabel+\"
\"),\"choropleth\"!==t.trace.type&&\"choroplethmapbox\"!==t.trace.type&&(l+=(l?\"z: \":\"\")+t.zLabel)):e&&t[c+\"Label\"]===i?l=t[u+\"Label\"]||\"\":void 0===t.xLabel?void 0!==t.yLabel&&\"scattercarpet\"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:\"(\"+t.xLabel+\", \"+t.yLabel+\")\",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?\"
\":\"\")+t.text),void 0!==t.extraText&&(l+=(l?\"
\":\"\")+t.extraText),a&&\"\"===l&&!t.hovertemplate&&(\"\"===s&&a.remove(),l=s);var f=t.hovertemplate||!1;if(f){var h=t.hovertemplateLabels||t;t[c+\"Label\"]!==i&&(h[c+\"other\"]=h[c+\"Val\"],h[c+\"otherLabel\"]=h[c+\"Label\"]),l=(l=o.hovertemplateString(f,h,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(P,(function(e,r){return s=B(r,t.nameLength),\"\"}))}return[l,s]}function z(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i=r.select(\"text.nums\"),s=t.anchor,l=\"end\"===s?-1:1,c={start:1,end:-1,middle:0}[s],f=c*(M+S),p=f+c*(t.txwidth+S),d=0,m=t.offset,g=\"middle\"===s;g&&(f-=t.tx2width/2,p+=t.txwidth/2+S),e&&(m*=-A,d=t.offset*k),r.select(\"path\").attr(\"d\",g?\"M-\"+a(t.bx/2+t.tx2width/2)+\",\"+o(m-t.by/2)+\"h\"+a(t.bx)+\"v\"+o(t.by)+\"h-\"+a(t.bx)+\"Z\":\"M0,0L\"+a(l*M+d)+\",\"+o(M+m)+\"v\"+o(t.by/2-M)+\"h\"+a(l*t.bx)+\"v-\"+o(t.by)+\"H\"+a(l*M+d)+\"V\"+o(m-M)+\"Z\");var v=d+f,y=m+t.ty0-t.by/2+S,x=t.textAlign||\"auto\";\"auto\"!==x&&(\"left\"===x&&\"start\"!==s?(i.attr(\"text-anchor\",\"start\"),v=g?-t.bx/2-t.tx2width/2+S:-t.bx-S):\"right\"===x&&\"end\"!==s&&(i.attr(\"text-anchor\",\"end\"),v=g?t.bx/2-t.tx2width/2-S:t.bx+S)),i.call(u.positionText,a(v),o(y)),t.tx2width&&(r.select(\"text.name\").call(u.positionText,a(p+c*S+d),o(m+t.ty0-t.by/2+S)),r.select(\"rect\").call(h.setRect,a(p+(c-1)*t.tx2width/2+d),o(m-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function D(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var c=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,\"\",e)}:function(t,e){return o.extractOption(s,n,t,e)};function u(e,r,n){var i=c(r,n);l(i)&&(t[e]=i)}if(u(\"hoverinfo\",\"hi\",\"hoverinfo\"),u(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),u(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),u(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),u(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),u(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),u(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),u(\"textAlign\",\"hta\",\"hoverlabel.align\"),t.posref=\"y\"===e||\"closest\"===e&&\"h\"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel=\"xLabel\"in t?t.xLabel:m.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel=\"yLabel\"in t?t.yLabel:m.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||\"log\"===t.xa.type&&t.xerr<=0)){var f=m.tickText(t.xa,t.xa.c2l(t.xerr),\"hover\").text;void 0!==t.xerrneg?t.xLabel+=\" +\"+f+\" / -\"+m.tickText(t.xa,t.xa.c2l(t.xerrneg),\"hover\").text:t.xLabel+=\" \\xb1 \"+f,\"x\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\"log\"===t.ya.type&&t.yerr<=0)){var h=m.tickText(t.ya,t.ya.c2l(t.yerr),\"hover\").text;void 0!==t.yerrneg?t.yLabel+=\" +\"+h+\" / -\"+m.tickText(t.ya,t.ya.c2l(t.yerrneg),\"hover\").text:t.yLabel+=\" \\xb1 \"+h,\"y\"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&\"all\"!==p&&(-1===(p=Array.isArray(p)?p:p.split(\"+\")).indexOf(\"x\")&&(t.xLabel=void 0),-1===p.indexOf(\"y\")&&(t.yLabel=void 0),-1===p.indexOf(\"z\")&&(t.zLabel=void 0),-1===p.indexOf(\"text\")&&(t.text=void 0),-1===p.indexOf(\"name\")&&(t.name=void 0)),t}function R(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,c=r.event,u=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(\".spikeline\").remove(),f||u){var d=p.combine(s.plot_bgcolor,s.paper_bgcolor);if(u){var g,v,y=e.hLinePoint;n=y&&y.xa,\"cursor\"===(i=y&&y.ya).spikesnap?(g=c.pointerX,v=c.pointerY):(g=n._offset+y.x,v=i._offset+y.y);var x,b,_=a.readability(y.color,d)<1.5?p.contrast(d):y.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,A=m.getPxPosition(t,i);if(-1!==w.indexOf(\"toaxis\")||-1!==w.indexOf(\"across\")){if(-1!==w.indexOf(\"toaxis\")&&(x=A,b=g),-1!==w.indexOf(\"across\")){var M=i._counterDomainMin,S=i._counterDomainMax;\"free\"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert(\"line\",\":first-child\").attr({x1:x,x2:b,y1:v,y2:v,\"stroke-width\":T,stroke:k,\"stroke-dasharray\":h.dashStyle(i.spikedash,T)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:x,x2:b,y1:v,y2:v,\"stroke-width\":T+2,stroke:d}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}-1!==w.indexOf(\"marker\")&&o.insert(\"circle\",\":first-child\").attr({cx:A+(\"right\"!==i.side?T:-T),cy:v,r:T,fill:k}).classed(\"spikeline\",!0)}if(f){var E,L,C=e.vLinePoint;n=C&&C.xa,i=C&&C.ya,\"cursor\"===n.spikesnap?(E=c.pointerX,L=c.pointerY):(E=n._offset+C.x,L=i._offset+C.y);var P,I,O=a.readability(C.color,d)<1.5?p.contrast(d):C.color,z=n.spikemode,D=n.spikethickness,R=n.spikecolor||O,F=m.getPxPosition(t,n);if(-1!==z.indexOf(\"toaxis\")||-1!==z.indexOf(\"across\")){if(-1!==z.indexOf(\"toaxis\")&&(P=F,I=L),-1!==z.indexOf(\"across\")){var B=n._counterDomainMin,N=n._counterDomainMax;\"free\"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,I=l.t+(1-B)*l.h}o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:P,y2:I,\"stroke-width\":D,stroke:R,\"stroke-dasharray\":h.dashStyle(n.spikedash,D)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:P,y2:I,\"stroke-width\":D+2,stroke:d}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}-1!==z.indexOf(\"marker\")&&o.insert(\"circle\",\":first-child\").attr({cx:E,cy:F-(\"top\"!==n.side?D:-D),r:D,fill:R}).classed(\"spikeline\",!0)}}}function F(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}function B(t,e){return u.plainText(t||\"\",{len:e,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\"]})}function N(t,e,r){var n=e[t+\"a\"],i=e[t+\"Val\"],a=e.cd[0];if(\"category\"===n.type)i=n._categoriesMap[i];else if(\"date\"===n.type){var o=e.trace[t+\"periodalignment\"];if(o){var s=e.cd[e.index],l=s[t+\"Start\"];void 0===l&&(l=s[t]);var c=s[t+\"End\"];void 0===c&&(c=s[t]);var u=c-l;\"end\"===o?i+=u:\"middle\"===o&&(i+=u/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&(\"group\"!==r.boxmode&&\"group\"!==r.violinmode||(i+=a.t.dPos)),i}function j(t){return t.offsetTop+t.clientTop}function U(t){return t.offsetLeft+t.clientLeft}function V(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.x,a=n.y,s=i+n.width,l=a+n.height,c=o.apply3DTransform(r._invTransform)(i,a),u=o.apply3DTransform(r._invTransform)(s,l),f=c[0],h=c[1],p=u[0],d=u[1];return{x:f,y:h,width:p-f,height:d-h,top:Math.min(h,d),left:Math.min(f,p),right:Math.max(f,p),bottom:Math.max(h,d)}}},{\"../../lib\":503,\"../../lib/events\":492,\"../../lib/override_cursor\":514,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"../color\":366,\"../dragelement\":385,\"../drawing\":388,\"../legend/defaults\":418,\"../legend/draw\":419,\"./constants\":400,\"./helpers\":402,\"@plotly/d3\":58,\"fast-isnumeric\":190,tinycolor2:312}],404:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../color\"),a=t(\"./helpers\").isUnifiedHover;e.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l(\"size\"),l(\"family\"),l(\"color\"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r(\"hoverlabel.bgcolor\",o.bgcolor),r(\"hoverlabel.bordercolor\",o.bordercolor),r(\"hoverlabel.namelength\",o.namelength),n.coerceFont(r,\"hoverlabel.font\",o.font),r(\"hoverlabel.align\",o.align)}},{\"../../lib\":503,\"../color\":366,\"./helpers\":402}],405:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r(\"clickmode\"),r(\"hovermode\")}},{\"../../lib\":503,\"./layout_attributes\":407}],406:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../dragelement\"),o=t(\"./helpers\"),s=t(\"./layout_attributes\"),l=t(\"./hover\");e.exports={moduleType:\"component\",name:\"fx\",constants:t(\"./constants\"),schema:{layout:s},attributes:t(\"./attributes\"),layoutAttributes:s,supplyLayoutGlobalDefaults:t(\"./layout_global_defaults\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,\"hoverlabel.\"+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,\"hoverinfo\",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll(\"g.hovertext\").remove(),e.selectAll(\".spikeline\").remove()},click:t(\"./click\")}},{\"../../lib\":503,\"../dragelement\":385,\"./attributes\":397,\"./calc\":398,\"./click\":399,\"./constants\":400,\"./defaults\":401,\"./helpers\":402,\"./hover\":403,\"./layout_attributes\":407,\"./layout_defaults\":408,\"./layout_global_defaults\":409,\"@plotly/d3\":58}],407:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../plots/font_attributes\"),a=i({editType:\"none\"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,e.exports={clickmode:{valType:\"flaglist\",flags:[\"event\",\"select\"],dflt:\"event\",editType:\"plot\",extras:[\"none\"]},dragmode:{valType:\"enumerated\",values:[\"zoom\",\"pan\",\"select\",\"lasso\",\"drawclosedpath\",\"drawopenpath\",\"drawline\",\"drawrect\",\"drawcircle\",\"orbit\",\"turntable\",!1],dflt:\"zoom\",editType:\"modebar\"},hovermode:{valType:\"enumerated\",values:[\"x\",\"y\",\"closest\",!1,\"x unified\",\"y unified\"],dflt:\"closest\",editType:\"modebar\"},hoverdistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},spikedistance:{valType:\"integer\",min:-1,dflt:-1,editType:\"none\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"none\"},bordercolor:{valType:\"color\",editType:\"none\"},font:a,grouptitlefont:i({editType:\"none\"}),align:{valType:\"enumerated\",values:[\"left\",\"right\",\"auto\"],dflt:\"auto\",editType:\"none\"},namelength:{valType:\"integer\",min:-1,dflt:15,editType:\"none\"},editType:\"none\"},selectdirection:{valType:\"enumerated\",values:[\"h\",\"v\",\"d\",\"any\"],dflt:\"any\",editType:\"none\"}}},{\"../../plots/font_attributes\":585,\"./constants\":400}],408:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\"),a=t(\"./hovermode_defaults\"),o=t(\"./hoverlabel_defaults\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r(\"hoverdistance\"),r(\"spikedistance\")),\"select\"===r(\"dragmode\")&&r(\"selectdirection\");var s=e._has(\"mapbox\"),l=e._has(\"geo\"),c=e._basePlotModules.length;\"zoom\"===e.dragmode&&((s||l)&&1===c||s&&l&&2===c)&&(e.dragmode=\"pan\"),o(t,e,r),n.coerceFont(r,\"hoverlabel.grouptitlefont\",e.hoverlabel.font)}},{\"../../lib\":503,\"./hoverlabel_defaults\":404,\"./hovermode_defaults\":405,\"./layout_attributes\":407}],409:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./hoverlabel_defaults\"),a=t(\"./layout_attributes\");e.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},{\"../../lib\":503,\"./hoverlabel_defaults\":404,\"./layout_attributes\":407}],410:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../lib/regex\").counter,a=t(\"../../plots/domain\").attributes,o=t(\"../../plots/cartesian/constants\").idRegex,s=t(\"../../plot_api/plot_template\"),l={rows:{valType:\"integer\",min:1,editType:\"plot\"},roworder:{valType:\"enumerated\",values:[\"top to bottom\",\"bottom to top\"],dflt:\"top to bottom\",editType:\"plot\"},columns:{valType:\"integer\",min:1,editType:\"plot\"},subplots:{valType:\"info_array\",freeLength:!0,dimensions:2,items:{valType:\"enumerated\",values:[i(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.y.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},pattern:{valType:\"enumerated\",values:[\"independent\",\"coupled\"],dflt:\"coupled\",editType:\"plot\"},xgap:{valType:\"number\",min:0,max:1,editType:\"plot\"},ygap:{valType:\"number\",min:0,max:1,editType:\"plot\"},domain:a({name:\"grid\",editType:\"plot\",noGridCell:!0},{}),xside:{valType:\"enumerated\",values:[\"bottom\",\"bottom plot\",\"top plot\",\"top\"],dflt:\"bottom plot\",editType:\"plot\"},yside:{valType:\"enumerated\",values:[\"left\",\"left plot\",\"right plot\",\"right\"],dflt:\"left plot\",editType:\"plot\"},editType:\"plot\"};function c(t,e,r){var n=e[r+\"axes\"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function u(t,e,r,n,i,a){var o=e(t+\"gap\",r),s=e(\"domain.\"+t);e(t+\"side\",n);for(var l=new Array(i),c=s[0],u=(s[1]-c)/(i-o),f=u*(1-o),h=0;h1){if(!h&&!p&&!d)\"independent\"===k(\"pattern\")&&(h=!0);g._hasSubplotGrid=h;var x,b,_=\"top to bottom\"===k(\"roworder\"),w=h?.2:.1,T=h?.3:.1;m&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),g._domains={x:u(\"x\",k,w,x,y),y:u(\"y\",k,T,b,v,_)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,m=r.rows,g=r.columns,v=\"independent\"===r.pattern,y=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(m);var b=1;for(n=0;n1);if(!1===_&&(e.legend=void 0),(!1!==_||f.uirevision)&&(p(\"uirevision\",e.uirevision),!1!==_)){p(\"bgcolor\",e.paper_bgcolor),p(\"bordercolor\"),p(\"borderwidth\");var w,T,k,A=i.coerceFont(p,\"font\",e.font),M=\"h\"===p(\"orientation\");if(M?(w=0,n.getComponentMethod(\"rangeslider\",\"isVisible\")(t.xaxis)?(T=1.1,k=\"bottom\"):(T=-.1,k=\"top\")):(w=1.02,T=1,k=\"auto\"),p(\"traceorder\",x),c.isGrouped(e.legend)&&p(\"tracegroupgap\"),p(\"itemsizing\"),p(\"itemwidth\"),p(\"itemclick\"),p(\"itemdoubleclick\"),p(\"groupclick\"),p(\"x\",w),p(\"xanchor\"),p(\"y\",T),p(\"yanchor\",k),p(\"valign\"),i.noneOrAll(f,h,[\"x\",\"y\"]),p(\"title.text\")){p(\"title.side\",M?\"left\":\"top\");var S=i.extendFlat({},A,{size:i.bigFont(A.size)});i.coerceFont(p,\"title.font\",S)}}}},{\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../../plots/attributes\":550,\"../../plots/layout_attributes\":610,\"../../registry\":638,\"./attributes\":416,\"./helpers\":422}],419:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib/events\"),l=t(\"../dragelement\"),c=t(\"../drawing\"),u=t(\"../color\"),f=t(\"../../lib/svg_text_utils\"),h=t(\"./handle_click\"),p=t(\"./constants\"),d=t(\"../../constants/alignment\"),m=d.LINE_SPACING,g=d.FROM_TL,v=d.FROM_BR,y=t(\"./get_legend_data\"),x=t(\"./style\"),b=t(\"./helpers\");function _(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(a._group&&(l.group=a._group),o.traceIs(a,\"pie-like\")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,\"plotly_legendclick\",l))if(1===n)e._clickTimeout=setTimeout((function(){t._fullLayout&&h(r,t,n)}),t._context.doubleClickDelay);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,\"plotly_legenddoubleclick\",l)&&h(r,t,n)}}function w(t,e,r){var n,a,s=t.data()[0][0],l=s.trace,u=o.traceIs(l,\"pie-like\"),h=!r._inHover&&e._context.edits.legendText&&!u,d=r._maxNameLength;s.groupTitle?(n=s.groupTitle.text,a=s.groupTitle.font):(a=r.font,r.entries?n=s.text:(n=u?s.label:l.name,l._meta&&(n=i.templateString(n,l._meta))));var m=i.ensureSingle(t,\"text\",\"legendtext\");m.attr(\"text-anchor\",\"start\").call(c.font,a).text(h?T(n,d):n);var g=r.itemwidth+2*p.itemGap;f.positionText(m,g,0),h?m.call(f.makeEditable,{gd:e,text:n}).call(A,t,e,r).on(\"edit\",(function(n){this.text(T(n,d)).call(A,t,e,r);var a=s.trace._fullInput||{},c={};if(o.hasTransform(a,\"groupby\")){var u=o.getTransformIndices(a,\"groupby\"),f=u[u.length-1],h=i.keyedContainer(a,\"transforms[\"+f+\"].styles\",\"target\",\"value.name\");h.set(s.trace._group,n),c=h.constructUpdate()}else c.name=n;return o.call(\"_guiRestyle\",e,c,l.index)})):A(m,t,e,r)}function T(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||\"\").length;n>0;n--)t+=\" \";return t}function k(t,e){var r,a=e._context.doubleClickDelay,o=1,s=i.ensureSingle(t,\"rect\",\"legendtoggle\",(function(t){e._context.staticPlot||t.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),t.call(u.fill,\"rgba(0,0,0,0)\")}));e._context.staticPlot||(s.on(\"mousedown\",(function(){(r=(new Date).getTime())-e._legendMouseDownTimea&&(o=Math.max(o-1,1)),_(e,r,t,o,n.event)}})))}function A(t,e,r,n,i){n._inHover&&t.attr(\"data-notex\",!0),f.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(!r._inHover&&i&&!i.trace.showlegend)return void t.remove();var a=t.select(\"g[class*=math-group]\"),o=a.node();r||(r=e._fullLayout.legend);var s,l=r.borderwidth;s=1===n?r.title.font:i.groupTitle?i.groupTitle.font:r.font;var u,h,d=s.size*m;if(o){var g=c.bBox(o);u=g.height,h=g.width,1===n?c.setTranslate(a,l,l+.75*u):c.setTranslate(a,0,.25*u)}else{var v=t.select(1===n?\".legendtitletext\":\".legendtext\"),y=f.lineCount(v),x=v.node();if(u=d*y,h=x?c.bBox(x).width:0,1===n)\"left\"===r.title.side&&(h+=2*p.itemGap),f.positionText(v,l+p.titlePad,l+d);else{var b=2*p.itemGap+r.itemwidth;i.groupTitle&&(b=p.itemGap,h-=r.itemwidth),f.positionText(v,b,-d*((y-1)/2-.3))}}1===n?(r._titleWidth=h,r._titleHeight=u):(i.lineHeight=d,i.height=Math.max(u,16)+3,i.width=h)}(e,r,n,i)}))}function M(t){return i.isRightAnchor(t)?\"right\":i.isCenterAnchor(t)?\"center\":\"left\"}function S(t){return i.isBottomAnchor(t)?\"bottom\":i.isMiddleAnchor(t)?\"middle\":\"top\"}e.exports=function(t,e){return e||(e=t._fullLayout.legend||{}),function(t,e){var r,s,f=t._fullLayout,h=\"legend\"+f._uid,d=e._inHover;d?(r=e.layer,h+=\"-hover\"):r=f._infolayer;if(!r)return;t._legendMouseDownTime||(t._legendMouseDownTime=0);if(d){if(!e.entries)return;s=y(e.entries,e)}else{if(!t.calcdata)return;s=f.showlegend&&y(t.calcdata,e)}var m=f.hiddenlabels||[];if(!(d||f.showlegend&&s.length))return r.selectAll(\".legend\").remove(),f._topdefs.select(\"#\"+h).remove(),a.autoMargin(t,\"legend\");var T=i.ensureSingle(r,\"g\",\"legend\",(function(t){d||t.attr(\"pointer-events\",\"all\")})),E=i.ensureSingleById(f._topdefs,\"clipPath\",h,(function(t){t.append(\"rect\")})),L=i.ensureSingle(T,\"rect\",\"bg\",(function(t){t.attr(\"shape-rendering\",\"crispEdges\")}));L.call(u.stroke,e.bordercolor).call(u.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\");var C=i.ensureSingle(T,\"g\",\"scrollbox\"),P=e.title;if(e._titleWidth=0,e._titleHeight=0,P.text){var I=i.ensureSingle(C,\"text\",\"legendtitletext\");I.attr(\"text-anchor\",\"start\").call(c.font,P.font).text(P.text),A(I,C,t,e,1)}else C.selectAll(\".legendtitletext\").remove();var O=i.ensureSingle(T,\"rect\",\"scrollbar\",(function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)})),z=C.selectAll(\"g.groups\").data(s);z.enter().append(\"g\").attr(\"class\",\"groups\"),z.exit().remove();var D=z.selectAll(\"g.traces\").data(i.identity);D.enter().append(\"g\").attr(\"class\",\"traces\"),D.exit().remove(),D.style(\"opacity\",(function(t){var e=t[0].trace;return o.traceIs(e,\"pie-like\")?-1!==m.indexOf(t[0].label)?.5:1:\"legendonly\"===e.visible?.5:1})).each((function(){n.select(this).call(w,t,e)})).call(x,t,e).each((function(){d||n.select(this).call(k,t)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout;i||(i=a.legend);var o=a._size,s=b.isVertical(i),l=b.isGrouped(i),u=i.borderwidth,f=2*u,h=p.itemGap,d=i.itemwidth+2*h,m=2*(u+h),g=S(i),v=i.y<0||0===i.y&&\"top\"===g,y=i.y>1||1===i.y&&\"bottom\"===g,x=i.tracegroupgap;i._maxHeight=Math.max(v||y?a.height/2:o.h,30);var _=0;i._width=0,i._height=0;var w=function(t){var e=0,r=0,n=t.title.side;n&&(-1!==n.indexOf(\"left\")&&(e=t._titleWidth),-1!==n.indexOf(\"top\")&&(r=t._titleHeight));return[e,r]}(i);if(s)r.each((function(t){var e=t[0].height;c.setTranslate(this,u+w[0],u+w[1]+i._height+e/2+h),i._height+=e,i._width=Math.max(i._width,t[0].width)})),_=d+i._width,i._width+=h+d+f,i._height+=m,l&&(e.each((function(t,e){c.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var T=M(i),k=i.x<0||0===i.x&&\"right\"===T,A=i.x>1||1===i.x&&\"left\"===T,E=y||v,L=a.width/2;i._maxWidth=Math.max(k?E&&\"left\"===T?o.l+o.w:L:A?E&&\"right\"===T?o.r+o.w:L:o.w,2*d);var C=0,P=0;r.each((function(t){var e=t[0].width+d;C=Math.max(C,e),P+=e})),_=null;var I=0;if(l){var O=0,z=0,D=0;e.each((function(){var t=0,e=0;n.select(this).selectAll(\"g.traces\").each((function(r){var n=r[0].width,i=r[0].height;c.setTranslate(this,w[0],w[1]+u+h+i/2+e),e+=i,t=Math.max(t,d+n)}));var r=t+h;z>0&&r+u+z>i._maxWidth?(I=Math.max(I,z),z=0,D+=O+x,O=e):O=Math.max(O,e),c.setTranslate(this,z,D),z+=r})),i._width=Math.max(I,z)+u,i._height=D+O+m}else{var R=r.size(),F=P+f+(R-1)*h=i._maxWidth&&(I=Math.max(I,U),N=0,j+=B,i._height+=B,B=0),c.setTranslate(this,w[0]+u+N,w[1]+u+j+e/2+h),U=N+r+h,N+=n,B=Math.max(B,e)})),F?(i._width=N+f,i._height=B+m):(i._width=Math.max(I,U)+f,i._height+=B+m)}}i._width=Math.ceil(Math.max(i._width+w[0],i._titleWidth+2*(u+p.titlePad))),i._height=Math.ceil(Math.max(i._height+w[1],i._titleHeight+2*(u+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var V=t._context.edits,H=V.legendText||V.legendPosition;r.each((function(t){var e=n.select(this).select(\".legendtoggle\"),r=t[0].height,i=H?d:_||d+t[0].width;s||(i+=h/2),c.setRect(e,0,-r/2,i,r)}))}(t,z,D,e)},function(){var s,u,m,y,x=f._size,b=e.borderwidth;if(!d){if(function(t){var e=t._fullLayout.legend,r=M(e),n=S(e);return a.autoMargin(t,\"legend\",{x:e.x,y:e.y,l:e._width*g[r],r:e._width*v[r],b:e._effHeight*v[n],t:e._effHeight*g[n]})}(t))return;var w=x.l+x.w*e.x-g[M(e)]*e._width,k=x.t+x.h*(1-e.y)-g[S(e)]*e._effHeight;if(f.margin.autoexpand){var A=w,P=k;w=i.constrain(w,0,f.width-e._width),k=i.constrain(k,0,f.height-e._effHeight),w!==A&&i.log(\"Constrain legend.x to make legend fit inside graph\"),k!==P&&i.log(\"Constrain legend.y to make legend fit inside graph\")}c.setTranslate(T,w,k)}if(O.on(\".drag\",null),T.on(\"wheel\",null),d||e._height<=e._maxHeight||t._context.staticPlot){var I=e._effHeight;d&&(I=e._height),L.attr({width:e._width-b,height:I-b,x:b/2,y:b/2}),c.setTranslate(C,0,0),E.select(\"rect\").attr({width:e._width-2*b,height:I-2*b,x:b,y:b}),c.setClipUrl(C,h,t),c.setRect(O,0,0,0,0),delete e._scrollY}else{var z,D,R,F=Math.max(p.scrollBarMinHeight,e._effHeight*e._effHeight/e._height),B=e._effHeight-F-2*p.scrollBarMargin,N=e._height-e._effHeight,j=B/N,U=Math.min(e._scrollY||0,N);L.attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-b,x:b/2,y:b/2}),E.select(\"rect\").attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-2*b,x:b,y:b+U}),c.setClipUrl(C,h,t),q(U,F,j),T.on(\"wheel\",(function(){q(U=i.constrain(e._scrollY+n.event.deltaY/B*N,0,N),F,j),0!==U&&U!==N&&n.event.preventDefault()}));var V=n.behavior.drag().on(\"dragstart\",(function(){var t=n.event.sourceEvent;z=\"touchstart\"===t.type?t.changedTouches[0].clientY:t.clientY,R=U})).on(\"drag\",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(D=\"touchmove\"===t.type?t.changedTouches[0].clientY:t.clientY,q(U=function(t,e,r){var n=(r-e)/j+t;return i.constrain(n,0,N)}(R,z,D),F,j))}));O.call(V);var H=n.behavior.drag().on(\"dragstart\",(function(){var t=n.event.sourceEvent;\"touchstart\"===t.type&&(z=t.changedTouches[0].clientY,R=U)})).on(\"drag\",(function(){var t=n.event.sourceEvent;\"touchmove\"===t.type&&(D=t.changedTouches[0].clientY,q(U=function(t,e,r){var n=(e-r)/j+t;return i.constrain(n,0,N)}(R,z,D),F,j))}));C.call(H)}function q(r,n,i){e._scrollY=t._fullLayout.legend._scrollY=r,c.setTranslate(C,0,-r),c.setRect(O,e._width,p.scrollBarMargin+r*i,p.scrollBarWidth,n),E.select(\"rect\").attr(\"y\",b+r)}t._context.edits.legendPosition&&(T.classed(\"cursor-move\",!0),l.init({element:T.node(),gd:t,prepFn:function(){var t=c.getTranslate(T);m=t.x,y=t.y},moveFn:function(t,r){var n=m+t,i=y+r;c.setTranslate(T,n,i),s=l.align(n,0,x.l,x.l+x.w,e.xanchor),u=l.align(i,0,x.t+x.h,x.t,e.yanchor)},doneFn:function(){void 0!==s&&void 0!==u&&o.call(\"_guiRelayout\",t,{\"legend.x\":s,\"legend.y\":u})},clickFn:function(e,n){var i=r.selectAll(\"g.traces\").filter((function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom}));i.size()>0&&_(t,T,i,e,n)}}))}],t)}(t,e)}},{\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/events\":492,\"../../lib/svg_text_utils\":529,\"../../plots/plots\":619,\"../../registry\":638,\"../color\":366,\"../dragelement\":385,\"../drawing\":388,\"./constants\":417,\"./get_legend_data\":420,\"./handle_click\":421,\"./helpers\":422,\"./style\":424,\"@plotly/d3\":58}],420:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./helpers\");e.exports=function(t,e){var r,a,o=e._inHover,s=i.isGrouped(e),l=i.isReversed(e),c={},u=[],f=!1,h={},p=0,d=0;function m(t,r){if(\"\"!==t&&i.isGrouped(e))-1===u.indexOf(t)?(u.push(t),f=!0,c[t]=[r]):c[t].push(r);else{var n=\"~~i\"+p;u.push(n),c[n]=[r],p++}}for(r=0;rA&&(k=A)}w[r][0]._groupMinRank=k,w[r][0]._preGroupSort=r}var M=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(w.forEach((function(t,e){t[0]._preGroupSort=e})),w.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),r=0;rr?r:t}e.exports=function(t,e,r){var v=e._fullLayout;r||(r=v.legend);var y=\"constant\"===r.itemsizing,x=r.itemwidth,b=(x+2*p.itemGap)/2,_=o(b,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return y?n:Math.min(i,r)};function T(t,a,o){var u=t[0].trace,f=u.marker||{},h=f.line||{},p=o?u.visible&&u.type===o:i.traceIs(u,\"bar\"),d=n.select(a).select(\"g.legendpoints\").selectAll(\"path.legend\"+o).data(p?[t]:[]);d.enter().append(\"path\").classed(\"legend\"+o,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",_),d.exit().remove(),d.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,f.line,5,2);i.style(\"stroke-width\",o+\"px\");var p=a.mcc;if(!r._inHover&&\"mc\"in a){var d=c(f),m=d.mid;void 0===m&&(m=(d.max+d.min)/2),p=s.tryColorscale(f,\"\")(m)}var v=p||a.mc||f.color,y=f.pattern,x=y&&s.getPatternAttr(y.shape,0,\"\");if(x){var b=s.getPatternAttr(y.bgcolor,0,null),_=s.getPatternAttr(y.fgcolor,0,null),T=y.fgopacity,k=g(y.size,8,10),A=g(y.solidity,.5,1),M=\"legend-\"+u.uid;i.call(s.pattern,\"legend\",e,M,x,k,A,p,y.fillmode,b,_,T)}else i.call(l.fill,v);o&&l.stroke(i,a.mlc||h.color)}))}function k(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:i.traceIs(s,r),c=n.select(e).select(\"g.legendpoints\").selectAll(\"path.legend\"+r).data(l?[t]:[]);if(c.enter().append(\"path\").classed(\"legend\"+r,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",_),c.exit().remove(),c.size()){var u=(s.marker||{}).line,p=w(h(u.width,o.pts),u,5,2),d=a.minExtend(s,{marker:{line:{width:p}}});d.marker.line.color=u.color;var m=a.minExtend(o,{trace:d});f(c,m,d)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,\"g\",\"layers\");i.style(\"opacity\",t[0].trace.opacity);var s=r.valign,l=t[0].lineHeight,c=t[0].height;if(\"middle\"!==s&&l&&c){var u={top:1,bottom:-1}[s]*(.5*(l-c+3));i.attr(\"transform\",o(0,u))}else i.attr(\"transform\",null);i.selectAll(\"g.legendfill\").data([t]).enter().append(\"g\").classed(\"legendfill\",!0),i.selectAll(\"g.legendlines\").data([t]).enter().append(\"g\").classed(\"legendlines\",!0);var f=i.selectAll(\"g.legendsymbols\").data([t]);f.enter().append(\"g\").classed(\"legendsymbols\",!0),f.selectAll(\"g.legendpoints\").data([t]).enter().append(\"g\").classed(\"legendpoints\",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case\"histogram2d\":case\"heatmap\":o=[[\"M-15,-2V4H15V-2Z\"]],r=!0;break;case\"choropleth\":case\"choroplethmapbox\":o=[[\"M-6,-6V6H6V-6Z\"]],r=!0;break;case\"densitymapbox\":o=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],r=\"radial\";break;case\"cone\":o=[[\"M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 L6,0Z\"]],r=!1;break;case\"streamtube\":o=[[\"M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z\"]],r=!1;break;case\"surface\":o=[[\"M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z\"],[\"M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z\"]],r=!0;break;case\"mesh3d\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],r=!1;break;case\"volume\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],r=!0;break;case\"isosurface\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],r=!1}var u=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(o);u.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",_).style(\"stroke-miterlimit\",1),u.exit().remove(),u.each((function(t,o){var u,f=n.select(this),h=c(i),p=h.colorscale,m=h.reversescale;if(p){if(!r){var g=p.length;u=0===o?p[m?g-1:0][1]:1===o?p[m?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var v=i.vertexcolor||i.facecolor||i.color;u=a.isArrayOrTypedArray(v)?v[o]||v[0]:v}f.attr(\"d\",t[0]),u?f.call(l.fill,u):f.call((function(t){if(t.size()){var n=\"legendfill-\"+i.uid;s.gradient(t,e,n,d(m,\"radial\"===r),p,\"fill\")}}))}))})).each((function(t){var e=t[0].trace,r=\"waterfall\"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,\"waterfall\")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[[\"increasing\",\"M-6,-6V6H0Z\"],[\"totals\",\"M6,6H0L-6,-6H-0Z\"],[\"decreasing\",\"M6,6V-6H0Z\"]]:[[\"increasing\",\"M-6,-6V6H6Z\"],[\"decreasing\",\"M6,6V-6H-6Z\"]]);var o=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(a);o.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",_).style(\"stroke-miterlimit\",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr(\"d\",t[1]).style(\"stroke-width\",a+\"px\").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,\"funnel\")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(r.visible&&i.traceIs(r,\"box-violin\")?[t]:[]);o.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",_),o.exit().remove(),o.each((function(){var t=n.select(this);if(\"all\"!==r.boxpoints&&\"all\"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style(\"stroke-width\",i+\"px\").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var c=a.minExtend(r,{marker:{size:y?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});o.call(s.pointStyle,c,e)}}))})).each((function(t){k(t,this,\"funnelarea\")})).each((function(t){k(t,this,\"pie\")})).each((function(t){var r,i,o=m(t),l=o.showFill,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,v=o.anyLine,y=t[0],b=y.trace,_=c(b),T=_.colorscale,k=_.reversescale,A=u.hasMarkers(b)||!g?\"M5,0\":v?\"M5,-2\":\"M5,-3\",M=n.select(this),S=M.select(\".legendfill\").selectAll(\"path\").data(l||p?[t]:[]);if(S.enter().append(\"path\").classed(\"js-fill\",!0),S.exit().remove(),S.attr(\"d\",A+\"h\"+x+\"v6h-\"+x+\"z\").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e);else{var r=\"legendfill-\"+b.uid;s.gradient(t,e,r,d(k),T,\"fill\")}})),f||h){var E=w(void 0,b.line,10,5);i=a.minExtend(b,{line:{width:E}}),r=[a.minExtend(y,{trace:i})]}var L=M.select(\".legendlines\").selectAll(\"path\").data(f||h?[r]:[]);L.enter().append(\"path\").classed(\"js-line\",!0),L.exit().remove(),L.attr(\"d\",A+(h?\"l\"+x+\",0.0001\":\"h\"+x)).call(f?s.lineGroupStyle:function(t){if(t.size()){var r=\"legendline-\"+b.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,\"stroke\")}})})).each((function(t){var r,i,o=m(t),l=o.anyFill,c=o.anyLine,f=o.showLine,h=o.showMarker,p=t[0],d=p.trace,g=!h&&!c&&!l&&u.hasText(d);function v(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(y&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(h||g||f){var b={},w={};if(h){b.mc=v(\"marker.color\",x),b.mx=v(\"marker.symbol\",x),b.mo=v(\"marker.opacity\",a.mean,[.2,1]),b.mlc=v(\"marker.line.color\",x),b.mlw=v(\"marker.line.width\",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var T=v(\"marker.size\",a.mean,[2,16],12);b.ms=T,w.marker.size=T}f&&(w.line={width:v(\"line.width\",x,[0,10],5)}),g&&(b.tx=\"Aa\",b.tp=v(\"textposition\",x),b.ts=10,b.tc=v(\"textfont.color\",x),b.tf=v(\"textfont.family\",x)),r=[a.minExtend(p,b)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select(\"g.legendpoints\"),A=k.selectAll(\"path.scatterpts\").data(h?r:[]);A.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",_),A.exit().remove(),A.call(s.pointStyle,i,e),h&&(r[0].mrc=3);var M=k.selectAll(\"g.pointtext\").data(g?r:[]);M.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",_),M.exit().remove(),M.selectAll(\"text\").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(e.visible&&\"candlestick\"===e.type?[t,t]:[]);r.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",(function(t,e){return e?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"})).attr(\"transform\",_).style(\"stroke-miterlimit\",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?\"increasing\":\"decreasing\"],o=w(void 0,a.line,5,2);i.style(\"stroke-width\",o+\"px\").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(e.visible&&\"ohlc\"===e.type?[t,t]:[]);r.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",(function(t,e){return e?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"})).attr(\"transform\",_).style(\"stroke-miterlimit\",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?\"increasing\":\"decreasing\"],o=w(void 0,a.line,5,2);i.style(\"fill\",\"none\").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},{\"../../lib\":503,\"../../registry\":638,\"../../traces/pie/helpers\":906,\"../../traces/pie/style_one\":912,\"../../traces/scatter/subtypes\":952,\"../color\":366,\"../colorscale/helpers\":377,\"../drawing\":388,\"./constants\":417,\"@plotly/d3\":58}],425:[function(t,e,r){\"use strict\";t(\"./constants\");e.exports={editType:\"modebar\",orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"modebar\"},bgcolor:{valType:\"color\",editType:\"modebar\"},color:{valType:\"color\",editType:\"modebar\"},activecolor:{valType:\"color\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},add:{valType:\"string\",arrayOk:!0,dflt:\"\",editType:\"modebar\"},remove:{valType:\"string\",arrayOk:!0,dflt:\"\",editType:\"modebar\"}}},{\"./constants\":427}],426:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/plots\"),a=t(\"../../plots/cartesian/axis_ids\"),o=t(\"../../fonts/ploticon\"),s=t(\"../shapes/draw\").eraseActiveShape,l=t(\"../../lib\"),c=l._,u=e.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute(\"data-attr\"),l=o.getAttribute(\"data-val\")||!0,c=t._fullLayout,u={},f=a.list(t,null,!0),h=c._cartesianSpikesEnabled;if(\"zoom\"===s){var p,d=\"in\"===l?.5:2,m=(1+d)/2,g=(1-d)/2;for(i=0;i1?(I=[\"toggleHover\"],O=[\"resetViews\"]):v?(P=[\"zoomInGeo\",\"zoomOutGeo\"],I=[\"hoverClosestGeo\"],O=[\"resetGeo\"]):g?(I=[\"hoverClosest3d\"],O=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):w?(P=[\"zoomInMapbox\",\"zoomOutMapbox\"],I=[\"toggleHover\"],O=[\"resetViewMapbox\"]):b?I=[\"hoverClosestGl2d\"]:y?I=[\"hoverClosestPie\"]:A?(I=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],O=[\"resetViewSankey\"]):I=[\"toggleHover\"];m&&(I=[\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"]);(function(t){for(var e=0;e0)){var m=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a=n.max)e=F[r+1];else if(t=n.pmax)e=F[r+1];else if(t0?h+c:c;return{ppad:c,ppadplus:u?d:m,ppadminus:u?m:d}}return{ppad:c}}function u(t,e,r,n,i){var s=\"category\"===t.type||\"multicategory\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for(\"date\"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=f)));return p>=h?[h,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;oy?(k=f,E=\"y0\",A=y,L=\"y1\"):(k=y,E=\"y1\",A=f,L=\"y0\");Z(n),Q(s,r),function(t,e,r){var n=e.xref,i=e.yref,o=a.getFromId(r,n),s=a.getFromId(r,i),l=\"\";\"paper\"===n||o.autorange||(l+=n);\"paper\"===i||s.autorange||(l+=i);u.setClipUrl(t,l?\"clip\"+r._fullLayout._uid+l:null,r)}(e,r,t),X.moveFn=\"move\"===O?J:K,X.altKey=n.altKey},doneFn:function(){if(v(t))return;p(e),$(s),b(e,t,r),n.call(\"_guiRelayout\",t,l.getUpdateObj())},clickFn:function(){if(v(t))return;$(s)}};function Z(r){if(v(t))O=null;else if(R)O=\"path\"===r.target.tagName?\"move\":\"start-point\"===r.target.attributes[\"data-line-point\"].value?\"resize-over-start-point\":\"resize-over-end-point\";else{var n=X.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!F&&i>10&&a>10&&!r.shiftKey?h.getCursor(o/i,1-s/a):\"move\";p(e,l),O=l.split(\"-\")[0]}}function J(n,i){if(\"path\"===r.type){var a=function(t){return t},o=a,l=a;z?B(\"xanchor\",r.xanchor=G(x+n)):(o=function(t){return G(H(t)+n)},N&&\"date\"===N.type&&(o=m.encodeDate(o))),D?B(\"yanchor\",r.yanchor=Y(T+i)):(l=function(t){return Y(q(t)+i)},U&&\"date\"===U.type&&(l=m.encodeDate(l))),B(\"path\",r.path=w(I,o,l))}else z?B(\"xanchor\",r.xanchor=G(x+n)):(B(\"x0\",r.x0=G(c+n)),B(\"x1\",r.x1=G(g+n))),D?B(\"yanchor\",r.yanchor=Y(T+i)):(B(\"y0\",r.y0=Y(f+i)),B(\"y1\",r.y1=Y(y+i)));e.attr(\"d\",_(t,r)),Q(s,r)}function K(n,i){if(F){var a=function(t){return t},o=a,l=a;z?B(\"xanchor\",r.xanchor=G(x+n)):(o=function(t){return G(H(t)+n)},N&&\"date\"===N.type&&(o=m.encodeDate(o))),D?B(\"yanchor\",r.yanchor=Y(T+i)):(l=function(t){return Y(q(t)+i)},U&&\"date\"===U.type&&(l=m.encodeDate(l))),B(\"path\",r.path=w(I,o,l))}else if(R){if(\"resize-over-start-point\"===O){var u=c+n,h=D?f-i:f+i;B(\"x0\",r.x0=z?u:G(u)),B(\"y0\",r.y0=D?h:Y(h))}else if(\"resize-over-end-point\"===O){var p=g+n,d=D?y-i:y+i;B(\"x1\",r.x1=z?p:G(p)),B(\"y1\",r.y1=D?d:Y(d))}}else{var v=function(t){return-1!==O.indexOf(t)},b=v(\"n\"),j=v(\"s\"),V=v(\"w\"),W=v(\"e\"),X=b?k+i:k,Z=j?A+i:A,J=V?M+n:M,K=W?S+n:S;D&&(b&&(X=k-i),j&&(Z=A-i)),(!D&&Z-X>10||D&&X-Z>10)&&(B(E,r[E]=D?X:Y(X)),B(L,r[L]=D?Z:Y(Z))),K-J>10&&(B(C,r[C]=z?J:G(J)),B(P,r[P]=z?K:G(K)))}e.attr(\"d\",_(t,r)),Q(s,r)}function Q(t,e){(z||D)&&function(){var r=\"path\"!==e.type,n=t.selectAll(\".visual-cue\").data([0]);n.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":1}).classed(\"visual-cue\",!0);var a=H(z?e.xanchor:i.midRange(r?[e.x0,e.x1]:m.extractPathCoords(e.path,d.paramIsX))),o=q(D?e.yanchor:i.midRange(r?[e.y0,e.y1]:m.extractPathCoords(e.path,d.paramIsY)));if(a=m.roundPositionForSharpStrokeRendering(a,1),o=m.roundPositionForSharpStrokeRendering(o,1),z&&D){var s=\"M\"+(a-1-1)+\",\"+(o-1-1)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";n.attr(\"d\",s)}else if(z){var l=\"M\"+(a-1-1)+\",\"+(o-9-1)+\"v18 h2 v-18 Z\";n.attr(\"d\",l)}else{var c=\"M\"+(a-9-1)+\",\"+(o-1-1)+\"h18 v2 h-18 Z\";n.attr(\"d\",c)}}()}function $(t){t.selectAll(\".visual-cue\").remove()}h.init(X),W.node().onmousemove=Z}(t,z,l,e,r,O):!0===l.editable&&z.style(\"pointer-events\",P||c.opacity(S)*M<=.5?\"stroke\":\"all\");z.node().addEventListener(\"click\",(function(){return function(t,e){if(!y(t))return;var r=+e.node().getAttribute(\"data-index\");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void T(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=T,g(t)}}(t,z)}))}}function b(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,\"\").replace(/[xyz][1-9]* *domain/g,\"\");u.setClipUrl(t,n?\"clip\"+e._fullLayout._uid+n:null,e)}function _(t,e){var r,n,o,s,l,c,u,f,h=e.type,p=a.getRefType(e.xref),g=a.getRefType(e.yref),v=a.getFromId(t,e.xref),y=a.getFromId(t,e.yref),x=t._fullLayout._size;if(v?\"domain\"===p?n=function(t){return v._offset+v._length*t}:(r=m.shapePositionToRange(v),n=function(t){return v._offset+v.r2p(r(t,!0))}):n=function(t){return x.l+x.w*t},y?\"domain\"===g?s=function(t){return y._offset+y._length*(1-t)}:(o=m.shapePositionToRange(y),s=function(t){return y._offset+y.r2p(o(t,!0))}):s=function(t){return x.t+x.h*(1-t)},\"path\"===h)return v&&\"date\"===v.type&&(n=m.decodeDate(n)),y&&\"date\"===y.type&&(s=m.decodeDate(s)),function(t,e,r){var n=t.path,a=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(d.segmentRE,(function(t){var n=0,c=t.charAt(0),u=d.paramIsX[c],f=d.paramIsY[c],h=d.numParams[c],p=t.substr(1).replace(d.paramRE,(function(t){return u[n]?t=\"pixel\"===a?e(s)+Number(t):e(t):f[n]&&(t=\"pixel\"===o?r(l)-Number(t):r(t)),++n>h&&(t=\"X\"),t}));return n>h&&(p=p.replace(/[\\s,]*X.*/,\"\"),i.log(\"Ignoring extra params in segment \"+t)),c+p}))}(e,n,s);if(\"pixel\"===e.xsizemode){var b=n(e.xanchor);l=b+e.x0,c=b+e.x1}else l=n(e.x0),c=n(e.x1);if(\"pixel\"===e.ysizemode){var _=s(e.yanchor);u=_-e.y0,f=_-e.y1}else u=s(e.y0),f=s(e.y1);if(\"line\"===h)return\"M\"+l+\",\"+u+\"L\"+c+\",\"+f;if(\"rect\"===h)return\"M\"+l+\",\"+u+\"H\"+c+\"V\"+f+\"H\"+l+\"Z\";var w=(l+c)/2,T=(u+f)/2,k=Math.abs(w-l),A=Math.abs(T-u),M=\"A\"+k+\",\"+A,S=w+k+\",\"+T;return\"M\"+S+M+\" 0 1,1 \"+(w+\",\"+(T-A))+M+\" 0 0,1 \"+S+\"Z\"}function w(t,e,r){return t.replace(d.segmentRE,(function(t){var n=0,i=t.charAt(0),a=d.paramIsX[i],o=d.paramIsY[i],s=d.numParams[i];return i+t.substr(1).replace(d.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function T(t){y(t)&&(t._fullLayout._activeShapeIndex>=0&&(l(t),delete t._fullLayout._activeShapeIndex,g(t)))}e.exports={draw:g,drawOne:x,eraseActiveShape:function(t){if(!y(t))return;l(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e=0&&f(v),r.attr(\"d\",m(e)),A&&!h)&&(k=function(t,e){for(var r=0;r1&&(2!==t.length||\"Z\"!==t[1][0])&&(0===T&&(t[0][0]=\"M\"),e[w]=t,y(),x())}}()}}function I(t,r){!function(t,r){if(e.length)for(var n=0;n0&&l0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr(\"transform\",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function L(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,\"rect\",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style(\"pointer-events\",\"all\")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr(\"opacity\",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function P(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,\"rect\",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,\"shape-rendering\":\"crispEdges\"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[f.name],n=[],i=0;i0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(a.enter().append(\"g\").classed(f.containerClassName,!0).style(\"cursor\",\"ew-resize\"),a.exit().each((function(){n.select(this).selectAll(\"g.\"+f.groupClassName).each(s)})).remove(),0!==r.length){var l=a.selectAll(\"g.\"+f.groupClassName).data(r,v);l.enter().append(\"g\").classed(f.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c0||h<0){var v={left:[-d,0],right:[d,0],top:[0,-d],bottom:[0,d]}[b.side];e.attr(\"transform\",l(v[0],v[1]))}}}return R.call(F),O&&(E?R.on(\".opacity\",null):(A=0,M=!0,R.text(y).on(\"mouseover.opacity\",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style(\"opacity\",1)})).on(\"mouseout.opacity\",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style(\"opacity\",0)}))),R.call(f.makeEditable,{gd:t}).on(\"edit\",(function(e){void 0!==x?o.call(\"_guiRestyle\",t,v,e,x):o.call(\"_guiRelayout\",t,v,e)})).on(\"cancel\",(function(){this.text(this.attr(\"data-unformatted\")).call(F)})).on(\"input\",(function(t){this.text(t||\" \").call(f.positionText,_.x,_.y)}))),R.classed(\"js-placeholder\",M),T}}},{\"../../constants/alignment\":471,\"../../constants/interactions\":478,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plots/plots\":619,\"../../registry\":638,\"../color\":366,\"../drawing\":388,\"@plotly/d3\":58,\"fast-isnumeric\":190}],465:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../plots/pad_attributes\"),l=t(\"../../plot_api/plot_template\").templatedArray,c=l(\"button\",{visible:{valType:\"boolean\"},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},args2:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\",dflt:\"\"},execute:{valType:\"boolean\",dflt:!0}});e.exports=o(l(\"updatemenu\",{_arrayAttrRegexps:[/^updatemenus\\[(0|[1-9][0-9]+)\\]\\.buttons/],visible:{valType:\"boolean\"},type:{valType:\"enumerated\",values:[\"dropdown\",\"buttons\"],dflt:\"dropdown\"},direction:{valType:\"enumerated\",values:[\"left\",\"right\",\"up\",\"down\"],dflt:\"down\"},active:{valType:\"integer\",min:-1,dflt:0},showactive:{valType:\"boolean\",dflt:!0},buttons:c,x:{valType:\"number\",min:-2,max:3,dflt:-.05},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"right\"},y:{valType:\"number\",min:-2,max:3,dflt:1},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},pad:a(s({editType:\"arraydraw\"}),{}),font:n({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:i.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")},{\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plot_api/plot_template\":543,\"../../plots/font_attributes\":585,\"../../plots/pad_attributes\":618,\"../color/attributes\":365}],466:[function(t,e,r){\"use strict\";e.exports={name:\"updatemenus\",containerClassName:\"updatemenu-container\",headerGroupClassName:\"updatemenu-header-group\",headerClassName:\"updatemenu-header\",headerArrowClassName:\"updatemenu-header-arrow\",dropdownButtonGroupClassName:\"updatemenu-dropdown-button-group\",dropdownButtonClassName:\"updatemenu-dropdown-button\",buttonClassName:\"updatemenu-button\",itemRectClassName:\"updatemenu-item-rect\",itemTextClassName:\"updatemenu-item-text\",menuIndexAttrName:\"updatemenu-active-index\",autoMarginIdRoot:\"updatemenu-\",blankHeaderOpts:{label:\" \"},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\",arrowSymbol:{left:\"\\u25c4\",right:\"\\u25ba\",up:\"\\u25b2\",down:\"\\u25bc\"}}},{}],467:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/array_container_defaults\"),a=t(\"./attributes\"),o=t(\"./constants\").name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o(\"visible\",i(t,e,{name:\"buttons\",handleItemDefaults:c}).length>0)&&(o(\"active\"),o(\"direction\"),o(\"type\"),o(\"showactive\"),o(\"x\"),o(\"y\"),n.noneOrAll(t,e,[\"x\",\"y\"]),o(\"xanchor\"),o(\"yanchor\"),o(\"pad.t\"),o(\"pad.r\"),o(\"pad.b\"),o(\"pad.l\"),n.coerceFont(o,\"font\",r.font),o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\"),o(\"borderwidth\"))}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r(\"visible\",\"skip\"===t.method||Array.isArray(t.args))&&(r(\"method\"),r(\"args\"),r(\"args2\"),r(\"label\"),r(\"execute\"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{\"../../lib\":503,\"../../plots/array_container_defaults\":549,\"./attributes\":465,\"./constants\":466}],468:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../plots/plots\"),a=t(\"../color\"),o=t(\"../drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../plot_api/plot_template\").arrayEditor,u=t(\"../../constants/alignment\").LINE_SPACING,f=t(\"./constants\"),h=t(\"./scrollbox\");function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function m(t,e,r,n,i,a,o,s){e.active=o,c(t.layout,f.name,e).applyUpdate(\"active\",o),\"buttons\"===e.type?v(t,n,null,null,e):\"dropdown\"===e.type&&(i.attr(f.menuIndexAttrName,\"-1\"),g(t,n,i,a,e),s||v(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,\"g\",f.headerClassName,(function(t){t.style(\"pointer-events\",\"all\")})),l=i._dims,c=i.active,u=i.buttons[c]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(y,i,u,t).call(M,i,h,p),s.ensureSingle(e,\"text\",f.headerArrowClassName,(function(t){t.attr(\"text-anchor\",\"end\").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on(\"click\",(function(){r.call(S,String(d(r,i)?-1:i._index)),v(t,e,r,n,i)})),a.on(\"mouseover\",(function(){a.call(w)})),a.on(\"mouseout\",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function v(t,e,r,a,o){r||(r=e).attr(\"pointer-events\",\"all\");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&\"buttons\"!==o.type?[]:o.buttons,c=\"dropdown\"===o.type?f.dropdownButtonClassName:f.buttonClassName,u=r.selectAll(\"g.\"+c).data(s.filterVisible(l)),h=u.enter().append(\"g\").classed(c,!0),p=u.exit();\"dropdown\"===o.type?(h.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),p.transition().attr(\"opacity\",\"0\").remove()):p.remove();var d=0,g=0,v=o._dims,x=-1!==[\"up\",\"down\"].indexOf(o.direction);\"dropdown\"===o.type&&(x?g=v.headerHeight+f.gapButtonHeader:d=v.headerWidth+f.gapButtonHeader),\"dropdown\"===o.type&&\"up\"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-v.openHeight),\"dropdown\"===o.type&&\"left\"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-v.openWidth);var b={x:v.lx+d+o.pad.l,y:v.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each((function(s,l){var c=n.select(this);c.call(y,o,s,t).call(M,o,b),c.on(\"click\",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(m(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(m(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit(\"plotly_buttonclicked\",{menu:o,button:s,active:o.active}))})),c.on(\"mouseover\",(function(){c.call(w)})),c.on(\"mouseout\",(function(){c.call(T,o),u.call(_,o)}))})),u.call(_,o),x?(k.w=Math.max(v.openWidth,v.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(v.openHeight,v.headerHeight)),k.direction=o.direction,a&&(u.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u=\"up\"===c||\"down\"===c,h=i._dims,p=i.active;if(u)for(s=0,l=0;l0?[0]:[]);if(o.enter().append(\"g\").classed(f.containerClassName,!0).style(\"cursor\",\"pointer\"),o.exit().each((function(){n.select(this).selectAll(\"g.\"+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll(\"g.\"+f.headerGroupClassName).data(r,p);l.enter().append(\"g\").classed(f.headerGroupClassName,!0);for(var c=s.ensureSingle(o,\"g\",f.dropdownButtonGroupClassName,(function(t){t.style(\"pointer-events\",\"all\")})),u=0;uw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+v;E+M>c&&(E=c-M);var L=this.container.selectAll(\"rect.scrollbar-horizontal\").data(k?[0]:[]);L.exit().on(\".drag\",null).remove(),L.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(i.fill,s.barColor),k?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=v>T,P=s.barWidth+2*s.barPad,I=s.barLength+2*s.barPad,O=d+m,z=g;O+P>l&&(O=l-P);var D=this.container.selectAll(\"rect.scrollbar-vertical\").data(C?[0]:[]);D.exit().on(\".drag\",null).remove(),D.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(i.fill,s.barColor),C?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:O,y:z,width:P,height:I}),this._vbarYMin=z+I/2,this._vbarTranslateMax=T-I):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=C?f+P+.5:f+.5,N=h-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll(\"#\"+R).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append(\"clipPath\").attr(\"id\",R).append(\"rect\"),k||C?(this._clipRect=U.select(\"rect\").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:m,height:v})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),k||C){var V=n.behavior.drag().on(\"dragstart\",(function(){n.event.sourceEvent.preventDefault()})).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(V);var H=n.behavior.drag().on(\"dragstart\",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on(\"drag\",this._onBarDrag.bind(this));k&&this.hbar.on(\".drag\",null).call(H),C&&this.vbar.on(\".drag\",null).call(H)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(\".drag\",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(\".drag\",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},{\"../../lib\":503,\"../color\":366,\"../drawing\":388,\"@plotly/d3\":58}],471:[function(t,e,r){\"use strict\";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}}},{}],472:[function(t,e,r){\"use strict\";e.exports={axisRefDescription:function(t,e,r){return[\"If set to a\",t,\"axis id (e.g. *\"+t+\"* or\",\"*\"+t+\"2*), the `\"+t+\"` position refers to a\",t,\"coordinate. If set to *paper*, the `\"+t+\"`\",\"position refers to the distance from the\",e,\"of the plotting\",\"area in normalized coordinates where *0* (*1*) corresponds to the\",e,\"(\"+r+\"). If set to a\",t,\"axis ID followed by\",\"*domain* (separated by a space), the position behaves like for\",\"*paper*, but refers to the distance in fractions of the domain\",\"length from the\",e,\"of the domain of that axis: e.g.,\",\"*\"+t+\"2 domain* refers to the domain of the second\",t,\" axis and a\",t,\"position of 0.5 refers to the\",\"point between the\",e,\"and the\",r,\"of the domain of the\",\"second\",t,\"axis.\"].join(\" \")}}},{}],473:[function(t,e,r){\"use strict\";e.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"\\u25b2\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"\\u25bc\"}}},{}],474:[function(t,e,r){\"use strict\";e.exports={FORMAT_LINK:\"https://github.com/d3/d3-format/tree/v1.4.5#d3-format\",DATE_FORMAT_LINK:\"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format\"}},{}],475:[function(t,e,r){\"use strict\";e.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}},{}],476:[function(t,e,r){\"use strict\";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],477:[function(t,e,r){\"use strict\";e.exports={circle:\"\\u25cf\",\"circle-open\":\"\\u25cb\",square:\"\\u25a0\",\"square-open\":\"\\u25a1\",diamond:\"\\u25c6\",\"diamond-open\":\"\\u25c7\",cross:\"+\",x:\"\\u274c\"}},{}],478:[function(t,e,r){\"use strict\";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],479:[function(t,e,r){\"use strict\";e.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:\"\\u2212\"}},{}],480:[function(t,e,r){\"use strict\";r.xmlns=\"http://www.w3.org/2000/xmlns/\",r.svg=\"http://www.w3.org/2000/svg\",r.xlink=\"http://www.w3.org/1999/xlink\",r.svgAttrs={xmlns:r.svg,\"xmlns:xlink\":r.xlink}},{}],481:[function(t,e,r){\"use strict\";r.version=t(\"./version\").version,t(\"native-promise-only\"),t(\"../build/plotcss\");for(var n=t(\"./registry\"),i=r.register=n.register,a=t(\"./plot_api\"),o=Object.keys(a),s=0;splotly-logomark\"}}},{}],483:[function(t,e,r){\"use strict\";r.isLeftAnchor=function(t){return\"left\"===t.xanchor||\"auto\"===t.xanchor&&t.x<=1/3},r.isCenterAnchor=function(t){return\"center\"===t.xanchor||\"auto\"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isRightAnchor=function(t){return\"right\"===t.xanchor||\"auto\"===t.xanchor&&t.x>=2/3},r.isTopAnchor=function(t){return\"top\"===t.yanchor||\"auto\"===t.yanchor&&t.y>=2/3},r.isMiddleAnchor=function(t){return\"middle\"===t.yanchor||\"auto\"===t.yanchor&&t.y>1/3&&t.y<2/3},r.isBottomAnchor=function(t){return\"bottom\"===t.yanchor||\"auto\"===t.yanchor&&t.y<=1/3}},{}],484:[function(t,e,r){\"use strict\";var n=t(\"./mod\"),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function c(t,e){return a(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,c){i=i||0,a=a||0;var u,f,h,p,d,m=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}m?(u=0,f=o,h=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},{\"./mod\":510}],485:[function(t,e,r){\"use strict\";var n=Array.isArray,i=ArrayBuffer,a=DataView;function o(t){return i.isView(t)&&!(t instanceof a)}function s(t){return n(t)||o(t)}function l(t,e,r){if(s(t)){if(s(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\"string\"!=typeof t){var i=\"number\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){\"auto\"===t?e.set(\"auto\"):n(t)?e.set(f(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||u(r);\"string\"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||\"string\"==typeof t&&!!u(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(\"string\"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(\"+\"),a=0;a=n&&t<=i?t:u}if(\"string\"!=typeof t&&\"number\"!=typeof t)return u;t=String(t);var c=_(e),v=t.charAt(0);!c||\"G\"!==v&&\"g\"!==v||(t=t.substr(1),e=\"\");var w=c&&\"chinese\"===e.substr(0,7),T=t.match(w?x:y);if(!T)return u;var k=T[1],A=T[3]||\"1\",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),L=Number(T[11]||0);if(c){if(2===k.length)return u;var C;k=Number(k);try{var P=g.getComponentMethod(\"calendars\",\"getCal\")(e);if(w){var I=\"i\"===A.charAt(A.length-1);A=parseInt(A,10),C=P.newDate(k,P.toMonthIndex(k,A,I),M)}else C=P.newDate(k,Number(A),M)}catch(t){return u}return C?(C.toJD()-m)*f+S*h+E*p+L*d:u}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var O=new Date(Date.UTC(2e3,A,M,S,E));return O.setUTCFullYear(k),O.getUTCMonth()!==A||O.getUTCDate()!==M?u:O.getTime()+L*d},n=r.MIN_MS=r.dateTime2ms(\"-9999\"),i=r.MAX_MS=r.dateTime2ms(\"9999-12-31 23:59:59.9999\"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var T=90*f,k=3*h,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=\" \"+w(e,2)+\":\"+w(r,2),(n||i)&&(t+=\":\"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+=\".\"+w(i,a)}return t}r.ms2DateTime=function(t,e,r){if(\"number\"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+m,E=Math.floor(l(t,f));try{a=g.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(S).formatDate(\"yyyy-mm-dd\")}catch(t){a=v(\"G%Y-%m-%d\")(new Date(w))}if(\"-\"===a.charAt(0))for(;a.length<11;)a=\"-0\"+a.substr(1);else for(;a.length<10;)a=\"0\"+a;o=e=n+f&&t<=i-f))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a(\"%Y-%m-%d\")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(t===u)return e;if(r.isJSDate(t)||\"number\"==typeof t&&isFinite(t)){if(_(n))return s.error(\"JS Dates and milliseconds are incompatible with world calendars\",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error(\"unrecognized date\",t),e;return t};var S=/%\\d?f/g,E=/%h/g,L={1:\"1\",2:\"1\",3:\"2\",4:\"2\"};function C(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,\"\")||\"0\"}));var i=new Date(Math.floor(e+.05));if(t=t.replace(E,(function(){return L[r(\"%q\")(i)]})),_(n))try{t=g.getComponentMethod(\"calendars\",\"worldCalFmt\")(t,e,n)}catch(t){return\"Invalid\"}return r(t)(i)}var P=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if(\"y\"===r)e=a.year;else if(\"m\"===r)e=a.month;else{if(\"d\"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+\":\"+w(l(Math.floor(r/p),60),2);if(\"M\"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),P[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+i}return n}(t,r)+\"\\n\"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+\"\\n\"+a.year}return C(e,t,n,i)};var I=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+m,a=g.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return e%12?a.add(o,e,\"m\"):a.add(o,e/12,\"y\"),(o.toJD()-m)*f+n}catch(e){s.error(\"invalid ms \"+t+\" in calendar \"+r)}var c=new Date(t+I);return c.setUTCMonth(c.getUTCMonth()+e)+n-I},r.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,c=_(e)&&g.getComponentMethod(\"calendars\",\"getCal\")(e),u=0;u0&&t[e+1][0]<0)return e;return null}switch(e=\"RUS\"===s||\"FJI\"===s?function(t){var e;if(null===c(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case\"MultiPolygon\":for(r=0;ri&&(i=c,e=l)}else e=r;return o.default(e).geometry.coordinates}(u),n.fIn=t,n.fOut=u,s.push(u)}else c.log([\"Location\",n.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete i[r]}switch(r.type){case\"FeatureCollection\":var h=r.features;for(n=0;n100?(clearInterval(a),n(\"Unexpected error while fetching from \"+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:\"LineString\",coordinates:t[0]}:{type:\"MultiLineString\",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:\"Polygon\",coordinates:t};for(var e=new Array(t.length),r=0;r1||m<0||m>1?null:{x:t+l*m,y:e+f*m}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,f=n-e,h=o-i,p=c-a,d=u*u+f*f,m=h*h+p*p,g=Math.min(l(u,f,d,i-t,a-e),l(u,f,d,o-t,c-e),l(h,p,m,t-i,e-a),l(h,p,m,r-i,n-a));return Math.sqrt(g)},r.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+c.x)/6,y:(4*f.y+l.y+c.y)/6,theta:u};return n[r]=h,h},r.clearLocationCache=function(){i=null},r.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),f=u;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(c*c+f*f)}for(var p=h(c);p;){if((c+=p+r)>f)return;p=h(c)}for(p=h(f);p;){if(c>(f-=p+r))return;p=h(f)}return{min:c,max:f,len:f-c,total:u,isClosed:0===c&&f===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f0?p=i:h=i,f++}return a}},{\"./mod\":510}],499:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"color-normalize\"),o=t(\"../components/colorscale\"),s=t(\"../components/color/attributes\").defaultLine,l=t(\"./array\").isArrayOrTypedArray,c=a(s);function u(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return c;var e=a(t);return e.length?e:c}function h(t){return n(t)?t:1}e.exports={formatColor:function(t,e,r){var n,i,s,p,d,m=t.color,g=l(m),v=l(e),y=o.extractOpts(t),x=[];if(n=void 0!==y.colorscale?o.makeColorScaleFuncFromTrace(t):f,i=g?function(t,e){return void 0===t[e]?c:a(n(t[e]))}:f,s=v?function(t,e){return void 0===t[e]?1:h(t[e])}:h,g||v)for(var b=0;b1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf(\"e+\")&&(n=+o)}}return n}},{}],503:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-time-format\").utcFormat,a=t(\"d3-format\").format,o=t(\"fast-isnumeric\"),s=t(\"../constants/numerical\"),l=s.FP_SAFE,c=-l,u=s.BADNUM,f=e.exports={};f.adjustFormat=function(t){return!t||/^\\d[.]\\df/.test(t)||/[.]\\d%/.test(t)?t:\"0.f\"===t?\"~f\":/^\\d%/.test(t)?\"~%\":/^\\ds/.test(t)?\"~s\":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?\"~\"+t:t};var h={};f.warnBadFormat=function(t){var e=String(t);h[e]||(h[e]=1,f.warn('encountered bad format: \"'+e+'\"'))},f.noFormat=function(t){return String(t)},f.numberFormat=function(t){var e;try{e=a(f.adjustFormat(t))}catch(e){return f.warnBadFormat(t),f.noFormat}return e},f.nestedProperty=t(\"./nested_property\"),f.keyedContainer=t(\"./keyed_container\"),f.relativeAttr=t(\"./relative_attr\"),f.isPlainObject=t(\"./is_plain_object\"),f.toLogRange=t(\"./to_log_range\"),f.relinkPrivateKeys=t(\"./relink_private\");var p=t(\"./array\");f.isTypedArray=p.isTypedArray,f.isArrayOrTypedArray=p.isArrayOrTypedArray,f.isArray1D=p.isArray1D,f.ensureArray=p.ensureArray,f.concat=p.concat,f.maxRowLength=p.maxRowLength,f.minRowLength=p.minRowLength;var d=t(\"./mod\");f.mod=d.mod,f.modHalf=d.modHalf;var m=t(\"./coerce\");f.valObjectMeta=m.valObjectMeta,f.coerce=m.coerce,f.coerce2=m.coerce2,f.coerceFont=m.coerceFont,f.coercePattern=m.coercePattern,f.coerceHoverinfo=m.coerceHoverinfo,f.coerceSelectionMarkerOpacity=m.coerceSelectionMarkerOpacity,f.validate=m.validate;var g=t(\"./dates\");f.dateTime2ms=g.dateTime2ms,f.isDateTime=g.isDateTime,f.ms2DateTime=g.ms2DateTime,f.ms2DateTimeLocal=g.ms2DateTimeLocal,f.cleanDate=g.cleanDate,f.isJSDate=g.isJSDate,f.formatDate=g.formatDate,f.incrementMonth=g.incrementMonth,f.dateTick0=g.dateTick0,f.dfltRange=g.dfltRange,f.findExactDates=g.findExactDates,f.MIN_MS=g.MIN_MS,f.MAX_MS=g.MAX_MS;var v=t(\"./search\");f.findBin=v.findBin,f.sorterAsc=v.sorterAsc,f.sorterDes=v.sorterDes,f.distinctVals=v.distinctVals,f.roundUp=v.roundUp,f.sort=v.sort,f.findIndexOfMin=v.findIndexOfMin,f.sortObjectKeys=t(\"./sort_object_keys\");var y=t(\"./stats\");f.aggNums=y.aggNums,f.len=y.len,f.mean=y.mean,f.median=y.median,f.midRange=y.midRange,f.variance=y.variance,f.stdev=y.stdev,f.interp=y.interp;var x=t(\"./matrix\");f.init2dArray=x.init2dArray,f.transposeRagged=x.transposeRagged,f.dot=x.dot,f.translationMatrix=x.translationMatrix,f.rotationMatrix=x.rotationMatrix,f.rotationXYMatrix=x.rotationXYMatrix,f.apply3DTransform=x.apply3DTransform,f.apply2DTransform=x.apply2DTransform,f.apply2DTransform2=x.apply2DTransform2,f.convertCssMatrix=x.convertCssMatrix,f.inverseTransformMatrix=x.inverseTransformMatrix;var b=t(\"./angles\");f.deg2rad=b.deg2rad,f.rad2deg=b.rad2deg,f.angleDelta=b.angleDelta,f.angleDist=b.angleDist,f.isFullCircle=b.isFullCircle,f.isAngleInsideSector=b.isAngleInsideSector,f.isPtInsideSector=b.isPtInsideSector,f.pathArc=b.pathArc,f.pathSector=b.pathSector,f.pathAnnulus=b.pathAnnulus;var _=t(\"./anchor_utils\");f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=t(\"./geometry2d\");f.segmentsIntersect=w.segmentsIntersect,f.segmentDistance=w.segmentDistance,f.getTextLocation=w.getTextLocation,f.clearLocationCache=w.clearLocationCache,f.getVisibleSegment=w.getVisibleSegment,f.findPointOnPath=w.findPointOnPath;var T=t(\"./extend\");f.extendFlat=T.extendFlat,f.extendDeep=T.extendDeep,f.extendDeepAll=T.extendDeepAll,f.extendDeepNoArrays=T.extendDeepNoArrays;var k=t(\"./loggers\");f.log=k.log,f.warn=k.warn,f.error=k.error;var A=t(\"./regex\");f.counterRegex=A.counter;var M=t(\"./throttle\");f.throttle=M.throttle,f.throttleDone=M.done,f.clearThrottle=M.clear;var S=t(\"./dom\");function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&(o(t)&&t>=0&&t%1==0)},f.noop=t(\"./noop\"),f.identity=t(\"./identity\"),f.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},f.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},f.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(f.warn(\"randstr failed uniqueness\"),l):t(e,r,n,(i||0)+1):l},f.OptionControl=function(t,e){t||(t={}),e||(e=\"opt\");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r[\"_\"+e]=t,r},f.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},f.syncOrAsync=function(t,e,r){var n;function i(){return f.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},f.stripTrailingSlash=function(t){return\"/\"===t.substr(-1)?t.substr(0,t.length-1):t},f.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},f.fillArray=function(t,e,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(t))for(var i=0;i1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l},f.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var z=/^\\w*$/;f.templateString=function(t,e){var r={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,n){var i;return z.test(n)?i=e[n]:(r[n]=r[n]||f.nestedProperty(e,n).get,i=r[n]()),f.isValidTextValue(i)?i:\"\"}))};var D={max:10,count:0,name:\"hovertemplate\"};f.hovertemplateString=function(){return B.apply(D,arguments)};var R={max:10,count:0,name:\"texttemplate\"};f.texttemplateString=function(){return B.apply(R,arguments)};var F=/^[:|\\|]/;function B(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,s,l){var c,u,h,p=\"_xother\"===s||\"_yother\"===s,d=\"_xother_\"===s||\"_yother_\"===s,m=\"xother_\"===s||\"yother_\"===s,g=\"xother\"===s||\"yother\"===s||p||m||d,v=s;if((p||d)&&(v=v.substring(1)),(m||d)&&(v=v.substring(0,v.length-1)),g){if(void 0===(c=e[v]))return\"\"}else for(h=3;h=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var N=2e9;f.seedPseudoRandom=function(){N=2e9},f.pseudoRandom=function(){var t=N;return N=(69069*N+1)%4294967296,Math.abs(N-t)<429496729?f.pseudoRandom():N/4294967296},f.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=f.extractOption(t,e,\"htx\",\"hovertext\");if(f.isValidTextValue(i))return n(i);var a=f.extractOption(t,e,\"tx\",\"text\");return f.isValidTextValue(a)?n(a):void 0},f.isValidTextValue=function(t){return t||0===t},f.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+\"%\",n=0;n1&&(c=1):c=0,f.strTranslate(i-c*(r+o),a-c*(n+s))+f.strScale(c)+(l?\"rotate(\"+l+(e?\"\":\" \"+r+\" \"+n)+\")\":\"\")},f.ensureUniformFontSize=function(t,e){var r=f.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},f.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},f.bigFont=function(t){return Math.round(1.2*t)};var j=f.getFirefoxVersion(),U=null!==j&&j<86;f.getPositionFromD3Event=function(){return U?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},{\"../constants/numerical\":479,\"./anchor_utils\":483,\"./angles\":484,\"./array\":485,\"./clean_number\":486,\"./clear_responsive\":488,\"./coerce\":489,\"./dates\":490,\"./dom\":491,\"./extend\":493,\"./filter_unique\":494,\"./filter_visible\":495,\"./geometry2d\":498,\"./identity\":501,\"./increment\":502,\"./is_plain_object\":504,\"./keyed_container\":505,\"./localize\":506,\"./loggers\":507,\"./make_trace_groups\":508,\"./matrix\":509,\"./mod\":510,\"./nested_property\":511,\"./noop\":512,\"./notifier\":513,\"./preserve_drawing_buffer\":517,\"./push_unique\":518,\"./regex\":520,\"./relative_attr\":521,\"./relink_private\":522,\"./search\":523,\"./sort_object_keys\":526,\"./stats\":527,\"./throttle\":530,\"./to_log_range\":531,\"@plotly/d3\":58,\"d3-format\":112,\"d3-time-format\":120,\"fast-isnumeric\":190}],504:[function(t,e,r){\"use strict\";e.exports=function(t){return window&&window.process&&window.process.versions?\"[object Object]\"===Object.prototype.toString.call(t):\"[object Object]\"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty(\"hasOwnProperty\")}},{}],505:[function(t,e,r){\"use strict\";var n=t(\"./nested_property\"),i=/^\\w*$/;e.exports=function(t,e,r,a){var o,s,l;r=r||\"name\",a=a||\"value\";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||\"\";var u={};if(s)for(o=0;o2)return c[e]=2|c[e],h.set(t,null);if(f){for(o=e;o1){var e=[\"LOG:\"];for(t=0;t1){var r=[];for(t=0;t\"),\"long\")}},a.warn=function(){var t;if(n.logging>0){var e=[\"WARN:\"];for(t=0;t0){var r=[];for(t=0;t\"),\"stick\")}},a.error=function(){var t;if(n.logging>0){var e=[\"ERROR:\"];for(t=0;t0){var r=[];for(t=0;t\"),\"stick\")}}},{\"../plot_api/plot_config\":541,\"./notifier\":513}],508:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\");e.exports=function(t,e,r){var i=t.selectAll(\"g.\"+r.replace(/\\s/g,\".\")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append(\"g\").attr(\"class\",r),i.order();var a=t.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return i.each((function(t){t[0][a]=n.select(this)})),i}},{\"@plotly/d3\":58}],509:[function(t,e,r){\"use strict\";var n=t(\"gl-mat4\");r.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},{}],511:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./array\").isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,c=t;for(s=0;s/g),l=0;la||c===i||cs)&&(!e||!l(t))}:function(t,e){var l=t[0],c=t[1];if(l===i||la||c===i||cs)return!1;var u,f,h,p,d,m=r.length,g=r[0][0],v=r[0][1],y=0;for(u=1;uMath.max(f,g)||c>Math.max(h,v)))if(cu||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c1&&o(t.pop());return{addPt:o,raw:t,filtered:r}}},{\"../constants/numerical\":479,\"./matrix\":509}],516:[function(t,e,r){(function(r){(function(){\"use strict\";var n=t(\"./show_no_webgl_msg\"),i=t(\"regl\");e.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has(\"parcoords\")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener(\"webglcontextlost\",(function(e){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./show_no_webgl_msg\":525,regl:283}],517:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"is-mobile\");e.exports=function(t){var e;if(\"string\"!=typeof(e=t&&t.hasOwnProperty(\"userAgent\")?t.userAgent:function(){var t;\"undefined\"!=typeof navigator&&(t=navigator.userAgent);t&&t.headers&&\"string\"==typeof t.headers[\"user-agent\"]&&(t=t.headers[\"user-agent\"]);return t}()))return!0;var r=i({ua:{headers:{\"user-agent\":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(\" \"),o=1;o-1;s--){var l=a[s];if(\"Version/\"===l.substr(0,8)){var c=l.substr(8).split(\".\")[0];if(n(c)&&(c=+c),c>=13)return!0}}}return r}},{\"fast-isnumeric\":190,\"is-mobile\":234}],518:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function u(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var a,o,f=0,h=e.length,p=0,d=h>1?(e[h-1]-e[0])/(h-1):1;for(o=d>=0?r?s:l:r?u:c,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);f90&&i.log(\"Long binary search...\"),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e,n=t.slice();for(n.sort(r.sorterAsc),e=n.length-1;e>-1&&n[e]===o;e--);for(var i,a=n[e]-n[0]||1,s=a/(e||1)/1e4,l=[],c=0;c<=e;c++){var u=n[c],f=u-i;void 0===i?(l.push(u),i=u):f>s&&(a=Math.min(a,f),l.push(u),i=u)}return{vals:l,minDiff:a}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{\"./array\":485,\"fast-isnumeric\":190}],528:[function(t,e,r){\"use strict\";var n=t(\"color-normalize\");e.exports=function(t){return t?n(t):[0,0,0,1]}},{\"color-normalize\":89}],529:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../lib\"),a=i.strTranslate,o=t(\"../constants/xmlns_namespaces\"),s=t(\"../constants/alignment\").LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,m){var M=t.text(),S=!t.attr(\"data-notex\")&&e&&e._context.typesetMath&&\"undefined\"!=typeof MathJax&&M.match(l),C=n.select(t.node().parentNode);if(!C.empty()){var P=t.attr(\"class\")?t.attr(\"class\").split(\" \")[0]:\"text\";return P+=\"-math\",C.selectAll(\"svg.\"+P).remove(),C.selectAll(\"g.\"+P+\"-group\").remove(),t.style(\"display\",null).attr({\"data-unformatted\":M,\"data-math\":\"N\"}),S?(e&&e._promises||[]).push(new Promise((function(e){t.style(\"display\",\"none\");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,h=parseInt((MathJax.version||\"\").split(\".\")[0]);if(2!==h&&3!==h)return void i.warn(\"No MathJax version:\",MathJax.version);var p=function(){var r=\"math-output-\"+i.randstr({},64),a=(l=n.select(\"body\").append(\"div\").attr({id:r}).style({visibility:\"hidden\",position:\"absolute\",\"font-size\":e.fontSize+\"px\"}).text(t.replace(c,\"\\\\lt \").replace(u,\"\\\\gt \"))).node();return 2===h?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===h?\".MathJax_SVG\":\".MathJax\"),a=!e.empty()&&l.select(\"svg\").node();if(a){var o,s=a.getBoundingClientRect();o=2===h?n.select(\"body\").select(\"#MathJax_SVG_glyphs\"):e.select(\"defs\"),r(e,o,s)}else i.log(\"There was an error in the tex syntax.\",t),r();l.remove()};2===h?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:f},displayAlign:\"left\"})}),(function(){if(\"SVG\"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer(\"SVG\")}),p,d,(function(){if(\"SVG\"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===h&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=f,\"svg\"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output=\"svg\"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),\"svg\"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}(S[2],o,(function(n,i,o){C.selectAll(\"svg.\"+P).remove(),C.selectAll(\"g.\"+P+\"-group\").remove();var s=n&&n.select(\"svg\");if(!s||!s.node())return I(),void e();var l=C.append(\"g\").classed(P+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":M,\"data-math\":\"Y\"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var c=o.width,u=o.height;s.attr({class:P,height:u,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var f=t.node().style.fill||\"black\",h=s.select(\"g\");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,g=p.height;(d>c||g>u)&&(s.style(\"overflow\",\"hidden\"),d=(p=s.node().getBoundingClientRect()).width,g=p.height);var v=+t.attr(\"x\"),y=+t.attr(\"y\"),x=-(r||t.node().getBoundingClientRect().height)/4;if(\"y\"===P[0])l.attr({transform:\"rotate(\"+[-90,v,y]+\")\"+a(-d/2,x-g/2)});else if(\"l\"===P[0])y=x-g/2;else if(\"a\"===P[0]&&0!==P.indexOf(\"atitle\"))v=0,y=x;else{var b=t.attr(\"text-anchor\");v-=d*(\"middle\"===b?.5:\"end\"===b?1:0),y=y+x-g/2}s.attr({x:v,y:y}),m&&m.call(t,l),e(l)}))}))):I(),t}function I(){C.empty()||(P=t.attr(\"class\")+\"-math\",C.select(\"svg.\"+P).remove()),t.text(\"\").style(\"white-space\",\"pre\"),function(t,e){e=e.replace(g,\" \");var r,a=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(o.svg,\"tspan\");n.select(e).attr({class:\"line\",dy:c*s+\"em\"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <\"+t+\">. Pretending it did match.\",e),r=l[l.length-1].node}else i.log(\"Ignoring unexpected end tag .\",e)}x.test(e)?u():(r=t,l=[{node:t}]);for(var S=e.split(v),C=0;C|>|>)/g;var f=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]];var h={sup:\"font-size:70%\",sub:\"font-size:70%\",b:\"font-weight:bold\",i:\"font-style:italic\",a:\"cursor:pointer\",span:\"\",em:\"font-style:italic;font-weight:bold\"},p={sub:\"0.3em\",sup:\"-0.6em\"},d={sub:\"-0.21em\",sup:\"0.42em\"},m=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],g=r.NEWLINES=/(\\r\\n?|\\n)/g,v=/(<[^<>]*>)/,y=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,x=//i;r.BR_TAG_ALL=//gi;var b=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,_=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,w=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,T=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function k(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&E(n)}var A=/(^|;)\\s*color:/;r.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:[\"br\"],i=\"...\".length,a=t.split(v),o=[],s=\"\",l=0,c=0;ci?o.push(u.substr(0,d-i)+\"...\"):o.push(u.substr(0,d));break}s=\"\"}}return o.join(\"\")};var M={mu:\"\\u03bc\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xa0\",times:\"\\xd7\",plusmn:\"\\xb1\",deg:\"\\xb0\"},S=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function E(t){return t.replace(S,(function(t,e){return(\"#\"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}(\"x\"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):M[e])||t}))}function L(t){var e=encodeURI(decodeURI(t)),r=document.createElement(\"a\"),n=document.createElement(\"a\");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==m.indexOf(i)&&-1!==m.indexOf(a)?e:\"\"}function C(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||\"top\",c=t.node().getBoundingClientRect(),u=e.node().getBoundingClientRect();return a=\"bottom\"===l?function(){return c.bottom-n.height}:\"middle\"===l?function(){return c.top+(c.height-n.height)/2}:function(){return c.top},o=\"right\"===s?function(){return c.right-n.width}:\"center\"===s?function(){return c.left+(c.width-n.width)/2}:function(){return c.left},function(){n=this.node().getBoundingClientRect();var t=o()-u.left,e=a()-u.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+\"px\",left:t+\"px\",\"z-index\":1e3}),this}}r.convertEntities=E,r.sanitizeHTML=function(t){t=t.replace(g,\" \");for(var e=document.createElement(\"p\"),r=e,i=[],a=t.split(v),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},r.clear=function(t){if(t)i(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],531:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{\"fast-isnumeric\":190}],532:[function(t,e,r){\"use strict\";var n=e.exports={},i=t(\"../plots/geo/constants\").locationmodeToLayer,a=t(\"topojson-client\").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,\"-\"),\"_\",t.resolution.toString(),\"m\"].join(\"\")},n.getTopojsonPath=function(t,e){return t+e+\".json\"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{\"../plots/geo/constants\":587,\"topojson-client\":315}],533:[function(t,e,r){\"use strict\";e.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}},{}],534:[function(t,e,r){\"use strict\";e.exports={moduleType:\"locale\",name:\"en\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colourscale title\"},format:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],periods:[\"AM\",\"PM\"],dateTime:\"%a %b %e %X %Y\",date:\"%d/%m/%Y\",time:\"%H:%M:%S\",decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],year:\"%Y\",month:\"%b %Y\",dayMonth:\"%b %-d\",dayMonthYear:\"%b %-d, %Y\"}}},{}],535:[function(t,e,r){\"use strict\";var n=t(\"../registry\");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(\"[\")[0],s=0;s0&&o.log(\"Clearing previous rejected promises from queue.\"),t._promises=[]},r.cleanLayout=function(t){var e,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,m=Object.keys(t);for(e=0;e3?(O.x=1.02,O.xanchor=\"left\"):O.x<-2&&(O.x=-.02,O.xanchor=\"right\"),O.y>3?(O.y=1.02,O.yanchor=\"bottom\"):O.y<-2&&(O.y=-.02,O.yanchor=\"top\")),d(t),\"rotate\"===t.dragmode&&(t.dragmode=\"orbit\"),c.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=[\"x\",\"y\",\"z\"];r.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn(\"Full array edits are incompatible with other edits\",f);var y=r[\"\"][\"\"];if(c(y))e.set(null);else{if(!Array.isArray(y))return a.warn(\"Unrecognized full array edit value\",f,y),!0;e.set(y)}return!m&&(h(g,v),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=u(v,f).get(),P=[],I=-1,O=L.length;for(x=0;xL.length-(A?0:1))a.warn(\"index out of range\",f,_);else if(void 0!==k)T.length>1&&a.warn(\"Insertion & removal are incompatible with edits to the same index.\",f,_),c(k)?P.push(_):A?(\"add\"===k&&(k={}),L.splice(_,0,k),C&&C.splice(_,0,{})):a.warn(\"Unrecognized full object edit value\",f,_,k),-1===I&&(I=_);else for(b=0;b=0;x--)L.splice(P[x],1),C&&C.splice(P[x],1);if(L.length?E||e.set(L):e.set(null),m)return!1;if(h(g,v),d!==i){var z;if(-1===I)z=S;else{for(O=Math.max(L.length,O),z=[],x=0;x=I);x++)z.push(_);for(x=I;x=t.data.length||i<-t.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function I(t,e,r){if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(void 0===e)throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(e)||(e=[e]),P(t,e,\"currentIndices\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&P(t,r,\"newIndices\"),void 0!==r&&e.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function O(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array\");if(!o.isPlainObject(e))throw new Error(\"update must be a key:value object\");if(void 0===r)throw new Error(\"indices must be an integer or array of integers\");for(var a in P(t,r,\"indices\"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,c,u,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=C(r,t.data.length-1),e)for(var m=0;m-1&&-1===r.indexOf(\"grouptitlefont\")?l(r,r.replace(\"titlefont\",\"title.font\")):r.indexOf(\"titleposition\")>-1?l(r,r.replace(\"titleposition\",\"title.position\")):r.indexOf(\"titleside\")>-1?l(r,r.replace(\"titleside\",\"title.side\")):r.indexOf(\"titleoffset\")>-1&&l(r,r.replace(\"titleoffset\",\"title.offset\")):l(r,r.replace(\"title\",\"title.text\"));function l(e,r){t[r]=t[e],delete t[e]}}function U(t,e,r){t=o.getGraphDiv(t),_.clearPromiseQueue(t);var n={};if(\"string\"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn(\"Relayout fail.\",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=W(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(w.layoutReplot):Object.keys(n).length&&(V(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(w.doLegend),a.layoutstyle&&s.push(w.layoutStyles),a.axrange&&H(s,i.rangesAltered),a.ticks&&s.push(w.doTicksRelayout),a.modebar&&s.push(w.doModeBar),a.camera&&s.push(w.doCamera),a.colorbars&&s.push(w.doColorBars),s.push(M)),s.push(h.rehover,h.redrag),c.add(t,U,[t,i.undoit],U,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit(\"plotly_relayout\",i.eventData),t}))}function V(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var i in e)if(\"axrange\"!==i&&e[i])return!1;for(var a in r.rangesAltered){var o=p.id2name(a),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup)for(var c in l._matchGroup)if(c!==a){var u=n[p.id2name(c)];u.autorange=l.autorange,u.range=l.range.slice(),u._input.range=l.range.slice()}}return!0}function H(t,e){var r=e?function(t){var r=[],n=!0;for(var i in e){var a=p.getFromId(t,i);if(r.push(i),-1!==(a.ticklabelposition||\"\").indexOf(\"inside\")&&a._anchorAxis&&r.push(a._anchorAxis._id),a._matchGroup)for(var o in a._matchGroup)e[o]||r.push(o);a.automargin&&(n=!1)}return p.draw(t,r,{skipTitle:n})}:function(t){return p.draw(t,\"redraw\")};t.push(y,w.doAutoRangeAndConstraints,r,w.drawData,w.finalDraw)}var q=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,G=/^[xyz]axis[0-9]*\\.autorange$/,Y=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function W(t,e){var r,n,i,a=t.layout,l=t._fullLayout,c=l._guiEditing,h=F(l._preGUI,c),d=Object.keys(e),m=p.list(t),g=o.extendDeepAll({},e),v={};for(j(e),d=Object.keys(e),n=0;n0&&\"string\"!=typeof O.parts[D];)D--;var B=O.parts[D],N=O.parts[D-1]+\".\"+B,U=O.parts.slice(0,D).join(\".\"),V=s(t.layout,U).get(),H=s(l,U).get(),W=O.get();if(void 0!==z){M[I]=z,S[I]=\"reverse\"===B?z:R(W);var Z=f.getLayoutValObject(l,O.parts);if(Z&&Z.impliedEdits&&null!==z)for(var J in Z.impliedEdits)E(o.relativeAttr(I,J),Z.impliedEdits[J]);if(-1!==[\"width\",\"height\"].indexOf(I))if(z){E(\"autosize\",null);var K=\"height\"===I?\"width\":\"height\";E(K,l[K])}else l[I]=t._initialAutoSize[I];else if(\"autosize\"===I)E(\"width\",z?null:l.width),E(\"height\",z?null:l.height);else if(N.match(q))P(N),s(l,U+\"._inputRange\").set(null);else if(N.match(G)){P(N),s(l,U+\"._inputRange\").set(null);var Q=s(l,U).get();Q._inputDomain&&(Q._input.domain=Q._inputDomain.slice())}else N.match(Y)&&s(l,U+\"._inputDomain\").set(null);if(\"type\"===B){L=V;var $=\"linear\"===H.type&&\"log\"===z,tt=\"log\"===H.type&&\"linear\"===z;if($||tt){if(L&&L.range)if(H.autorange)$&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];$?(et<=0&&rt<=0&&E(U+\".autorange\",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(U+\".range[0]\",Math.log(et)/Math.LN10),E(U+\".range[1]\",Math.log(rt)/Math.LN10)):(E(U+\".range[0]\",Math.pow(10,et)),E(U+\".range[1]\",Math.pow(10,rt)))}else E(U+\".autorange\",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[O.parts[0]]&&\"radialaxis\"===O.parts[1]&&delete l[O.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],u.getComponentMethod(\"annotations\",\"convertCoords\")(t,H,z,E),u.getComponentMethod(\"images\",\"convertCoords\")(t,H,z,E)}else E(U+\".autorange\",!0),E(U+\".range\",null);s(l,U+\"._inputRange\").set(null)}else if(B.match(k)){var nt=s(l,I).get(),it=(z||{}).type;it&&\"-\"!==it||(it=\"linear\"),u.getComponentMethod(\"annotations\",\"convertCoords\")(t,nt,it,E),u.getComponentMethod(\"images\",\"convertCoords\")(t,nt,it,E)}var at=b.containerArrayMatch(I);if(at){r=at.array,n=at.index;var ot=at.property,st=Z||{editType:\"calc\"};\"\"!==n&&\"\"===ot&&(b.isAddVal(z)?S[I]=null:b.isRemoveVal(z)?S[I]=(s(a,r).get()||[])[n]:o.warn(\"unrecognized full object value\",e)),T.update(A,st),v[r]||(v[r]={});var lt=v[r][n];lt||(lt=v[r][n]={}),lt[ot]=z,delete e[I]}else\"reverse\"===B?(V.range?V.range.reverse():(E(U+\".autorange\",!0),V.range=[1,0]),H.autorange?A.calc=!0:A.plot=!0):(\"dragmode\"===I&&(!1===z&&!1!==W||!1!==z&&!1===W)||l._has(\"scatter-like\")&&l._has(\"regl\")&&\"dragmode\"===I&&(\"lasso\"===z||\"select\"===z)&&\"lasso\"!==W&&\"select\"!==W||l._has(\"gl2d\")?A.plot=!0:Z?T.update(A,Z):A.calc=!0,O.set(z))}}for(r in v){b.applyContainerArrayChanges(t,h(a,r),v[r],A,h)||(A.plot=!0)}for(var ct in C){var ut=(L=p.getFromId(t,ct))&&L._constraintGroup;if(ut)for(var ft in A.calc=!0,ut)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}return(X(t)||e.height||e.width)&&(A.plot=!0),(A.plot||A.calc)&&(A.layoutReplot=!0),{flags:A,rangesAltered:C,undoit:S,redoit:M,eventData:g}}function X(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&h.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function Z(t,e,n,i){t=o.getGraphDiv(t),_.clearPromiseQueue(t),o.isPlainObject(e)||(e={}),o.isPlainObject(n)||(n={}),Object.keys(e).length&&(t.changed=!0),Object.keys(n).length&&(t.changed=!0);var a=_.coerceTraceIndices(t,i),s=N(t,o.extendFlat({},e),a),l=s.flags,u=W(t,o.extendFlat({},n)),f=u.flags;(l.calc||f.calc)&&(t.calcdata=void 0),l.clearAxisTypes&&_.clearAxisTypes(t,a,n);var p=[];f.layoutReplot?p.push(w.layoutReplot):l.fullReplot?p.push(r._doPlot):(p.push(h.previousPromises),V(t,f,u)||h.supplyDefaults(t),l.style&&p.push(w.doTraceStyle),(l.colorbars||f.colorbars)&&p.push(w.doColorBars),f.legend&&p.push(w.doLegend),f.layoutstyle&&p.push(w.layoutStyles),f.axrange&&H(p,u.rangesAltered),f.ticks&&p.push(w.doTicksRelayout),f.modebar&&p.push(w.doModeBar),f.camera&&p.push(w.doCamera),p.push(M)),p.push(h.rehover,h.redrag),c.add(t,Z,[t,s.undoit,u.undoit,s.traces],Z,[t,s.redoit,u.redoit,s.traces]);var d=o.syncOrAsync(p,t);return d&&d.then||(d=Promise.resolve(t)),d.then((function(){return t.emit(\"plotly_update\",{data:s.eventData,layout:u.eventData}),t}))}function J(t){return function(e){e._fullLayout._guiEditing=!0;var r=t.apply(null,arguments);return e._fullLayout._guiEditing=!1,r}}var K=[{pattern:/^hiddenlabels/,attr:\"legend.uirevision\"},{pattern:/^((x|y)axis\\d*)\\.((auto)?range|title\\.text)/},{pattern:/axis\\d*\\.showspikes$/,attr:\"modebar.uirevision\"},{pattern:/(hover|drag)mode$/,attr:\"modebar.uirevision\"},{pattern:/^(scene\\d*)\\.camera/},{pattern:/^(geo\\d*)\\.(projection|center|fitbounds)/},{pattern:/^(ternary\\d*\\.[abc]axis)\\.(min|title\\.text)$/},{pattern:/^(polar\\d*\\.radialaxis)\\.((auto)?range|angle|title\\.text)/},{pattern:/^(polar\\d*\\.angularaxis)\\.rotation/},{pattern:/^(mapbox\\d*)\\.(center|zoom|bearing|pitch)/},{pattern:/^legend\\.(x|y)$/,attr:\"editrevision\"},{pattern:/^(shapes|annotations)/,attr:\"editrevision\"},{pattern:/^title\\.text$/,attr:\"editrevision\"}],Q=[{pattern:/^selectedpoints$/,attr:\"selectionrevision\"},{pattern:/(^|value\\.)visible$/,attr:\"legend.uirevision\"},{pattern:/^dimensions\\[\\d+\\]\\.constraintrange/},{pattern:/^node\\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\\.)name$/},{pattern:/colorbar\\.title\\.text$/},{pattern:/colorbar\\.(x|y)$/,attr:\"editrevision\"}];function $(t,e){for(var r=0;r1;)if(n.pop(),void 0!==(r=s(e,n.join(\".\")+\".uirevision\").get()))return r;return e.uirevision}function et(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,u){function f(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,_.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit(\"plotly_animatingframe\",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&f()};e()}var d,m,g=0;function v(t){return Array.isArray(i)?g>=i.length?t.transitionOpts=i[g]:t.transitionOpts=i[0]:t.transitionOpts=i,g++,t}var y=[],x=null==e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))y.push({type:\"object\",data:v(o.extendFlat({},e))});else if(x||-1!==[\"string\",\"number\"].indexOf(typeof e))for(d=0;d0&&kk)&&A.push(m);y=A}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var m=e[n].name,g=(u[m]||d[m]||{}).name,v=e[n].name,y=u[g]||d[g];g&&v&&\"number\"==typeof v&&y&&A<5&&(A++,o.warn('addFrames: overwriting frame \"'+(u[g]||d[g]).name+'\" with a frame whose name of type \"number\" also equates to \"'+g+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===A&&o.warn(\"addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\")),d[m]={name:m},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if(\"number\"==typeof(i=p[n].frame).name&&o.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!i.name)for(;u[i.name=\"frame \"+t._transitionData._counter++];);if(u[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:\"delete\",index:n}),s.unshift({type:\"insert\",index:n,value:i[n]});var l=h.modifyFrames,u=h.modifyFrames,f=[t,s],p=[t,a];return c&&c.add(t,l,f,u,p),h.modifyFrames(t,a)},r.addTraces=function t(e,n,i){e=o.getGraphDiv(e);var a,s,l=[],u=r.deleteTraces,f=t,h=[e,l],p=[e,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(void 0===e)throw new Error(\"traces must be defined.\");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!y(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function y(t){return t===Math.round(t)&&t>=0}function x(){var t,e,r={};for(t in f(r,o),n.subplotsRegistry){if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[c].type]||{}).attributes)&&r[e[2]],s=3}else{var u=t._module;if(u||(u=(n.modules[t.type||a.type.dflt]||{})._module),!u)return!1;if(!(i=(r=u.attributes)&&r[o])){var f=u.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return v(i,e,s)},r.getLayoutValObject=function(t,e){return v(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r=i&&(r._input||{})._templateitemname;o&&(a=i);var s,l=e+\"[\"+a+\"]\";function c(){s={},o&&(s[l]={},s[l].templateitemname=o)}function u(t,e){o?n.nestedProperty(s[l],t).set(e):s[l+\".\"+t]=e}function f(){var t=s;return c(),t}return c(),{modifyBase:function(t,e){s[t]=e},modifyItem:u,getUpdateObj:f,applyUpdate:function(e,r){e&&u(e,r);var i=f();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},{\"../lib\":503,\"../plots/attributes\":550}],544:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../registry\"),a=t(\"../plots/plots\"),o=t(\"../lib\"),s=t(\"../lib/clear_gl_canvases\"),l=t(\"../components/color\"),c=t(\"../components/drawing\"),u=t(\"../components/titles\"),f=t(\"../components/modebar\"),h=t(\"../plots/cartesian/axes\"),p=t(\"../constants/alignment\"),d=t(\"../plots/cartesian/constraints\"),m=d.enforce,g=d.clean,v=t(\"../plots/cartesian/autorange\").doAutoRange;function y(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&(a[0]e[0]))return!0}return!1}function x(t){var e,i,s,u,d,m,g=t._fullLayout,v=g._size,x=v.p,_=h.list(t,\"\",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?\"100%\":g.width+\"px\",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?\"100%\":g.height+\"px\"}).selectAll(\".main-svg\").call(c.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),r.drawMainTitle(t),f.manage(t),!g._has(\"cartesian\"))return a.previousPromises(t);function T(t,e,r){var n=t._lw/2;return\"x\"===t._id.charAt(0)?e?\"top\"===r?e._offset-x-n:e._offset+e._length+x+n:v.t+v.h*(1-(t.position||0))+n%1:e?\"right\"===r?e._offset+e._length+x+n:e._offset-x-n:v.l+v.w*(t.position||0)+n%1}for(e=0;e<_.length;e++){var k=(u=_[e])._anchorAxis;u._linepositions={},u._lw=c.crispRound(t,u.linewidth,1),u._mainLinePosition=T(u,k,u.side),u._mainMirrorPosition=u.mirror&&k?T(u,k,p.OPPOSITE_SIDE[u.side]):null}var A=[],M=[],S=[],E=1===l.opacity(g.paper_bgcolor)&&1===l.opacity(g.plot_bgcolor)&&g.paper_bgcolor===g.plot_bgcolor;for(i in g._plots)if((s=g._plots[i]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var L=s.xaxis.domain,C=s.yaxis.domain,P=s.plotgroup;if(y(L,C,S)){var I=P.node(),O=s.bg=o.ensureSingle(P,\"rect\",\"bg\");I.insertBefore(O.node(),I.childNodes[0]),M.push(i)}else P.select(\"rect.bg\").remove(),S.push([L,C]),E||(A.push(i),M.push(i))}var z,D,R,F,B,N,j,U,V,H,q,G,Y,W=g._bgLayer.selectAll(\".bg\").data(A);for(W.enter().append(\"rect\").classed(\"bg\",!0),W.exit().remove(),W.each((function(t){g._plots[t].bg=n.select(this)})),e=0;eT?u.push({code:\"unused\",traceType:y,templateCount:w,dataCount:T}):T>w&&u.push({code:\"reused\",traceType:y,templateCount:w,dataCount:T})}}else u.push({code:\"data\"});if(function t(e,r){for(var n in e)if(\"_\"!==n.charAt(0)){var a=e[n],o=m(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&u.push({code:\"missing\",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:h},\"\"),u.length)return u.map(v)}},{\"../lib\":503,\"../plots/attributes\":550,\"../plots/plots\":619,\"./plot_config\":541,\"./plot_schema\":542,\"./plot_template\":543}],546:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./plot_api\"),a=t(\"../plots/plots\"),o=t(\"../lib\"),s=t(\"../snapshot/helpers\"),l=t(\"../snapshot/tosvg\"),c=t(\"../snapshot/svgtoimg\"),u=t(\"../version\").version,f={format:{valType:\"enumerated\",values:[\"png\",\"jpeg\",\"webp\",\"svg\",\"full-json\"],dflt:\"png\"},width:{valType:\"number\",min:1},height:{valType:\"number\",min:1},scale:{valType:\"number\",min:0,dflt:1},setBackground:{valType:\"any\",dflt:!1},imageDataOnly:{valType:\"boolean\",dflt:!1}};e.exports=function(t,e){var r,h,p,d;function m(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!m(\"width\")&&null!==e.width||!m(\"height\")&&null!==e.height)throw new Error(\"Height and width should be pixel values.\");if(!m(\"format\"))throw new Error(\"Export format is not \"+o.join2(f.format.values,\", \",\" or \")+\".\");var g={};function v(t,r){return o.coerce(e,g,f,t,r)}var y=v(\"format\"),x=v(\"width\"),b=v(\"height\"),_=v(\"scale\"),w=v(\"setBackground\"),T=v(\"imageDataOnly\"),k=document.createElement(\"div\");k.style.position=\"absolute\",k.style.left=\"-5000px\",document.body.appendChild(k);var A=o.extendFlat({},h);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function L(){return new Promise((function(t,e){var r=l(k,y,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if(\"full-json\"===y){var p=a.graphJson(k,!1,\"keepdata\",\"object\",!0,!0);return p.version=u,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),\"svg\"===y)return t(T?r:s.encodeSVG(r));var d=document.createElement(\"canvas\");d.id=o.randstr(),c({format:y,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(L).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,\"\"):t}(e))})).catch((function(t){e(t)}))}))}},{\"../lib\":503,\"../plots/plots\":619,\"../snapshot/helpers\":642,\"../snapshot/svgtoimg\":644,\"../snapshot/tosvg\":646,\"../version\":1123,\"./plot_api\":540,\"fast-isnumeric\":190}],547:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plots/plots\"),a=t(\"./plot_schema\"),o=t(\"./plot_config\").dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;hx.length&&i.push(d(\"unused\",a,v.concat(x.length)));var A,M,S,E,L,C=x.length,P=Array.isArray(k);if(P&&(C=Math.min(C,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&i.push(d(\"unused\",a,v.concat(M,x[M].length)));var I=x[M].length;for(A=0;A<(P?Math.min(I,k[M].length):I);A++)S=P?k[M][A]:k,E=y[M][A],L=x[M][A],n.validate(E,S)?L!==E&&L!==+E&&i.push(d(\"dynamic\",a,v.concat(M,A),E,L)):i.push(d(\"value\",a,v.concat(M,A),E))}else i.push(d(\"array\",a,v.concat(M),y[M]));else for(M=0;M1&&p.push(d(\"object\",\"layout\"))),i.supplyDefaults(m);for(var g=m._fullData,v=r.length,y=0;y0&&Math.round(f)===f))return{vals:i};c=f}for(var h=e.calendar,p=\"start\"===l,d=\"end\"===l,m=t[r+\"period0\"],g=a(m,h)||0,v=[],y=[],x=[],b=i.length,_=0;_A;)k=o(k,-c,h);for(;k<=A;)k=o(k,c,h);T=o(k,-c,h)}else{for(k=g+(w=Math.round((A-g)/u))*u;k>A;)k-=u;for(;k<=A;)k+=u;T=k-u}v[_]=p?T:d?k:(T+k)/2,y[_]=T,x[_]=k}return{vals:v,starts:y,ends:x}}},{\"../../constants/numerical\":479,\"../../lib\":503,\"fast-isnumeric\":190}],552:[function(t,e,r){\"use strict\";e.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}},{}],553:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../constants/numerical\").FP_SAFE,s=t(\"../../registry\"),l=t(\"../../components/drawing\"),c=t(\"./axis_ids\"),u=c.getFromId,f=c.isLinked;function h(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),c=m(t,e),u=c.min,f=c.max;if(0===u.length||0===f.length)return a.simpleMap(e.range,e.r2l);var h=u[0].val,g=f[0].val;for(r=1;r0&&((T=E-s(x)-l(b))>L?k/T>C&&(_=x,w=b,C=k/T):k/E>C&&(_={val:x.val,nopad:1},w={val:b.val,nopad:1},C=k/E));if(h===g){var P=h-1,I=h+1;if(M)if(0===h)i=[0,1];else{var O=(h>0?f:u).reduce((function(t,e){return Math.max(t,l(e))}),0),z=h/(1-Math.min(.5,O/E));i=h>0?[0,z]:[z,0]}else i=S?[Math.max(0,P),Math.max(1,I)]:[P,I]}else M?(_.val>=0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:0,nopad:1})):S&&(_.val-C*s(_)<0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:1,nopad:1})),C=(w.val-_.val-p(e,x.val,b.val))/(E-s(_)-l(w)),i=[_.val-C*s(_),w.val+C*l(w)];return v&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(n=0;n0&&(h=a),a>p&&a-o&&(h=a),a>p&&a=I;n--)P(n);return{min:d,max:m,opts:r}},concatExtremes:m};function m(t,e,r){var n,i,a,o=e._id,s=t._fullData,l=t._fullLayout,c=[],f=[];function h(t,e){for(n=0;n=r&&(c.extrapad||!o)){s=!1;break}i(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=a&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function x(t){return i(t)&&Math.abs(t)=e}},{\"../../components/drawing\":388,\"../../constants/numerical\":479,\"../../lib\":503,\"../../registry\":638,\"./axis_ids\":558,\"@plotly/d3\":58,\"fast-isnumeric\":190}],554:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=s.strTranslate,c=t(\"../../lib/svg_text_utils\"),u=t(\"../../components/titles\"),f=t(\"../../components/color\"),h=t(\"../../components/drawing\"),p=t(\"./layout_attributes\"),d=t(\"./clean_ticks\"),m=t(\"../../constants/numerical\"),g=m.ONEMAXYEAR,v=m.ONEAVGYEAR,y=m.ONEMINYEAR,x=m.ONEMAXQUARTER,b=m.ONEAVGQUARTER,_=m.ONEMINQUARTER,w=m.ONEMAXMONTH,T=m.ONEAVGMONTH,k=m.ONEMINMONTH,A=m.ONEWEEK,M=m.ONEDAY,S=M/2,E=m.ONEHOUR,L=m.ONEMIN,C=m.ONESEC,P=m.MINUS_SIGN,I=m.BADNUM,O={K:\"zeroline\"},z={K:\"gridline\",L:\"path\"},D={K:\"minor-gridline\",L:\"path\"},R={K:\"tick\",L:\"path\"},F={K:\"tick\",L:\"text\"},B=t(\"../../constants/alignment\"),N=B.MID_SHIFT,j=B.CAP_SHIFT,U=B.LINE_SPACING,V=B.OPPOSITE_SIDE,H=e.exports={};H.setConvert=t(\"./set_convert\");var q=t(\"./axis_autotype\"),G=t(\"./axis_ids\"),Y=G.idSort,W=G.isLinked;H.id2name=G.id2name,H.name2id=G.name2id,H.cleanId=G.cleanId,H.list=G.list,H.listIds=G.listIds,H.getFromId=G.getFromId,H.getFromTrace=G.getFromTrace;var X=t(\"./autorange\");H.getAutoRange=X.getAutoRange,H.findExtremes=X.findExtremes;function Z(t){var e=1e-4*(t[1]-t[0]);return[t[0]-e,t[1]+e]}H.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+\"axis\"],c=n+\"ref\",u={};return i||(i=l[0]||(\"string\"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+\" domain\"}))),u[c]={valType:\"enumerated\",values:l.concat(a?\"string\"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,u,c)},H.getRefType=function(t){return void 0===t?t:\"paper\"===t?\"paper\":\"pixel\"===t?\"pixel\":/( domain)$/.test(t)?\"domain\":\"range\"},H.coercePosition=function(t,e,r,n,i,a){var o,l;if(\"range\"!==H.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var c=H.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},H.cleanPosition=function(t,e,r){return(\"paper\"===r||\"pixel\"===r?s.ensureNumber:H.getFromId(e,r).cleanPos)(t)},H.redrawComponents=function(t,e){e=e||H.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),c={},u=0;ur&&f2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},H.saveRangeInitial=function(t,e){for(var r=H.list(t,\"\",!0),n=!1,i=0;i.3*h||u(n)||u(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=H.tickIncrement(t,\"M6\",\"reverse\")+1.5*M:a.exactMonths>.8?t=H.tickIncrement(t,\"M1\",\"reverse\")+15.5*M:t-=S;var l=H.tickIncrement(t,r);if(l<=n)return l}return t}(y,t,v,c,a)),g=y,0;g<=u;)g=H.tickIncrement(g,v,!1,a);return{start:e.c2r(y,0,a),end:e.c2r(g,0,a),size:v,_dataSpan:u-c}},H.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=H.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,H.prepTicks(t,r),a){var c=i(e.dtick),u=i(t.dtick),f=c?e.dtick:+e.dtick.substring(1),h=u?t.dtick:+t.dtick.substring(1);c&&u?$(f,h)?f===2*A&&h===2*M&&(t.dtick=A):f===2*A&&h===3*M?t.dtick=A:f!==A||(e._input.minor||{}).nticks?tt(f/h,2.5)?t.dtick=f/2:t.dtick=f:t.dtick=M:\"M\"===String(e.dtick).charAt(0)?u?t.dtick=\"M1\":$(f,h)?f>=12&&2===h&&(t.dtick=\"M3\"):t.dtick=e.dtick:\"L\"===String(t.dtick).charAt(0)?\"L\"===String(e.dtick).charAt(0)?$(f,h)||(t.dtick=tt(f/h,2.5)?e.dtick/2:e.dtick):t.dtick=\"D1\":\"D2\"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},H.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if(\"auto\"===t.tickmode||!t.dtick){var n,a=t.nticks;a||(\"category\"===t.type||\"multicategory\"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n=\"y\"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),\"radialaxis\"===t._name&&(a*=2)),t.minor&&\"array\"!==t.minor.tickmode||\"array\"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,H.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}\"period\"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||\"M\"!==t.dtick.charAt(0))}var n=r(),a=H.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtick=(O?0:1);z--){var D=!z;z?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var R=z?t:s.extendFlat({},t,t.minor);if(D?H.prepMinorTicks(R,t,e):H.prepTicks(R,e),\"array\"!==R.tickmode){var F=Z(u),B=F[0],N=F[1],j=i(R.dtick),U=\"log\"===a&&!(j||\"L\"===R.dtick.charAt(0)),V=H.tickFirst(R,e);if(z){if(t._tmin=V,V=N:W<=N;W=H.tickIncrement(W,X,f,o)){if(z&&q++,R.rangebreaks&&!f){if(W=p)break}if(C.length>d||W===Y)break;Y=W;var J={value:W};z?(U&&W!==(0|W)&&(J.simpleLabel=!0),l>1&&q%l&&(J.skipLabel=!0),C.push(J)):(J.minor=!0,P.push(J))}}else z?(C=[],m=rt(t)):(P=[],L=rt(t))}if(O&&!(\"inside\"===t.minor.ticks&&\"outside\"===t.ticks||\"outside\"===t.minor.ticks&&\"inside\"===t.ticks)){for(var K=C.map((function(t){return t.value})),Q=[],$=0;$0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,c=t[o].value,u=Math.abs(c-l),f=r||u,h=0;f>=y?h=u>=y&&u<=g?u:v:r===b&&f>=_?h=u>=_&&u<=x?u:b:f>=k?h=u>=k&&u<=w?u:T:r===A&&f>=A?h=A:f>=M?h=M:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=u&&(h=u,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,m=0;m<84;m++){var L=(m+.5)/84;e.maskBreaks(i*(1-L)+L*p)!==I&&d++}(h*=d/84)||(t[n].drop=!0),s&&u>A&&(h=u)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var at=\"y\"===t._id.charAt(0),ot=1;\"auto\"===t.tickmode&&(ot=t.tickfont?t.tickfont.size:12);var st=NaN;for(r=C.length-1;r>-1;r--)if(C[r].drop)C.splice(r,1);else{C[r].value=Ct(C[r].value,t);var lt=t.c2p(C[r].value);(at?st>lt-ot:stp||utp&&(ct.periodX=p),ut10||\"01-01\"!==n.substr(5)?t._tickround=\"d\":t._tickround=+e.substr(1)%12==0?\"y\":\"m\";else if(e>=M&&a<=10||e>=15*M)t._tickround=\"d\";else if(e>=L&&a<=16||e>=E)t._tickround=\"M\";else if(e>=C&&a<=19||e>=L)t._tickround=\"S\";else{var o=t.l2r(r+e).replace(/^-/,\"\").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||\"L\"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01),u=void 0===t.minexponent?3:t.minexponent;Math.abs(c)>u&&(dt(t.exponentformat)&&!mt(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function ht(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||\"\",fontSize:n.size,font:n.family,fontColor:n.color}}H.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if(\"date\"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>v)e/=v,n=a(10),t.dtick=\"M\"+12*ut(e,n,nt);else if(o>T)e/=T,t.dtick=\"M\"+ut(e,1,it);else if(o>M){if(t.dtick=ut(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ot),!r){var l=H.getTickFormat(t),c=\"period\"===t.ticklabelmode;c&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),c&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=ut(e,E,it):o>L?t.dtick=ut(e,L,at):o>C?t.dtick=ut(e,C,at):(n=a(10),t.dtick=ut(e,n,nt))}else if(\"log\"===t.type){t.tick0=0;var u=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(u[1]-u[0])<1){var f=1.5*Math.abs((u[1]-u[0])/e);e=Math.abs(Math.pow(10,u[1])-Math.pow(10,u[0]))/f,n=a(10),t.dtick=\"L\"+ut(e,n,nt)}else t.dtick=e>.3?\"D2\":\"D1\"}else\"category\"===t.type||\"multicategory\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):Lt(t)?(t.tick0=0,n=1,t.dtick=ut(e,n,ct)):(t.tick0=0,n=a(10),t.dtick=ut(e,n,nt));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&\"string\"!=typeof t.dtick){var h=t.dtick;throw t.dtick=1,\"ax.dtick error: \"+String(h)}},H.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),c=o*Number(e.substr(1));if(\"M\"===l)return s.incrementMonth(t,c,a);if(\"L\"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if(\"D\"===l){var u=\"D2\"===e?lt:st,f=t+.01*o,h=s.roundUp(s.mod(f,1),u,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw\"unrecognized dtick \"+String(e)},H.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1] \")}else t._prevDateHead=l,c+=\"
\"+l;e.text=c}(t,o,r,c):\"log\"===u?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat,u=\"string\"==typeof o&&o.charAt(0);\"never\"===a&&(a=\"\");n&&\"L\"!==u&&(o=\"L3\",u=\"L\");if(c||\"L\"===u)e.text=gt(Math.pow(10,l),t,a,n);else if(i(o)||\"D\"===u&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;\"power\"===p||dt(p)&&mt(f)?(e.text=0===f?1:1===f?\"10\":\"10\"+(f>1?\"\":P)+h+\"\",e.fontSize*=1.25):(\"e\"===p||\"E\"===p)&&h>2?e.text=\"1\"+p+(f>0?\"+\":P)+h:(e.text=gt(Math.pow(10,l),t,\"\",\"fakehover\"),\"D1\"===o&&\"y\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\"D\"!==u)throw\"unrecognized dtick \"+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if(\"D1\"===t.dtick){var d=String(e.text).charAt(0);\"0\"!==d&&\"1\"!==d||(\"y\"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,m):\"category\"===u?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\"\");e.text=String(r)}(t,o):\"multicategory\"===u?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?\"\":String(i[1]),o=void 0===i[0]?\"\":String(i[0]);r?e.text=o+\" - \"+a:(e.text=a,e.text2=o)}(t,o,r):Lt(t)?function(t,e,r,n,i){if(\"radians\"!==t.thetaunit||r)e.text=gt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=\"0\";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=gt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text=\"\\u03c0\":e.text=o[0]+\"\\u03c0\":e.text=[\"\",o[0],\"\",\"\\u2044\",\"\",o[1],\"\",\"\\u03c0\"].join(\"\"),l&&(e.text=P+e.text)}}}}(t,o,r,c,m):function(t,e,r,n,i){\"never\"===i?i=\"\":\"all\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\"hide\");e.text=gt(e.x,t,i,n)}(t,o,0,c,m),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),\"boundaries\"===t.tickson||t.showdividers){var g=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[g(o.x-.5),g(o.x+t.dtick-.5)]}return o},H.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=Array.isArray(e)?e[0]:e,i=Array.isArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return H.hoverLabelText(t,n,r)+\" - \"+H.hoverLabelText(t,i,r);var a=\"log\"===t.type&&n<=0,o=H.tickText(t,t.c2l(a?-n:n),\"hover\").text;return a?0===n?\"0\":P+o:o};var pt=[\"f\",\"p\",\"n\",\"\\u03bc\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function dt(t){return\"SI\"===t||\"B\"===t}function mt(t){return t>14||t<-15}function gt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||\"B\",c=e._tickexponent,u=H.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:\"none\"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:\"none\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};ft(h),o=(Number(h._tickround)||0)+4,c=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,P);var p,d=Math.pow(10,-o)/2;if(\"none\"===l&&(c=0),(t=Math.abs(t))\"+p+\"\":\"B\"===l&&9===c?t+=\"B\":dt(l)&&(t+=pt[c/3+5]));return a?P+t:t}function vt(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case\"date\":case\"linear\":for(e=0;e=o(i)))){r=n;break}break;case\"log\":for(e=0;e0?r.bottom-f:0,h)))),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var p=[0,1];if(\"x\"===d){if(\"b\"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?f-r.top:0,h),p.reverse()),r.width>0){var g=r.right-(e._offset+e._length);g>0&&(n.xr=1,n.r=g);var v=e._offset-r.left;v>0&&(n.xl=0,n.l=v)}}else if(\"l\"===l?n[l]=e._depth=Math.max(r.height>0?f-r.left:0,h):(n[l]=e._depth=Math.max(r.height>0?r.right-f:0,h),p.reverse()),r.height>0){var y=r.bottom-(e._offset+e._length);y>0&&(n.yb=0,n.b=y);var x=e._offset-r.top;x>0&&(n.yt=1,n.t=x)}n[m]=\"free\"===e.anchor?e.position:e._anchorAxis.domain[p[0]],e.title.text!==c._dfltTitle[d]&&(n[l]+=bt(e)+(e.title.standoff||0)),e.mirror&&\"free\"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=h),!0===e.mirror||\"ticks\"===e.mirror?i[m]=e._anchorAxis.domain[p[1]]:\"all\"!==e.mirror&&\"allticks\"!==e.mirror||(i[m]=[e._counterDomainMin,e._counterDomainMax][p[1]]))}it&&(s=o.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(t,e)),a.autoMargin(t,Tt(e),n),a.autoMargin(t,kt(e),i),a.autoMargin(t,At(e),s)})),r.skipTitle||it&&\"bottom\"===e.side||rt.push((function(){return function(t,e){var r,n=t._fullLayout,i=e._id,a=i.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty(\"standoff\"))r=e._depth+e.title.standoff+bt(e);else{var s=Pt(e);if(\"multicategory\"===e.type)r=e._depth;else{var l=1.5*o;s&&(l=.5*o,\"outside\"===e.ticks&&(l+=e.ticklen)),r=10+l+(e.linewidth?e.linewidth-1:0)}s||(r+=\"x\"===a?\"top\"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):\"right\"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0))}var c,f,p,d,m=H.getPxPosition(t,e);\"x\"===a?(f=e._offset+e._length/2,p=\"top\"===e.side?m-r:m+r):(p=e._offset+e._length/2,f=\"right\"===e.side?m+r:m-r,c={rotate:\"-90\",offset:0});if(\"multicategory\"!==e.type){var g=e._selections[e._id+\"tick\"];if(d={selection:g,side:e.side},g&&g.node()&&g.node().parentNode){var v=h.getTranslate(g.node().parentNode);d.offsetLeft=v.x,d.offsetTop=v.y}e.title.hasOwnProperty(\"standoff\")&&(d.pad=0)}return u.draw(t,i+\"title\",{propContainer:e,propName:e._name+\".title.text\",placeholder:n._dfltTitle[a],avoid:d,transform:c,attributes:{x:f,y:p,\"text-anchor\":\"middle\"}})}(t,e)})),s.syncOrAsync(rt)}}function at(t){var r=p+(t||\"tick\");return w[r]||(w[r]=function(t,e){var r,n,i,a;t._selections[e].size()?(r=1/0,n=-1/0,i=1/0,a=-1/0,t._selections[e].each((function(){var t=wt(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),i=Math.min(i,e.left),a=Math.max(a,e.right)}))):(r=0,n=0,i=0,a=0);return{top:r,bottom:n,left:i,right:a,height:n-r,width:a-i}}(e,r)),w[r]}},H.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:\"top\",y:\"right\"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return\"inside\"!==(e?(t.minor||{}).ticks:t.ticks)==(\"x\"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},H.makeTransTickFn=function(t){return\"x\"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},H.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||\"\",r=function(t){return-1!==e.indexOf(t)},n=r(\"top\"),i=r(\"left\"),a=r(\"right\"),o=r(\"bottom\"),s=r(\"inside\"),l=o||i||n||a;if(!l&&!s)return[0,0];var c=t.side,u=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;(o||n)&&(u+=h*j,f+=(t.linewidth||0)/2);(i||a)&&(u+=(t.linewidth||0)/2,f+=3);s&&\"top\"===c&&(f-=h*(1-j));(i||n)&&(u=-u);\"bottom\"!==c&&\"right\"!==c||(f=-f);return[l?u:0,s?f:0]}(t),r=e[0],n=e[1];return\"x\"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(yt(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(yt(e)))}},H.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return\"\";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return\"x\"===o?\"M0,\"+(e+s*r)+\"v\"+a*r:\"M\"+(e+s*r)+\",0h\"+a*r},H.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||\"\",a=function(t){return-1!==n.indexOf(t)},o=a(\"top\"),l=a(\"left\"),c=a(\"right\"),u=a(\"bottom\")||l||o||c,f=a(\"inside\"),h=\"inside\"===n&&\"inside\"===t.ticks||!f&&\"outside\"===t.ticks&&\"boundaries\"!==t.tickson,p=0,d=0,m=h?t.ticklen:0;if(f?m*=-1:u&&(m=0),h&&(p+=m,r)){var g=s.deg2rad(r);p=m*Math.cos(g)+1,d=m*Math.sin(g)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var v,y,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if(\"x\"===A)b=(_=!f&&\"bottom\"===k||f&&\"top\"===k)?1:-1,f&&(b*=-1),v=d*b,y=e+p*b,x=_?1:-.2,90===Math.abs(M)&&(f?x+=N:x=-90===M&&\"bottom\"===k?j:90===M&&\"top\"===k?N:.5,T=N/2*(M/90)),w.xFn=function(t){return t.dx+v+T*t.fontSize},w.yFn=function(t){return t.dy+y+t.fontSize*x},w.anchorFn=function(t,e){if(u){if(l)return\"end\";if(c)return\"start\"}return i(e)&&0!==e&&180!==e?e*b<0!==f?\"end\":\"start\":\"middle\"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:\"top\"===t.side!==f?-n:0};else if(\"y\"===A){if(b=(_=!f&&\"left\"===k||f&&\"right\"===k)?1:-1,f&&(b*=-1),v=p,y=d*b,x=0,f||90!==Math.abs(M)||(x=-90===M&&\"left\"===k||90===M&&\"right\"===k?j:.5),f){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*j*b,x=0}}w.xFn=function(t){return t.dx+e-(v+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+y+t.fontSize*N},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?\"middle\":_?\"end\":\"start\"},w.heightFn=function(e,r,n){return\"right\"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},H.drawTicks=function(t,e,r){r=r||{};var i=e._id+\"tick\",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll(\"path.\"+i).data(a,xt);o.exit().remove(),o.enter().append(\"path\").classed(i,1).classed(\"ticks\",1).classed(\"crisp\",!1!==r.crisp).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style(\"stroke-width\",(function(r){return h.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+\"px\"})).attr(\"d\",r.path).style(\"display\",null),It(e,[R]),o.attr(\"transform\",r.transFn)},H.drawGrid=function(t,e,r){r=r||{};var i=e._id+\"grid\",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&H.shouldShowZeroLine(t,e,l))for(var c=\"array\"===e.tickmode,u=0;u=0;v--){var y=v?m:g;if(y){var x=y.selectAll(\"path.\"+i).data(v?s:o,xt);x.exit().remove(),x.enter().append(\"path\").classed(i,1).classed(\"crisp\",!1!==r.crisp),x.attr(\"transform\",r.transFn).attr(\"d\",r.path).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||\"#ddd\")})).style(\"stroke-dasharray\",(function(t){return h.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style(\"stroke-width\",(function(t){return(t.minor?d:e._gw)+\"px\"})).style(\"display\",null),\"function\"==typeof r.path&&x.attr(\"d\",r.path)}}It(e,[z,D])},H.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+\"zl\",i=H.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll(\"path.\"+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"zl\",1).classed(\"crisp\",!1!==r.crisp).each((function(){r.layer.selectAll(\"path\").sort((function(t,e){return Y(t.id,e.id)}))})),a.attr(\"transform\",r.transFn).attr(\"d\",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style(\"stroke-width\",h.crispRound(t,e.zerolinewidth,e._gw||1)+\"px\").style(\"display\",null),It(e,[O])},H.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,u=o.charAt(0),f=r.cls||o+\"tick\",p=r.vals.filter((function(t){return t.text})),d=r.labelFns,m=r.secondary?0:e.tickangle,g=(e._prevTickAngles||{})[f],v=r.layer.selectAll(\"g.\"+f).data(e.showticklabels?p:[],xt),y=[];function x(t,a){t.each((function(t){var o=n.select(this),s=o.select(\".text-math-group\"),u=d.anchorFn(t,a),f=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?\" rotate(\"+a+\",\"+d.xFn(t)+\",\"+(d.yFn(t)-t.fontSize/2)+\")\":\"\"),p=c.lineCount(o),m=U*t.fontSize,g=d.heightFn(t,i(a)?+a:0,(p-1)*m);if(g&&(f+=l(0,g)),s.empty()){var v=o.select(\"text\");v.attr({transform:f,\"text-anchor\":u}),v.style(\"opacity\",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var y=h.bBox(s.node()).width*{end:-.5,start:.5}[u];s.attr(\"transform\",f+l(y,0))}}))}v.enter().append(\"g\").classed(f,1).append(\"text\").attr(\"text-anchor\",\"middle\").each((function(e){var r=n.select(this),i=t._promises.length;r.call(c.positionText,d.xFn(e),d.yFn(e)).call(h.font,e.font,e.fontSize,e.fontColor).text(e.text).call(c.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){x(r,m)}))):x(r,m)})),It(e,[F]),v.exit().remove(),r.repositionOnUpdate&&v.each((function(t){n.select(this).select(\"text\").call(c.positionText,d.xFn(t),d.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&\"allow\"!==r){var i=-1!==r.indexOf(\"hide\"),o=\"x\"===e._id.charAt(0),l=0,c=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf(\"domain\")){var u=s.simpleMap(e.range,e.r2l);l=e.l2p(u[0])+e._offset,c=e.l2p(u[1])+e._offset}var f=Math.min(l,c),p=Math.max(l,c),d=e.side,m=1/0,g=-1/0;for(var y in v.each((function(t){var r=n.select(this);if(r.select(\".text-math-group\").empty()){var a=h.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e[\"_visibleLabelMin_\"+r._id]?l.style(\"display\",\"none\"):\"tick\"!==t.K||i||l.style(\"display\",null)}))}))}))}))},x(v,g+1?g:m);var b=null;e._selections&&(e._selections[f]=v);var _=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===g?(b=90,_.push((function(){x(v,g)}))):_.push((function(){if(x(v,m),p.length&&\"x\"===u&&!i(m)&&(\"log\"!==e.type||\"D\"!==String(e.dtick).charAt(0))){b=0;var t,n=0,a=[];if(v.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),i=wt(this),o=h.bBox(i.node());a.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})})),\"boundaries\"!==e.tickson&&!e.showdividers||r.secondary){var o=p.length,l=Math.abs((p[o-1].x-p[0].x)*e._m)/(o-1),c=e.ticklabelposition||\"\",f=function(t){return-1!==c.indexOf(t)},d=f(\"top\"),g=f(\"left\"),y=f(\"right\"),_=f(\"bottom\")||g||d||y?(e.tickwidth||0)+6:0,w=l<2.5*n||\"multicategory\"===e.type||\"realaxis\"===e._name;for(t=0;t1)for(n=1;n2*o}(i,e))return\"date\";var g=\"strict\"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},u=0;u2*i}(i,g)?\"category\":function(t,e){for(var r=t.length,n=0;n=2){var s,c,u=\"\";if(2===o.length)for(s=0;s<2;s++)if(c=b(o[s])){u=g;break}var f=i(\"pattern\",u);if(f===g)for(s=0;s<2;s++)(c=b(o[s]))&&(e.bounds[s]=o[s]=c-1);if(f)for(s=0;s<2;s++)switch(c=o[s],f){case g:if(!n(c))return void(e.enabled=!1);if((c=+c)!==Math.floor(c)||c<0||c>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=c;break;case v:if(!n(c))return void(e.enabled=!1);if((c=+c)<0||c>24)return void(e.enabled=!1);e.bounds[s]=o[s]=c}if(!1===r.autorange){var h=r.range;if(h[0]h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},r.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(\" \")[0]},r.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},{\"../../registry\":638,\"./constants\":561}],559:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){if(\"category\"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i=\"array\");var s,l=r(\"categoryorder\",i);\"array\"===l&&(s=r(\"categoryarray\")),o||\"array\"!==l||(l=e.categoryorder=\"trace\"),\"trace\"===l?e._initialCategories=[]:\"array\"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;oc*x)||T)for(r=0;rO&&FP&&(P=F);h/=(P-C)/(2*I),C=l.l2r(C),P=l.l2r(P),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(t,e,r,n,i){return t.append(\"path\").attr(\"class\",\"zoombox\").style({fill:e>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",c(r,n)).attr(\"d\",i+\"Z\")}function j(t,e,r){return t.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:f.background,stroke:f.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",c(e,r)).attr(\"d\",\"M0,0Z\")}function U(t,e,r,n,i,a){t.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),V(t,e,i,a)}function V(t,e,r,n){r||(t.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),e.transition().style(\"opacity\",1).duration(200))}function H(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function q(t){I&&t.data&&t._context.showTips&&(i.notifier(i._(t,\"Double-click to zoom back out\"),\"long\"),I=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,P)/2);return\"M\"+(t.l-3.5)+\",\"+(t.t-.5+e)+\"h3v\"+-e+\"h\"+e+\"v-3h-\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.t-.5+e)+\"h-3v\"+-e+\"h\"+-e+\"v-3h\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.b+.5-e)+\"h-3v\"+e+\"h\"+-e+\"v3h\"+(e+3)+\"ZM\"+(t.l-3.5)+\",\"+(t.b+.5-e)+\"h3v\"+e+\"h\"+e+\"v3h-\"+(e+3)+\"Z\"}function Y(t,e,r,n,a){for(var o,s,l,c,u=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,m=0;m=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(H(i),2!==t||vt||qt(),gt)o.indexOf(\"select\")>-1&&S(r,i,J,K,e.id,Pt),o.indexOf(\"event\")>-1&&p.click(i,r,e.id);else if(1===t&&vt){var s=m?O:I,c=\"s\"===m||\"w\"===v?0:1,f=s._name+\".range[\"+c+\"]\",h=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return\"date\"===t.type?n:\"log\"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a(\".\"+r+\"g\")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a(\".\"+String(r)+\"g\")(n))}(s,c),d=\"left\",g=\"middle\";if(s.fixedrange)return;m?(g=\"n\"===m?\"top\":\"bottom\",\"right\"===s.side&&(d=\"right\")):\"e\"===v&&(d=\"right\"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(u.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:\"#444\",horizontalAlign:d,verticalAlign:g}).on(\"edit\",(function(t){var e=s.d2r(t);void 0!==e&&l.call(\"_guiRelayout\",i,f,e)}))}}}function zt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+_t)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-_t),o=Math.abs(i-wt);function s(){St=\"\",Tt.r=Tt.l,Tt.t=Tt.b,Lt.attr(\"d\",\"M0,0Z\")}if(Tt.l=Math.min(_t,n),Tt.r=Math.max(_t,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>P||o>P?(St=\"xy\",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,_t>n?Tt.l=_t-a:Tt.r=_t+a),Lt.attr(\"d\",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>P||o>P){St=\"xy\";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),c=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=c*tt,Tt.b=(1-l)*et,Tt.t=(1-c)*et,Lt.attr(\"d\",G(Tt))}else s();else!at||o0){var u;if(nt.isSubplotConstrained||!it&&1===at.length){for(u=0;um[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r(\"layer\"),e}},{\"../../lib\":503,\"fast-isnumeric\":190}],573:[function(t,e,r){\"use strict\";var n=t(\"./show_dflt\");e.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r(\"tickprefix\")&&r(\"showtickprefix\",s),r(\"ticksuffix\",o)&&r(\"showticksuffix\",s)}},{\"./show_dflt\":577}],574:[function(t,e,r){\"use strict\";var n=t(\"../../constants/alignment\").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||\"center\"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},{\"../../constants/alignment\":471}],575:[function(t,e,r){\"use strict\";var n=t(\"polybooljs\"),i=t(\"../../registry\"),a=t(\"../../components/drawing\").dashStyle,o=t(\"../../components/color\"),s=t(\"../../components/fx\"),l=t(\"../../components/fx/helpers\").makeEventData,c=t(\"../../components/dragelement/helpers\"),u=c.freeMode,f=c.rectMode,h=c.drawMode,p=c.openMode,d=c.selectMode,m=t(\"../../components/shapes/draw_newshape/display_outlines\"),g=t(\"../../components/shapes/draw_newshape/helpers\").handleEllipse,v=t(\"../../components/shapes/draw_newshape/newshapes\"),y=t(\"../../lib\"),x=t(\"../../lib/polygon\"),b=t(\"../../lib/throttle\"),_=t(\"./axis_ids\").getFromId,w=t(\"../../lib/clear_gl_canvases\"),T=t(\"../../plot_api/subroutines\").redrawReglTraces,k=t(\"./constants\"),A=k.MINSELECT,M=x.filter,S=x.tester,E=t(\"./handle_outline\").clearSelect,L=t(\"./helpers\"),C=L.p2r,P=L.axValue,I=L.getTransform;function O(t,e,r,n,i,a,o){var s,l,c,u,f,h,d,g,v,y=e._hoverdata,x=e._fullLayout.clickmode.indexOf(\"event\")>-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){F(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((i+=r.selectedpoints.length)>1)return!1}return 1===i}(s)&&(h=j(_))){for(o&&o.remove(),v=0;v=0&&n._fullLayout._deactivateShape(n),h(e)){var a=n._fullLayout._zoomlayer.selectAll(\".select-outline-\"+r.id);if(a&&n._fullLayout._drawing){var o=v(a,t);o&&i.call(\"_guiRelayout\",n,{shapes:o}),n._fullLayout._drawing=!1}}r.selection={},r.selection.selectionDefs=t.selectionDefs=[],r.selection.mergedPolygons=t.mergedPolygons=[]}function N(t,e,r,n){var i,a,o,s=[],l=e.map((function(t){return t._id})),c=r.map((function(t){return t._id}));for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function U(t,e,r){var n,a,o,s;for(n=0;n=0)L._fullLayout._deactivateShape(L);else if(!_){var r=z.clickmode;b.done(mt).then((function(){if(b.clear(mt),2===t){for(ft.remove(),$=0;$-1&&O(e,L,i.xaxes,i.yaxes,i.subplot,i,ft),\"event\"===r&&L.emit(\"plotly_selected\",void 0);s.click(L,e)})).catch(y.error)}},i.doneFn=function(){dt.remove(),b.done(mt).then((function(){b.clear(mt),i.gd.emit(\"plotly_selected\",et),Q&&i.selectionDefs&&(Q.subtract=ut,i.selectionDefs.push(Q),i.mergedPolygons.length=0,[].push.apply(i.mergedPolygons,K)),i.doneFnCompleted&&i.doneFnCompleted(gt)})).catch(y.error),_&&B(i)}},clearSelect:E,clearSelectionsCache:B,selectOnClick:O}},{\"../../components/color\":366,\"../../components/dragelement/helpers\":384,\"../../components/drawing\":388,\"../../components/fx\":406,\"../../components/fx/helpers\":402,\"../../components/shapes/draw_newshape/display_outlines\":454,\"../../components/shapes/draw_newshape/helpers\":455,\"../../components/shapes/draw_newshape/newshapes\":456,\"../../lib\":503,\"../../lib/clear_gl_canvases\":487,\"../../lib/polygon\":515,\"../../lib/throttle\":530,\"../../plot_api/subroutines\":544,\"../../registry\":638,\"./axis_ids\":558,\"./constants\":561,\"./handle_outline\":565,\"./helpers\":566,polybooljs:254}],576:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-time-format\").utcFormat,a=t(\"../../lib\"),o=a.numberFormat,s=t(\"fast-isnumeric\"),l=a.cleanNumber,c=a.ms2DateTime,u=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=t(\"../../constants/numerical\"),d=p.FP_SAFE,m=p.BADNUM,g=p.LOG_CLIP,v=p.ONEWEEK,y=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=t(\"./axis_ids\"),T=t(\"./constants\"),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}e.exports=function(t,e){e=e||{};var r=t._id||\"x\",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return m}function L(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=u(e,n||t.calendar);if(o===m){if(!s(e))return m;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),c=Math.round(e-l/10);o=u(new Date(c))+l/10}return o}function C(e,r,n){return c(e,r,n||t.calendar)}function P(e){return t._categories[Math.round(e)]}function I(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(\"number\"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return m}function O(e){if(t._categoriesMap)return t._categoriesMap[e]}function z(t){var e=O(t);return void 0!==e?e:s(t)?+t:void 0}function D(t){return s(t)?+t:O(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):m},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j=\"y\"===p;B=function(e){if(!s(e))return m;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lu)){o=a<(c+u)/2?l:l+1;break}o=l+1}var f=t._B[o]||0;return isFinite(f)?R(e,t._m2,f):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l=\"log\"===t.type?E:f,t.l2c=\"log\"===t.type?M:f,t.l2p=B,t.p2l=N,t.c2p=\"log\"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c=\"log\"===t.type?function(t){return M(N(t))}:N,-1!==[\"linear\",\"-\"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=f,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=f):\"log\"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=f,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=f):\"date\"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=L,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(L(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,m,t.calendar)}):\"category\"===t.type?(t.d2c=t.d2l=I,t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=f,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return\"string\"==typeof t&&\"\"!==t?t:f(t)}):\"multicategory\"===t.type&&(t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=O,t.l2r=t.c2r=f,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||\"string\"==typeof t&&\"\"!==t?t:f(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var c in l)if(c!==r){var u=e[w.id2name(c)];s=s.concat(u._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;id&&(o[n]=d),o[0]===o[1]){var c=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=c,o[1]+=c}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?\"_r\":\"range\",o=t.calendar;t.cleanRange(a);var s,l,c=t.r2l(t[a][0],o),u=t.r2l(t[a][1],o),f=\"y\"===p;if((f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks)&&(t._rangebreaks=t.locateBreaks(Math.min(c,u),Math.max(c,u)),t._rangebreaks.length)){for(s=0;su&&(h=!h),h&&t._rangebreaks.reverse();var d=h?-1:1;for(t._m2=d*t._length/(Math.abs(u-c)-t._lBreaks),t._B.push(-t._m2*(f?u:c)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&c.push({min:t,max:n})}};for(n=0;nr.duration?(!function(){for(var r={},n=0;n rect\").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(\".scatterlayer .trace\");n.selectAll(\".point\").call(o.setPointGroupScale,1,1),n.selectAll(\".textpoint\").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,c=i._length,u=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),m=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],v=m[1]-m[0];p[0]=(d[0]*(1-r)+r*m[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*v/g),i.range[0]=i.l2r(d[0]*(1-r)+r*m[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*m[1])}else p[0]=0,p[2]=c;if(h){var y=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=y[1]-y[0],_=x[1]-x[0];p[1]=(y[1]*(1-r)+r*x[1]-y[1])/(y[0]-y[1])*u,p[3]=u*(1-r+r*_/b),l.range[0]=i.l2r(y[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(y[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?c/p[2]:1,T=h?u/p[3]:1,k=f?p[0]:0,A=h?p[1]:0,M=f?p[0]/p[2]*c:0,S=h?p[1]/p[3]*u:0,E=i._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../registry\":638,\"./axes\":554,\"@plotly/d3\":58}],582:[function(t,e,r){\"use strict\";var n=t(\"../../registry\").traceIs,i=t(\"./axis_autotype\");function a(t){return{v:\"x\",h:\"y\"}[t.orientation||\"v\"]}function o(t,e){var r=a(t),i=n(t,\"box-violin\"),o=n(t._fullInput||{},\"candlestick\");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+\"0\"]}e.exports=function(t,e,r,s){r(\"autotypenumbers\",s.autotypenumbersDflt),\"-\"===r(\"type\",(s.splomStash||{}).type)&&(!function(t,e){if(\"-\"!==t.type)return;var r,s=t._id,l=s.charAt(0);-1!==s.indexOf(\"scene\")&&(s=l);var c=function(t,e,r){for(var n=0;n0&&(i[\"_\"+r+\"axes\"]||{})[e])return i;if((i[r+\"axis\"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}(e,s,l);if(!c)return;if(\"histogram\"===c.type&&l==={v:\"y\",h:\"x\"}[c.orientation||\"v\"])return void(t.type=\"linear\");var u=l+\"calendar\",f=c[u],h={noMultiCategory:!n(c,\"cartesian\")||n(c,\"noMultiCategory\")};\"box\"===c.type&&c._hasPreCompStats&&l==={h:\"x\",v:\"y\"}[c.orientation||\"v\"]&&(h.noMultiCategory=!0);if(h.autotypenumbers=t.autotypenumbers,o(c,l)){var p=a(c),d=[];for(r=0;r0?\".\":\"\")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){a(t,c,s.cache),s.check=function(){if(l){var e=a(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],f=0;f0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}e.exports=function(t){return new M(t)},S.plot=function(t,e,r){var n=this,i=e[this.id],a=[],o=!1;for(var s in w.layerNameToAdjective)if(\"frame\"!==s&&i[\"show\"+s]){o=!0;break}for(var l=0;l0&&a._module.calcGeoJSON(i,e)}if(!this.updateProjection(t,e)){this.viewInitial&&this.scope===r.scope||this.saveViewInitial(r),this.scope=r.scope,this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),d.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var o=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=o.selectAll(\".point\"),this.dataPoints.text=o.selectAll(\"text\"),this.dataPaths.line=o.selectAll(\".js-line\");var s=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=s.selectAll(\"path\"),this.render()}},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,u=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,m=p._ax,v=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n=\"geo\"+c.titleCase(n);for(var l=(i[n]||s[n])(),u=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,f=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],h=function(t){return t?l:[]},p=0;pu*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance);u&&l.clipAngle(u-w.clipPad);return l}(n),y=[[l.l+l.w*u.x[0],l.t+l.h*(1-u.y[1])],[l.l+l.w*u.x[1],l.t+l.h*(1-u.y[0])]],x=n.center||{},b=f.rotation||{},_=h.range||[],T=p.range||[];if(n.fitbounds){d._length=y[1][0]-y[0][0],m._length=y[1][1]-y[0][1],d.range=g(r,d),m.range=g(r,m);var k=(d.range[0]+d.range[1])/2,A=(m.range[0]+m.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},b={lon:k,lat:A,roll:b.roll};var M=f.type,S=w.lonaxisSpan[M]/2||180,L=w.lataxisSpan[M]/2||90;_=[k-S,k+S],T=[A-L,A+L]}else x={lon:k,lat:A},b={lon:k,lat:b.lat,roll:b.roll}}v.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var C=E(_,T);v.fitExtent(y,C);var P=this.bounds=v.getBounds(C),I=this.fitScale=v.scale(),O=v.translate();if(n.fitbounds){var z=v.getBounds(E(d.range,m.range)),D=Math.min((P[1][0]-P[0][0])/(z[1][0]-z[0][0]),(P[1][1]-P[0][1])/(z[1][1]-z[0][1]));isFinite(D)?v.scale(D*I):c.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else v.scale(f.scale*I);var R=this.midPt=[(P[0][0]+P[1][0])/2,(P[0][1]+P[1][1])/2];if(v.translate([O[0]+(R[0]-O[0]),O[1]+(R[1]-O[1])]).clipExtent(P),n._isAlbersUsa){var F=v([x.lon,x.lat]),B=v.translate();v.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return\"lonaxis\"===t||\"lataxis\"===t}function l(t){return Boolean(w.lineLayers[t])}function c(t){return Boolean(w.fillLayers[t])}var u=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||c(t)?e[\"show\"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(\".layer\").data(u,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append(\"g\").attr(\"class\",(function(t){return\"layer \"+t})).each((function(t){var e=a[t]=n.select(this);\"bg\"===t?r.bgRect=e.append(\"rect\").style(\"pointer-events\",\"all\"):s(t)?o[t]=e.append(\"path\").style(\"fill\",\"none\"):\"backplot\"===t?e.append(\"g\").classed(\"choroplethlayer\",!0):\"frontplot\"===t?e.append(\"g\").classed(\"scatterlayer\",!0):l(t)?o[t]=e.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):c(t)&&(o[t]=e.append(\"path\").style(\"stroke\",\"none\"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];\"frame\"===r?n.datum(w.sphereSVG):l(r)||c(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];\"lonaxis\"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):\"lataxis\"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:\"linear\",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};m.setConvert(l,r);var c=m.calcTicks(l);e.isScoped||\"lonaxis\"!==t||c.pop();for(var u=c.length,f=new Array(u),h=0;h-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,f),s.indexOf(\"event\")>-1&&p.click(i,n.event))}))}function h(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i=\"clip\"+r._uid+t.id;t.clipDef=r._clips.append(\"clipPath\").attr(\"id\",i),t.clipRect=t.clipDef.append(\"rect\"),t.framework=n.select(t.container).append(\"g\").attr(\"class\",\"geo \"+t.id).call(h.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:\"x\",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:\"y\",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},m.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,\"projection.scale\":n.scale},e=t._isScoped?{\"center.lon\":r.lon,\"center.lat\":r.lat}:t._isClipped?{\"projection.rotation.lon\":i.lon,\"projection.rotation.lat\":i.lat}:{\"center.lon\":r.lon,\"center.lat\":r.lat,\"projection.rotation.lon\":i.lon},c.extendFlat(this.viewInitial,e)},S.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?u(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?\"none\":null}for(t in this.basePaths)this.basePaths[t].attr(\"d\",r);for(t in this.dataPaths)this.dataPaths[t].attr(\"d\",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr(\"display\",i).attr(\"transform\",n)}},{\"../../components/color\":366,\"../../components/dragelement\":385,\"../../components/drawing\":388,\"../../components/fx\":406,\"../../lib\":503,\"../../lib/geo_location_utils\":496,\"../../lib/topojson_utils\":532,\"../../registry\":638,\"../cartesian/autorange\":553,\"../cartesian/axes\":554,\"../cartesian/select\":575,\"../plots\":619,\"./constants\":587,\"./zoom\":592,\"@plotly/d3\":58,\"d3-geo\":114,\"d3-geo-projection\":113,\"topojson-client\":315}],589:[function(t,e,r){\"use strict\";var n=t(\"../../plots/get_data\").getSubplotCalcData,i=t(\"../../lib\").counterRegex,a=t(\"./geo\"),o=\"geo\",s=i(o),l={};l.geo={valType:\"subplotid\",dflt:o,editType:\"calc\"},e.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:t(\"./layout_attributes\"),supplyLayoutDefaults:t(\"./layout_defaults\"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots.geo,s=0;s0&&P<0&&(P+=360);var I,O,z,D=(C+P)/2;if(!p){var R=d?f.projRotate:[D,0,0];I=r(\"projection.rotation.lon\",R[0]),r(\"projection.rotation.lat\",R[1]),r(\"projection.rotation.roll\",R[2]),r(\"showcoastlines\",!d&&x)&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),r(\"showocean\",!!x&&void 0)&&r(\"oceancolor\")}(p?(O=-96.6,z=38.7):(O=d?D:I,z=(L[0]+L[1])/2),r(\"center.lon\",O),r(\"center.lat\",z),m&&(r(\"projection.tilt\"),r(\"projection.distance\")),g)&&r(\"projection.parallels\",f.projParallels||[0,60]);r(\"projection.scale\"),r(\"showland\",!!x&&void 0)&&r(\"landcolor\"),r(\"showlakes\",!!x&&void 0)&&r(\"lakecolor\"),r(\"showrivers\",!!x&&void 0)&&(r(\"rivercolor\"),r(\"riverwidth\")),r(\"showcountries\",d&&\"usa\"!==u&&x)&&(r(\"countrycolor\"),r(\"countrywidth\")),(\"usa\"===u||\"north america\"===u&&50===c)&&(r(\"showsubunits\",x),r(\"subunitcolor\"),r(\"subunitwidth\")),d||r(\"showframe\",x)&&(r(\"framecolor\"),r(\"framewidth\")),r(\"bgcolor\"),r(\"fitbounds\")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):v?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}e.exports=function(t,e,r){i(t,e,r,{type:\"geo\",attributes:s,handleDefaults:c,fullData:r,partition:\"y\"})}},{\"../../lib\":503,\"../get_data\":593,\"../subplot_defaults\":632,\"./constants\":587,\"./layout_attributes\":590}],592:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../registry\"),o=Math.PI/180,s=180/Math.PI,l={cursor:\"pointer\"},c={cursor:\"auto\"};function u(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],f={},h={};function p(t,e){f[n+\".\"+t]=i.nestedProperty(l,t).get(),a.call(\"_storeDirectGUIEdit\",s,c._preGUI,f);var r=i.nestedProperty(u,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+\".\"+t]=e)}r(p),p(\"projection.scale\",e.scale()/t.fitScale),p(\"fitbounds\",!1),o.emit(\"plotly_relayout\",h)}function h(t,e){var r=u(0,e);function i(r){var n=e.invert(t.midPt);r(\"center.lon\",n[0]),r(\"center.lat\",n[1])}return r.on(\"zoomstart\",(function(){n.select(this).style(l)})).on(\"zoom\",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render();var r=e.invert(t.midPt);t.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":e.scale()/t.fitScale,\"geo.center.lon\":r[0],\"geo.center.lat\":r[1]})})).on(\"zoomend\",(function(){n.select(this).style(c),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,m,g=u(0,e);function v(t){return e.invert(t)}function y(r){var n=e.rotate(),i=e.invert(t.midPt);r(\"projection.rotation.lon\",-n[0]),r(\"center.lon\",i[0]),r(\"center.lat\",i[1])}return g.on(\"zoomstart\",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=v(r)})).on(\"zoom\",(function(){if(h=n.mouse(this),function(t){var r=v(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?v(h)&&(d=v(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=v(r=h),m=!0,t.render();var l=e.rotate(),c=e.invert(t.midPt);t.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":e.scale()/t.fitScale,\"geo.center.lon\":c[0],\"geo.center.lat\":c[1],\"geo.projection.rotation.lon\":-l[0]})})).on(\"zoomend\",(function(){n.select(this).style(c),m&&f(t,e,y)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=u(0,e),o=function(t){var e=0,r=arguments.length,i=[];for(;++ed?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var m=180-a-2*p,g=(Math.atan2(h,u)-Math.atan2(c,i))*s,v=(Math.atan2(h,u)-Math.atan2(c,-i))*s;return b(r[0],r[1],a,g)<=b(r[0],r[1],m,v)?[a,g,r[2]]:[m,v,r[2]]}function b(t,e,r,n){var i=_(r-t),a=_(n-e);return Math.sqrt(i*i+a*a)}function _(t){return(t%360+540)%360-180}function w(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[a]=t[a]*l-t[s]*c,i[s]=t[s]*l+t[a]*c,i}function T(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}function k(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),c.boxEnd[1]l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),c.boxEnd[0]l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(a=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],a||s?(a&&(g(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case\"pan\":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n).999&&(m=\"turntable\"):m=\"turntable\")}else m=\"turntable\";r(\"dragmode\",m),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}e.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:\"gl3d\",attributes:l,handleDefaults:u,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{\"../../../components/color\":366,\"../../../lib\":503,\"../../../registry\":638,\"../../get_data\":593,\"../../subplot_defaults\":632,\"./axis_defaults\":601,\"./layout_attributes\":604}],604:[function(t,e,r){\"use strict\";var n=t(\"./axis_attributes\"),i=t(\"../../domain\").attributes,a=t(\"../../../lib/extend\").extendFlat,o=t(\"../../../lib\").counterRegex;function s(t,e,r){return{x:{valType:\"number\",dflt:t,editType:\"camera\"},y:{valType:\"number\",dflt:e,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}e.exports={_arrayAttrRegexps:[o(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:i({name:\"scene\",editType:\"plot\"}),aspectmode:{valType:\"enumerated\",values:[\"auto\",\"cube\",\"data\",\"manual\"],dflt:\"auto\",editType:\"plot\",impliedEdits:{\"aspectratio.x\":void 0,\"aspectratio.y\":void 0,\"aspectratio.z\":void 0}},aspectratio:{x:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},y:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},z:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},editType:\"plot\",impliedEdits:{aspectmode:\"manual\"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:\"enumerated\",values:[\"orbit\",\"turntable\",\"zoom\",\"pan\",!1],editType:\"plot\"},hovermode:{valType:\"enumerated\",values:[\"closest\",!1],dflt:\"closest\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"plot\",_deprecated:{cameraposition:{valType:\"info_array\",editType:\"camera\"}}}},{\"../../../lib\":503,\"../../../lib/extend\":493,\"../../domain\":584,\"./axis_attributes\":600}],605:[function(t,e,r){\"use strict\";var n=t(\"../../../lib/str2rgbarray\"),i=[\"xaxis\",\"yaxis\",\"zaxis\"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new a;return e.merge(t),e}},{\"../../../lib/str2rgbarray\":528}],606:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],c=0;c<3;++c){var u=s[a[c]];if(u._length=(r[c].hi-r[c].lo)*r[c].pixelsPerDataUnit/t.dataScale[c],Math.abs(u._length)===1/0||isNaN(u._length))l[c]=[];else{u._input_range=u.range.slice(),u.range[0]=r[c].lo/t.dataScale[c],u.range[1]=r[c].hi/t.dataScale[c],u._m=1/(t.dataScale[c]*r[c].pixelsPerDataUnit),u.range[0]===u.range[1]&&(u.range[0]-=1,u.range[1]+=1);var f=u.tickmode;if(\"auto\"===u.tickmode){u.tickmode=\"linear\";var h=u.nticks||i.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/h)}for(var p=n.calcTicks(u,{msUTC:!0}),d=0;d/g,\" \"));l[c]=p,u.tickmode=f}}e.ticks=l;for(c=0;c<3;++c){o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]);for(d=0;d<2;++d)e.bounds[d][c]=t.glplot.bounds[d][c]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!c&&{passive:!1}),t.glplot.canvas.addEventListener(\"mousemove\",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit(\"plotly_relayouting\",e)}})),t.staticMode||t.glplot.canvas.addEventListener(\"webglcontextlost\",(function(r){e&&e.emit&&e.emit(\"plotly_webglcontextlost\",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},w.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,\"viewBox\",\"0 0 \"+s+\" \"+l),n.setAttributeNS(null,\"width\",s),n.setAttributeNS(null,\"height\",l),b(e),e.glplot.axes.update(e.axesOptions);for(var c=Object.keys(e.traces),u=null,h=e.glplot.selection,m=0;m\")):\"isosurface\"===t.type||\"volume\"===t.type?(T.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),t.valuehoverformat),S.push(\"value: \"+T.valueLabel),h.textLabel&&S.push(h.textLabel),x=S.join(\"
\")):x=h.textLabel;var E={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:w};d.appendArrayPointValue(E,_,w),t._module.eventData&&(E=_._module.eventData(E,h,_,{},w));var L={points:[E]};if(e.fullSceneLayout.hovermode){var C=[];d.loneHover({trace:_,x:(.5+.5*y[0]/y[3])*s,y:(.5-.5*y[1]/y[3])*l,xLabel:T.xLabel,yLabel:T.yLabel,zLabel:T.zLabel,text:x,name:u.name,color:d.castHoverOption(_,w,\"bgcolor\")||u.color,borderColor:d.castHoverOption(_,w,\"bordercolor\"),fontFamily:d.castHoverOption(_,w,\"font.family\"),fontSize:d.castHoverOption(_,w,\"font.size\"),fontColor:d.castHoverOption(_,w,\"font.color\"),nameLength:d.castHoverOption(_,w,\"namelength\"),textAlign:d.castHoverOption(_,w,\"align\"),hovertemplate:f.castOption(_,w,\"hovertemplate\"),hovertemplateLabels:f.extendFlat({},E,T),eventData:[E]},{container:n,gd:r,inOut_bbox:C}),E.bbox=C[0]}h.buttons&&h.distance<5?r.emit(\"plotly_click\",L):r.emit(\"plotly_hover\",L),this.oldEventData=L}else d.loneUnhover(n),this.oldEventData&&r.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},w.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\")};requestAnimationFrame(e)};var k=[\"xaxis\",\"yaxis\",\"zaxis\"];function A(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=k[i],o=a.charAt(0),s=n[a],l=e[o],c=e[o+\"calendar\"],u=e[\"_\"+o+\"length\"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(u||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;dg[1][a])g[0][a]=-1,g[1][a]=1;else{var L=g[1][a]-g[0][a];g[0][a]-=L/32,g[1][a]+=L/32}if(\"reversed\"===s.autorange){var C=g[0][a];g[0][a]=g[1][a],g[1][a]=C}}else{var P=s.range;g[0][a]=s.r2l(P[0]),g[1][a]=s.r2l(P[1])}g[0][a]===g[1][a]&&(g[0][a]-=1,g[1][a]+=1),v[a]=g[1][a]-g[0][a],this.glplot.setBounds(a,{min:g[0][a]*h[a],max:g[1][a]*h[a]})}var I=c.aspectmode;if(\"cube\"===I)d=[1,1,1];else if(\"manual\"===I){var O=c.aspectratio;d=[O.x,O.y,O.z]}else{if(\"auto\"!==I&&\"data\"!==I)throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");var z=[1,1,1];for(a=0;a<3;++a){var D=y[l=(s=c[k[a]]).type];z[a]=Math.pow(D.acc,1/D.count)/h[a]}d=\"data\"===I||Math.max.apply(null,z)/Math.min.apply(null,z)<=4?z:[1,1,1]}c.aspectratio.x=u.aspectratio.x=d[0],c.aspectratio.y=u.aspectratio.y=d[1],c.aspectratio.z=u.aspectratio.z=d[2],this.glplot.setAspectratio(c.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),this.viewInitial.aspectmode||(this.viewInitial.aspectmode=c.aspectmode);var R=c.domain||null,F=e._size||null;if(R&&F){var B=this.container.style;B.position=\"absolute\",B.left=F.l+R.x[0]*F.w+\"px\",B.top=F.t+(1-R.y[1])*F.h+\"px\",B.width=F.w*(R.x[1]-R.x[0])+\"px\",B.height=F.h*(R.y[1]-R.y[0])+\"px\"}this.glplot.redraw()}},w.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},w.getCamera=function(){var t;return this.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(t=this.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?\"orthographic\":\"perspective\"}}},w.setViewport=function(t){var e,r=t.camera;this.camera.lookAt.apply(this,[[(e=r).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),this.glplot.setAspectratio(t.aspectratio),\"orthographic\"===r.projection.type!==this.camera._ortho&&(this.glplot.redraw(),this.glplot.clearRGBA(),this.glplot.dispose(),this.initializeGLPlot())},w.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+\".camera\").get();function n(t,e,r,n){var i=[\"up\",\"center\",\"eye\"],a=[\"x\",\"y\",\"z\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+\".aspectratio\").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},w.saveLayout=function(t){var e,r,n,i,a,o,s=this.fullLayout,l=this.isCameraChanged(t),c=this.isAspectChanged(t),h=l||c;if(h){var p={};if(l&&(e=this.getCamera(),n=(r=f.nestedProperty(t,this.id+\".camera\")).get(),p[this.id+\".camera\"]=n),c&&(i=this.glplot.getAspectratio(),o=(a=f.nestedProperty(t,this.id+\".aspectratio\")).get(),p[this.id+\".aspectratio\"]=o),u.call(\"_storeDirectGUIEdit\",t,s._preGUI,p),l)r.set(e),f.nestedProperty(s,this.id+\".camera\").set(e);if(c)a.set(i),f.nestedProperty(s,this.id+\".aspectratio\").set(i),this.glplot.redraw()}return h},w.updateFx=function(t,e){var r=this.camera;if(r)if(\"orbit\"===t)r.mode=\"orbit\",r.keyBindingMode=\"rotate\";else if(\"turntable\"===t){r.up=[0,0,1],r.mode=\"turntable\",r.keyBindingMode=\"rotate\";var n=this.graphDiv,i=n._fullLayout,a=this.fullSceneLayout.camera,o=a.up.x,s=a.up.y,l=a.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var c=this.id+\".camera.up\",h={x:0,y:0,z:1},p={};p[c]=h;var d=n.layout;u.call(\"_storeDirectGUIEdit\",d,i._preGUI,p),a.up=h,f.nestedProperty(d,c).set(h)}}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},w.toImage=function(t){t||(t=\"png\"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(a,r,i);var o=document.createElement(\"canvas\");o.width=r,o.height=i;var s,l=o.getContext(\"2d\",{willReadFrequently:!0}),c=l.createImageData(r,i);switch(c.data.set(a),l.putImageData(c,0,0),t){case\"jpeg\":s=o.toDataURL(\"image/jpeg\");break;case\"webp\":s=o.toDataURL(\"image/webp\");break;default:s=o.toDataURL(\"image/png\")}return this.staticMode&&this.container.removeChild(n),s},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[k[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},w.make4thDimension=function(){var t=this.graphDiv._fullLayout;this._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},p.setConvert(this._mockAxis,t)},e.exports=_},{\"../../../stackgl_modules\":1124,\"../../components/fx\":406,\"../../lib\":503,\"../../lib/show_no_webgl_msg\":525,\"../../lib/str2rgbarray\":528,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"./layout/convert\":602,\"./layout/spikes\":605,\"./layout/tick_marks\":606,\"./project\":607,\"has-passive-events\":229,\"webgl-context\":331}],609:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap contributors',a=['\\xa9 Carto',i].join(\" \"),o=['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under ODbL'].join(\" \"),s={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:i,tiles:[\"https://a.tile.openstreetmap.org/{z}/{x}/{y}.png\",\"https://b.tile.openstreetmap.org/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-osm-tiles\",type:\"raster\",source:\"plotly-osm-tiles\",minzoom:0,maxzoom:22}]},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}]},\"carto-positron\":{id:\"carto-positron\",version:8,sources:{\"plotly-carto-positron\":{type:\"raster\",attribution:a,tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-positron\",type:\"raster\",source:\"plotly-carto-positron\",minzoom:0,maxzoom:22}]},\"carto-darkmatter\":{id:\"carto-darkmatter\",version:8,sources:{\"plotly-carto-darkmatter\":{type:\"raster\",attribution:a,tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-darkmatter\",type:\"raster\",source:\"plotly-carto-darkmatter\",minzoom:0,maxzoom:22}]},\"stamen-terrain\":{id:\"stamen-terrain\",version:8,sources:{\"plotly-stamen-terrain\":{type:\"raster\",attribution:o,tiles:[\"https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-terrain\",type:\"raster\",source:\"plotly-stamen-terrain\",minzoom:0,maxzoom:22}]},\"stamen-toner\":{id:\"stamen-toner\",version:8,sources:{\"plotly-stamen-toner\":{type:\"raster\",attribution:o,tiles:[\"https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-toner\",type:\"raster\",source:\"plotly-stamen-toner\",minzoom:0,maxzoom:22}]},\"stamen-watercolor\":{id:\"stamen-watercolor\",version:8,sources:{\"plotly-stamen-watercolor\":{type:\"raster\",attribution:['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under CC BY SA'].join(\" \"),tiles:[\"https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-watercolor\",type:\"raster\",source:\"plotly-stamen-watercolor\",minzoom:0,maxzoom:22}]}},l=n(s);e.exports={requiredVersion:\"1.10.1\",styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:s,styleValuesNonMapbox:l,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install mapbox-gl@1.10.1.\"].join(\"\\n\"),noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\" Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });\",\"More info here: https://www.mapbox.com/help/define-access-token/\"].join(\"\\n\"),missingStyleErrorMsg:[\"No valid mapbox style found, please set `mapbox.style` to one of:\",l.join(\", \"),\"or register a Mapbox access token to use a Mapbox-served style.\"].join(\"\\n\"),multipleTokensErrorMsg:[\"Set multiple mapbox access token across different mapbox subplot,\",\"using first token found as mapbox-gl does not allow multipleaccess tokens on the same page.\"].join(\"\\n\"),mapOnErrorMsg:\"Mapbox error.\",mapboxLogo:{path0:\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\",path1:\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\",path2:\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\",polygon:\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34\"},styleRules:{map:\"overflow:hidden;position:relative;\",\"missing-css\":\"display:none;\",canary:\"background-color:salmon;\",\"ctrl-bottom-left\":\"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;\",\"ctrl-bottom-right\":\"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;\",ctrl:\"clear: both; pointer-events: auto; transform: translate(0, 0);\",\"ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner\":\"display: none;\",\"ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner\":\"display: block; margin-top:2px\",\"ctrl-attrib.mapboxgl-compact:hover\":\"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;\",\"ctrl-attrib.mapboxgl-compact::after\":'content: \"\"; cursor: pointer; position: absolute; background-image: url(\\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"%3E %3Cpath fill=\"%23333333\" fill-rule=\"evenodd\" d=\"M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0\"/%3E %3C/svg%3E\\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',\"ctrl-attrib.mapboxgl-compact\":\"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;\",\"ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; right: 0\",\"ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; left: 0\",\"ctrl-bottom-left .mapboxgl-ctrl\":\"margin: 0 0 10px 10px; float: left;\",\"ctrl-bottom-right .mapboxgl-ctrl\":\"margin: 0 10px 10px 0; float: right;\",\"ctrl-attrib\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a:hover\":\"color: inherit; text-decoration: underline;\",\"ctrl-attrib .mapbox-improve-map\":\"font-weight: bold; margin-left: 2px;\",\"attrib-empty\":\"display: none;\",\"ctrl-logo\":'display:block; width: 21px; height: 21px; background-image: url(\\'data:image/svg+xml;charset=utf-8,%3C?xml version=\"1.0\" encoding=\"utf-8\"?%3E %3Csvg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 21 21\" style=\"enable-background:new 0 0 21 21;\" xml:space=\"preserve\"%3E%3Cg transform=\"translate(0,0.01)\"%3E%3Cpath d=\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3Cpath d=\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpath d=\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpolygon points=\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 \" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3C/g%3E%3C/svg%3E\\')'}}},{\"../../lib/sort_object_keys\":526}],612:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){var r=t.split(\" \"),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=[\"\",\"\"],u=[0,0];switch(i){case\"top\":c[0]=\"top\",u[1]=-l;break;case\"bottom\":c[0]=\"bottom\",u[1]=l}switch(a){case\"left\":c[1]=\"right\",u[0]=-s;break;case\"right\":c[1]=\"left\",u[0]=s}return{anchor:c[0]&&c[1]?c.join(\"-\"):c[0]?c[0]:c[1]?c[1]:\"center\",offset:u}}},{\"../../lib\":503}],613:[function(t,e,r){\"use strict\";var n=t(\"mapbox-gl/dist/mapbox-gl-unminified\"),i=t(\"../../lib\"),a=i.strTranslate,o=i.strScale,s=t(\"../../plots/get_data\").getSubplotCalcData,l=t(\"../../constants/xmlns_namespaces\"),c=t(\"@plotly/d3\"),u=t(\"../../components/drawing\"),f=t(\"../../lib/svg_text_utils\"),h=t(\"./mapbox\"),p=r.constants=t(\"./constants\");function d(t){return\"string\"==typeof t&&(-1!==p.styleValuesMapbox.indexOf(t)||0===t.indexOf(\"mapbox://\"))}r.name=\"mapbox\",r.attr=\"subplot\",r.idRoot=\"mapbox\",r.idRegex=r.attrRegex=i.counterRegex(\"mapbox\"),r.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}},r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.mapbox;if(n.version!==p.requiredVersion)throw new Error(p.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(\"\"===t._context.mapboxAccessToken)return\"\";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(p.multipleTokensErrorMsg),n[0]):(a.length&&i.log([\"Listed mapbox access token(s)\",a.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}(t,a);n.accessToken=o;for(var l=0;l_/2){var w=v.split(\"|\").join(\"
\");x.text(w).attr(\"data-unformatted\",w).call(f.convertToTspans,t),b=u.bBox(x.node())}x.attr(\"transform\",a(-3,8-b.height)),y.insert(\"rect\",\".static-attribution\").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var T=1;b.width+6>_&&(T=_/(b.width+6));var k=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];y.attr(\"transform\",a(k[0],k[1])+o(T))}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n0){for(var r=0;r0}function u(t){var e={},r={};switch(t.type){case\"circle\":n.extendFlat(r,{\"circle-radius\":t.circle.radius,\"circle-color\":t.color,\"circle-opacity\":t.opacity});break;case\"line\":n.extendFlat(r,{\"line-width\":t.line.width,\"line-color\":t.color,\"line-opacity\":t.opacity,\"line-dasharray\":t.line.dash});break;case\"fill\":n.extendFlat(r,{\"fill-color\":t.color,\"fill-outline-color\":t.fill.outlinecolor,\"fill-opacity\":t.opacity});break;case\"symbol\":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{\"icon-image\":i.icon+\"-15\",\"icon-size\":i.iconsize/10,\"text-field\":i.text,\"text-size\":i.textfont.size,\"text-anchor\":o.anchor,\"text-offset\":o.offset,\"symbol-placement\":i.placement}),n.extendFlat(r,{\"icon-color\":t.color,\"text-color\":i.textfont.color,\"text-opacity\":t.opacity});break;case\"raster\":n.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=c(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&\"image\"===this.sourceType&&\"image\"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,c(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};\"geojson\"===r?e=\"data\":\"vector\"===r?e=\"string\"==typeof n?\"url\":\"tiles\":\"raster\"===r?(e=\"tiles\",a.tileSize=256):\"image\"===r&&(e=\"url\",a.coordinates=t.coordinates);a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution));return a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if(\"traces\"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&v(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf(\"event\")>-1&&c.click(n,e.originalEvent)}}},_.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=f(o)?function(t,r){(t.range={})[e.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(c)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off(\"click\",e.onClickInPanHandler),p(o)||h(o)?(r.dragPan.disable(),r.on(\"zoomstart\",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){d(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",e.clearSelect),e.div.onmousedown=null,e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on(\"click\",e.onClickInPanHandler))}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},_.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+\"px\",n.height=r.h*(e.y[1]-e.y[0])+\"px\",n.left=r.l+e.x[0]*r.w+\"px\",n.top=r.t+(1-e.y[1])*r.h+\"px\",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},_.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a[\"text-anchor\"]=\"start\",a.x=5):(a[\"text-anchor\"]=\"end\",a.x=e._paper.attr(\"width\")-7),r.attr(a);var o=r.select(\".js-link-to-tool\"),s=r.select(\".js-link-spacer\"),l=r.select(\".js-sourcelinks\");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text(\"\");var r=e.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(t._context.linkText+\" \"+String.fromCharCode(187));if(t._context.sendData)r.on(\"click\",(function(){b.sendDataToCloud(t)}));else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?\" - \":\"\")}},b.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit(\"plotly_beforeexport\");var r=n.select(t).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),i=r.append(\"form\").attr({action:e+\"/external\",method:\"post\",target:\"_blank\"});return i.append(\"input\").attr({type:\"text\",name:\"data\"}).node().value=b.graphJson(t,!1,\"keepdata\"),i.node().submit(),r.remove(),t.emit(\"plotly_afterexport\"),!1}};var T=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],k=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];function A(t,e){var r=t._context.locale;r||(r=\"en-US\");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&z.length>1){for(s.getComponentMethod(\"grid\",\"sizeDefaults\")(c,l),o=0;o15&&z.length>15&&0===l.shapes.length&&0===l.images.length,b.linkSubplots(h,l,f,n),b.cleanPlot(h,l,f,n);var N=!(!n._has||!n._has(\"gl2d\")),j=!(!l._has||!l._has(\"gl2d\")),U=!(!n._has||!n._has(\"cartesian\"))||N,V=!(!l._has||!l._has(\"cartesian\"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(l._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&d({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var f=1-2*s;n=Math.round(f*n),i=Math.round(f*i)}}var h=b.layoutAttributes.width.min,p=b.layoutAttributes.height.min;n1,m=!e.height&&Math.abs(r.height-i)>1;(m||d)&&(d&&(r.width=n),m&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),b.sanitizeMargins(r)},b.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,l=s.componentsRegistry,c=e._basePlotModules,f=s.subplotsRegistry.cartesian;for(i in l)(o=l[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var h in c.length||c.push(f),e._has(\"cartesian\")&&(s.getComponentMethod(\"grid\",\"contentDefaults\")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(u.subplotSort);for(a=0;a1&&(r.l/=m,r.r/=m)}if(f){var g=(r.t+r.b)/f;g>1&&(r.t/=g,r.b/=g)}var v=void 0!==r.xl?r.xl:r.x,y=void 0!==r.xr?r.xr:r.x,x=void 0!==r.yt?r.yt:r.y,_=void 0!==r.yb?r.yb:r.y;h[e]={l:{val:v,size:r.l+d},r:{val:y,size:r.r+d},b:{val:_,size:r.b+d},t:{val:x,size:r.t+d}},p[e]=1}else delete h[e],delete p[e];if(!n._replotting)return b.doAutoMargin(t)}},b.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),C(e);var i=e._size,a=e.margin,l=u.extendFlat({},i),c=a.l,f=a.r,h=a.t,d=a.b,m=e._pushmargin,g=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var v in m)g[v]||delete m[v];for(var y in m.base={l:{val:0,size:c},r:{val:1,size:f},t:{val:1,size:h},b:{val:0,size:d}},m){var x=m[y].l||{},_=m[y].b||{},w=x.val,T=x.size,k=_.val,A=_.size;for(var M in m){if(o(T)&&m[M].r){var S=m[M].r.val,E=m[M].r.size;if(S>w){var L=(T*S+(E-r)*w)/(S-w),P=(E*(1-w)+(T-r)*(1-S))/(S-w);L+P>c+f&&(c=L,f=P)}}if(o(A)&&m[M].t){var I=m[M].t.val,O=m[M].t.size;if(I>k){var z=(A*I+(O-n)*k)/(I-k),D=(O*(1-k)+(A-n)*(1-I))/(I-k);z+D>d+h&&(d=z,h=D)}}}}}var R=u.constrain(r-a.l-a.r,2,64),F=u.constrain(n-a.t-a.b,2,64),B=Math.max(0,r-R),N=Math.max(0,n-F);if(B){var j=(c+f)/B;j>1&&(c/=j,f/=j)}if(N){var U=(d+h)/N;U>1&&(d/=U,h/=U)}if(i.l=Math.round(c),i.r=Math.round(f),i.t=Math.round(h),i.b=Math.round(d),i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&b.didMarginChange(l,i)){\"_redrawFromAutoMarginCount\"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var V=3*(1+Object.keys(g).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return s.call(\"redraw\",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit(\"plotly_transitioninterrupted\",[])}));var a=0,o=0;function l(){return a++,function(){o++,n||o!==a||function(e){if(!t._transitionData)return;(function(t){if(t)for(;t.length;)t.shift()})(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return s.call(\"redraw\",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\"plotly_transitioned\",[])})).then(e)}(i)}}r.runFn(l),setTimeout(l())}))}],a=u.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}b.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},b.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&b.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function c(t,e){if(\"function\"==typeof t)return e?\"_function_\":null;if(u.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===[\"_\",\"[\"].indexOf(a.charAt(0)))if(\"function\"!=typeof t[a]){if(\"keepdata\"===r){if(\"src\"===a.substr(a.length-3))return}else if(\"keepstream\"===r){if(\"string\"==typeof(n=t[a+\"src\"])&&n.indexOf(\":\")>0&&!u.isPlainObject(t.stream))return}else if(\"keepall\"!==r&&\"string\"==typeof(n=t[a+\"src\"])&&n.indexOf(\":\")>0)return;i[a]=c(t[a],e)}else e&&(i[a]=\"_function\")})),i}return Array.isArray(t)?t.map((function(t){return c(t,e)})):u.isTypedArray(t)?u.simpleMap(t,u.identity):u.isJSDate(t)?u.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=c(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=c(s),i)){var h=s._size;f.layout.computed={margin:{b:h.b,l:h.l,r:h.r,t:h.t}}}return l&&(f.frames=c(l)),a&&(f.config=c(t._context,!0)),\"object\"===n?f:JSON.stringify(f)},b.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:h,y:h}]),o[0].t||(o[0].t={}),o[0].trace=r,d[e]=o}}for(z(o,c,f),i=0;i1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),c=(-o+l)/(2*a),u=(-o-l)/(2*a);return[[c,e*c+i+n],[u,e*u+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return\"M\"+h(u(t,e,r,n),i,a).join(\"L\")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||s>90&&l>=450?1:u<=0&&h<=0?0:Math.max(u,h);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&f>=0?0:Math.min(c,f);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&h>=0?0:Math.min(u,h);n=l>=360?1:c<=0&&f<=0?0:Math.max(c,f);return[e,r,n,i]}(p),b=x[2]-x[0],_=x[3]-x[1],w=h/f,T=Math.abs(_/b);w>T?(d=f,y=(h-(m=f*T))/n.h/2,g=[o[0],o[1]],v=[s[0]+y,s[1]-y]):(m=h,y=(f-(d=h/T))/n.w/2,g=[o[0]+y,o[1]-y],v=[s[0],s[1]]),this.xLength2=d,this.yLength2=m,this.xDomain2=g,this.yDomain2=v;var k,A=this.xOffset2=n.l+n.w*g[0],M=this.yOffset2=n.t+n.h*(1-v[1]),S=this.radius=d/b,E=this.innerRadius=this.getHole(e)*S,L=this.cx=A-S*x[0],C=this.cy=M+S*x[3],P=this.cxx=L-A,I=this.cyy=C-M,O=i.side;\"counterclockwise\"===O?(k=O,O=\"top\"):\"clockwise\"===O&&(k=O,O=\"bottom\"),this.radialAxis=this.mockAxis(t,e,i,{_id:\"x\",side:O,_trueSide:k,domain:[E/n.w,S/n.w]}),this.angularAxis=this.mockAxis(t,e,a,{side:\"right\",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:\"x\",domain:g}),this.yaxis=this.mockCartesianAxis(t,e,{_id:\"y\",domain:v});var z=this.pathSubplot();this.clipPaths.forTraces.select(\"path\").attr(\"d\",z).attr(\"transform\",l(P,I)),r.frontplot.attr(\"transform\",l(A,M)).call(u.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces,this.gd),r.bg.attr(\"d\",z).attr(\"transform\",l(L,C)).call(c.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:\"linear\"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange=\"x\"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this.gd,n=this.radialAxis,i=this.getRadial(e);m(r,n);var a=n.range;i.range=a.slice(),i._input.range=a.slice(),n._rl=[n.r2l(a[0],null,\"gregorian\"),n.r2l(a[1],null,\"gregorian\")]},N.updateRadialAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,u=r.innerRadius,f=r.cx,p=r.cy,d=r.getRadial(e),m=D(r.getSector(e)[0],360),g=r.radialAxis,v=u90&&m<=270&&(g.tickangle=180);var x=y?function(t){var e=O(r,C([t.x,0]));return l(e[0]-f,e[1]-p)}:function(t){return l(g.l2p(t.x)+u,0)},b=y?function(t){return I(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+u)},_=j(d);if(r.radialTickLayout!==_&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=_),v){g.setScale();var w=0,T=y?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return h.tickText(g,t,!0,!1)})):h.calcTicks(g),k=y?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];y&&((\"top\"===g.ticks&&\"bottom\"===g.side||\"bottom\"===g.ticks&&\"top\"===g.side)&&(A=-A),\"top\"===g.ticks&&\"top\"===g.side&&(w=-g.ticklen),\"bottom\"===g.ticks&&\"bottom\"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i[\"radial-axis\"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i[\"radial-grid\"],path:b,transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i[\"radial-axis\"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(f,p),E=S+s(-M);V(i[\"radial-axis\"],v&&(d.showticklabels||d.ticks),{transform:E}),V(i[\"radial-grid\"],v&&d.showgrid,{transform:y?\"\":S}),V(i[\"radial-line\"].select(\"line\"),v&&d.showline,{x1:y?-a:u,y1:0,x2:a,y2:0,transform:E}).attr(\"stroke-width\",d.linewidth).call(c.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=this.getRadial(e),l=this.id+\"title\",c=0;if(s.title){var f=u.bBox(this.layers[\"radial-axis\"].node()).height,h=s.title.font.size,p=s.side;c=\"top\"===p?h:\"counterclockwise\"===p?-(f+.4*h):f+.8*h}var d=void 0!==r?r:this.radialAxisAngle,m=R(d),g=Math.cos(m),v=Math.sin(m),y=a+i/2*g+c*v,b=o-i/2*v+c*g;this.layers[\"radial-axis-title\"]=x.draw(n,l,{propContainer:s,propName:this.id+\".radialaxis.title\",placeholder:z(n,\"Click to enter radial axis title\"),attributes:{x:y,y:b,\"text-anchor\":\"middle\"},transform:{rotate:-d}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,u=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(e),m=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey(\"angularaxis.rotation\",d.rotation),m.setGeometry(),m.setScale());var v=g?function(t){var e=O(r,C([0,t.x]));return Math.atan2(e[0]-f,e[1]-p)-Math.PI/2}:function(t){return m.t2g(t.x)};\"linear\"===m.type&&\"radians\"===m.thetaunit&&(m.tick0=F(m.tick0),m.dtick=F(m.dtick));var y=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=O(r,C([0,t.x]));return l(e[0],e[1])}:function(t){return y(v(t))},b=g?function(t){var e=O(r,C([0,t.x])),n=Math.atan2(e[0]-f,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=v(t);return y(e)+s(-F(e))},_=g?function(t){return P(r,t.x,0,1/0)}:function(t){var e=v(t),r=Math.cos(e),n=Math.sin(e);return\"M\"+[f+u*r,p-u*n]+\"L\"+[f+a*r,p-a*n]},w=h.makeLabelFns(m,0).labelStandoff,T={xFn:function(t){var e=v(t);return Math.cos(e)*w},yFn:function(t){var e=v(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=v(t),r=Math.cos(e);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},heightFn:function(t,e,r){var n=v(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i[\"angular-axis\"].selectAll(\".\"+m._id+\"tick\").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(m.tickvals||[]).map((function(t){return h.tickText(m,t,!0,!1)})):h.calcTicks(m);if(g&&(S[0].text=\"\\u221e\",S[0].fontSize*=1.75),\"linear\"===e.gridshape?(A=S.map(v),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,\"category\"===m.type&&(S=S.filter((function(t){return o.isAngleInsideSector(v(t),r.sectorInRad)}))),m.visible){var E=\"inside\"===m.ticks?-1:1,L=(m.linewidth||1)/2;h.drawTicks(n,m,{vals:S,layer:i[\"angular-axis\"],path:\"M\"+E*L+\",0h\"+E*m.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,m,{vals:S,layer:i[\"angular-grid\"],path:_,transFn:o.noop,crisp:!1}),h.drawLabels(n,m,{vals:S,layer:i[\"angular-axis\"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i[\"angular-line\"].select(\"path\"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr(\"stroke-width\",d.linewidth).call(c.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,c=s.isSmith,u=s.gd,f=s.layers,h=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,m=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,L=s.sectorInRad,C=s.vangles,P=s.radialAxis,I=E.clampTiny,O=E.findXYatLength,z=E.findEnclosingVertexAngles,D=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(f,\"path\",\"maindrag\",!1===t.dragmode?\"none\":\"crosshair\");n.select(F).attr(\"d\",s.pathSubplot()).attr(\"transform\",l(T,k)),F.onmousemove=function(t){y.hover(u,t,s.id),u._fullLayout._lasthover=F,u._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){u._dragging||v.unhover(u,t)};var B,N,j,U,V,H,q,G,Y,W={element:F,gd:u,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function X(t,e){return Math.sqrt(t*t+e*e)}function Z(t,e){return X(t-A,e-M)}function J(t,e){return Math.atan2(M-e,t-A)}function K(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function Q(t,e){if(0===t)return s.pathSector(2*D);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,m)),o=a-D,l=a+D;return\"M\"+K(o,n)+\"A\"+[o,o]+\" 0,0,0 \"+K(o,i)+\"L\"+K(l,i)+\"A\"+[l,l]+\" 0,0,1 \"+K(l,n)+\"Z\"}function $(t,e,r){if(0===t)return s.pathSector(2*D);var n,i,a=K(t,e),o=K(t,r),l=I((a[0]+o[0])/2),c=I((a[1]+o[1])/2);if(l&&c){var u=c/l,f=-1/u,h=O(D,u,l,c);n=O(R,f,h[0][0],h[0][1]),i=O(R,f,h[1][0],h[1][1])}else{var p,d;c?(p=R,d=D):(p=D,d=R),n=[[l-p,c-d],[l+p,c-d]],i=[[l-p,c+d],[l+p,c+d]]}return\"M\"+n.join(\"L\")+\"L\"+i.reverse().join(\"L\")+\"Z\"}function tt(t,e){return e=Math.max(Math.min(e,m),x),tp?(t-1&&1===t&&_(e,u,[s.xaxis],[s.yaxis],s.id,W),r.indexOf(\"event\")>-1&&y.click(u,e,s.id)}W.prepFn=function(t,n,a){var l=u._fullLayout.dragmode,f=F.getBoundingClientRect();u._fullLayout._calcInverseTransform(u);var p=u._fullLayout._invTransform;e=u._fullLayout._invScaleX,r=u._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-f.left,a-f.top);if(B=d[0],N=d[1],C){var v=E.findPolygonOffset(m,L[0],L[1],C);B+=A+v[0],N+=M+v[1]}switch(l){case\"zoom\":W.clickFn=st,c||(W.moveFn=C?it:rt,W.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),H=!1;var t=u._fullLayout[s.id];q=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(h,q,T,k,V)).attr(\"fill-rule\",\"evenodd\"),Y=g.makeCorners(h,T,k),w(u)}());break;case\"select\":case\"lasso\":b(t,n,a,W,l)}},v.init(W)},N.updateRadialDrag=function(t,e,r){var i=this,c=i.gd,u=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,m=i.radialAxis,y=S.radialDragBoxSize,x=y/2;if(m.visible){var b,_,T,M=R(i.radialAxisAngle),E=m._rl,L=E[0],C=E[1],P=E[r],I=.75*(E[1]-E[0])/(1-i.getHole(e))/f;r?(b=p+(f+x)*Math.cos(M),_=d-(f+x)*Math.sin(M),T=\"radialdrag\"):(b=p+(h-x)*Math.cos(M),_=d-(h-x)*Math.sin(M),T=\"radialdrag-inner\");var O,z,D,B=g.makeRectDragger(u,T,\"crosshair\",-x,-x,y,y),N={element:B,gd:c};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),m.visible&&h0==(r?D>L:Dn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case\"angularaxis\":!function(t,e){var r=t.type;if(\"linear\"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return\"degrees\"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return\"degrees\"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,i){var a,o,s=e[i],l=e._length,c=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&\"linear\"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(a=new Array(l),o=0;o0?1:0}function i(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function a(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function o(t,e){return e*t.radius}e.exports={smith:i,reactanceArc:function(t,e,r,n){var s=a(t,i([r,e])),l=s[0],c=s[1],u=a(t,i([n,e])),f=u[0],h=u[1];if(0===e)return[\"M\"+l+\",\"+c,\"L\"+f+\",\"+h].join(\" \");var p=o(t,1/Math.abs(e));return[\"M\"+l+\",\"+c,\"A\"+p+\",\"+p+\" 0 0,\"+(e<0?1:0)+\" \"+f+\",\"+h].join(\" \")},resistanceArc:function(t,e,r,s){var l=o(t,1/(e+1)),c=a(t,i([e,r])),u=c[0],f=c[1],h=a(t,i([e,s])),p=h[0],d=h[1];if(n(r)!==n(s)){var m=a(t,i([e,0]));return[\"M\"+u+\",\"+f,\"A\"+l+\",\"+l+\" 0 0,\"+(00){for(var n=[],i=0;i=u&&(h.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function m(t,e,r,n){var i=h[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o(\"uirevision\",n.uirevision),e.type=\"linear\";var p=o(\"color\"),d=p!==i.color.dflt?p:r.font.color,m=e._name.charAt(0).toUpperCase(),g=\"Component \"+m,v=o(\"title.text\",g);e._hovertitle=v===g?v:m,a.coerceFont(o,\"title.font\",{family:r.font.family,size:a.bigFont(r.font.size),color:d}),o(\"min\"),u(t,e,o,\"linear\"),l(t,e,o,\"linear\"),s(t,e,o,\"linear\"),c(t,e,o,{outerTicks:!0}),o(\"showticklabels\")&&(a.coerceFont(o,\"tickfont\",{family:r.font.family,size:r.font.size,color:d}),o(\"tickangle\"),o(\"tickformat\")),f(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o(\"hoverformat\"),o(\"layer\")}e.exports=function(t,e,r){o(t,e,r,{type:\"ternary\",attributes:h,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{\"../../components/color\":366,\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../cartesian/line_grid_defaults\":571,\"../cartesian/prefix_suffix_defaults\":573,\"../cartesian/tick_label_defaults\":578,\"../cartesian/tick_mark_defaults\":579,\"../cartesian/tick_value_defaults\":580,\"../subplot_defaults\":632,\"./layout_attributes\":635}],637:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"tinycolor2\"),a=t(\"../../registry\"),o=t(\"../../lib\"),s=o.strTranslate,l=o._,c=t(\"../../components/color\"),u=t(\"../../components/drawing\"),f=t(\"../cartesian/set_convert\"),h=t(\"../../lib/extend\").extendFlat,p=t(\"../plots\"),d=t(\"../cartesian/axes\"),m=t(\"../../components/dragelement\"),g=t(\"../../components/fx\"),v=t(\"../../components/dragelement/helpers\"),y=v.freeMode,x=v.rectMode,b=t(\"../../components/titles\"),_=t(\"../cartesian/select\").prepSelect,w=t(\"../cartesian/select\").selectOnClick,T=t(\"../cartesian/select\").clearSelect,k=t(\"../cartesian/select\").clearSelectionsCache,A=t(\"../cartesian/constants\");function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}e.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;iE*b?i=(a=b)*E:a=(i=x)/E,o=v*i/x,l=y*a/b,r=e.l+e.w*m-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:\"linear\",range:[w+2*k-_,_-w-2*T],domain:[m-o/2,m+o/2],_id:\"x\"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:\"linear\",range:[w,_-T-k],domain:[g-l/2,g+l/2],_id:\"y\"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:\"left\",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:\"free\",position:0,_id:\"y\",_length:i});f(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:\"bottom\",domain:p.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var L=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:\"right\",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:\"free\",position:0,_id:\"y\",_length:i});f(L,p.graphDiv._fullLayout),L.setScale();var C=\"M\"+r+\",\"+(n+a)+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";p.clipDef.select(\"path\").attr(\"d\",C),p.layers.plotbg.select(\"path\").attr(\"d\",C);var P=\"M0,\"+a+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";p.clipDefRelative.select(\"path\").attr(\"d\",P);var I=s(r,n);p.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",I),p.clipDefRelative.select(\"path\").attr(\"transform\",null);var O=s(r-S._offset,n+a);p.layers.baxis.attr(\"transform\",O),p.layers.bgrid.attr(\"transform\",O);var z=s(r+i/2,n)+\"rotate(30)\"+s(0,-M._offset);p.layers.aaxis.attr(\"transform\",z),p.layers.agrid.attr(\"transform\",z);var D=s(r+i/2,n)+\"rotate(-30)\"+s(0,-L._offset);p.layers.caxis.attr(\"transform\",D),p.layers.cgrid.attr(\"transform\",D),p.drawAxes(!0),p.layers.aline.select(\"path\").attr(\"d\",M.showline?\"M\"+r+\",\"+(n+a)+\"l\"+i/2+\",-\"+a:\"M0,0\").call(c.stroke,M.linecolor||\"#000\").style(\"stroke-width\",(M.linewidth||0)+\"px\"),p.layers.bline.select(\"path\").attr(\"d\",S.showline?\"M\"+r+\",\"+(n+a)+\"h\"+i:\"M0,0\").call(c.stroke,S.linecolor||\"#000\").style(\"stroke-width\",(S.linewidth||0)+\"px\"),p.layers.cline.select(\"path\").attr(\"d\",L.showline?\"M\"+(r+i/2)+\",\"+n+\"l\"+i/2+\",\"+a:\"M0,0\").call(c.stroke,L.linecolor||\"#000\").style(\"stroke-width\",(L.linewidth||0)+\"px\"),p.graphDiv._context.staticPlot||p.initInteractions(),u.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+\"title\",n=this.layers,i=this.aaxis,a=this.baxis,o=this.caxis;if(this.drawAx(i),this.drawAx(a),this.drawAx(o),t){var s=Math.max(i.showticklabels?i.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+(\"outside\"===o.ticks?.87*o.ticklen:0)),c=(a.showticklabels?a.tickfont.size:0)+(\"outside\"===a.ticks?a.ticklen:0)+3;n[\"a-title\"]=b.draw(e,\"a\"+r,{propContainer:i,propName:this.id+\".aaxis.title\",placeholder:l(e,\"Click to enter Component A title\"),attributes:{x:this.x0+this.w/2,y:this.y0-i.title.font.size/3-s,\"text-anchor\":\"middle\"}}),n[\"b-title\"]=b.draw(e,\"b\"+r,{propContainer:a,propName:this.id+\".baxis.title\",placeholder:l(e,\"Click to enter Component B title\"),attributes:{x:this.x0-c,y:this.y0+this.h+.83*a.title.font.size+c,\"text-anchor\":\"middle\"}}),n[\"c-title\"]=b.draw(e,\"c\"+r,{propContainer:o,propName:this.id+\".caxis.title\",placeholder:l(e,\"Click to enter Component C title\"),attributes:{x:this.x0+this.w+c,y:this.y0+this.h+.83*o.title.font.size+c,\"text-anchor\":\"middle\"}})}},S.drawAx=function(t){var e,r=this.graphDiv,n=t._name,i=n.charAt(0),a=t._id,s=this.layers[n],l=i+\"tickLayout\",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);this[l]!==c&&(s.selectAll(\".\"+a+\"tick\").remove(),this[l]=c),t.setScale();var u=d.calcTicks(t),f=d.clipEnds(t,u),h=d.makeTransTickFn(t),p=d.getTickSigns(t)[2],m=o.deg2rad(30),g=p*(t.linewidth||1)/2,v=p*t.ticklen,y=this.w,x=this.h,b=\"b\"===i?\"M0,\"+g+\"l\"+Math.sin(m)*v+\",\"+Math.cos(m)*v:\"M\"+g+\",0l\"+Math.cos(m)*v+\",\"+-Math.sin(m)*v,_={a:\"M0,0l\"+x+\",-\"+y/2,b:\"M0,0l-\"+y/2+\",-\"+x,c:\"M0,0l-\"+x+\",\"+y/2}[i];d.drawTicks(r,t,{vals:\"inside\"===t.ticks?f:u,layer:s,path:b,transFn:h,crisp:!1}),d.drawGrid(r,t,{vals:f,layer:this.layers[i+\"grid\"],path:_,transFn:h,crisp:!1}),d.drawLabels(r,t,{vals:u,layer:s,transFn:h,labelFns:d.makeLabelFns(t,0,30)})};var L=A.MINZOOM/2+.87,C=\"m-0.87,.5h\"+L+\"v3h-\"+(L+5.2)+\"l\"+(L/2+2.6)+\",-\"+(.87*L+4.5)+\"l2.6,1.5l-\"+L/2+\",\"+.87*L+\"Z\",P=\"m0.87,.5h-\"+L+\"v3h\"+(L+5.2)+\"l-\"+(L/2+2.6)+\",-\"+(.87*L+4.5)+\"l-2.6,1.5l\"+L/2+\",\"+.87*L+\"Z\",I=\"m0,1l\"+L/2+\",\"+.87*L+\"l2.6,-1.5l-\"+(L/2+2.6)+\",-\"+(.87*L+4.5)+\"l-\"+(L/2+2.6)+\",\"+(.87*L+4.5)+\"l2.6,1.5l\"+L/2+\",-\"+.87*L+\"Z\",O=!0;function z(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}S.clearSelect=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,v,b,T,k,M=this,S=M.layers.plotbg.select(\"path\").node(),L=M.graphDiv,D=L._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+\".aaxis.min\"]=t.a,e[M.id+\".baxis.min\"]=t.b,e[M.id+\".caxis.min\"]=t.c,e}function F(t,e){var r=L._fullLayout.clickmode;z(L),2===t&&(L.emit(\"plotly_doubleclick\",null),a.call(\"_guiRelayout\",L,R({a:0,b:0,c:0}))),r.indexOf(\"select\")>-1&&1===t&&w(e,L,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf(\"event\")>-1&&g.click(L,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),c=Math.max(0,Math.min(1,N(r,n),N(o,s))),u=Math.max(0,Math.min(1,j(r,n),j(o,s))),m=(l/2+u)*M.w,g=(1-l/2-c)*M.w,y=(m+g)/2,x=g-m,_=(1-l)*M.h,w=_-x/E;x.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),k.transition().style(\"opacity\",1).duration(200),b=!0),L.emit(\"plotly_relayouting\",R(p))}function V(){z(L),p!==f&&(a.call(\"_guiRelayout\",L,R(p)),O&&L.data&&L._context.showTips&&(o.notifier(l(L,\"Double-click to zoom back out\"),\"long\"),O=!1))}function H(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),c=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[c]},e=(f.a-p.a)*M.yaxis._m,t=(f.c-p.c-f.b+p.b)*M.xaxis._m);var h=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",h);var d=s(-t,-e);M.clipDefRelative.select(\"path\").attr(\"transform\",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(u.hideOutsideRangePoints,M),L.emit(\"plotly_relayouting\",R(p))}function q(){a.call(\"_guiRelayout\",L,R(p))}this.dragOptions={element:S,gd:L,plotinfo:{id:M.id,domain:L._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,u){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=L._fullLayout._invScaleX,e=L._fullLayout._invScaleY;var m=M.dragOptions.dragmode=L._fullLayout.dragmode;y(m)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,\"zoom\"===m?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,L._fullLayout._calcInverseTransform(L);var u=L._fullLayout._invTransform,m=o.apply3DTransform(u)(r,n);r=m[0],n=m[1],f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,h=M.aaxis.range[1]-f.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),v=\"M0,\"+M.h+\"L\"+M.w/2+\", 0L\"+M.w+\",\"+M.h+\"Z\",b=!1,T=D.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",s(M.x0,M.y0)).style({fill:d>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",v),k=D.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",s(M.x0,M.y0)).style({fill:c.background,stroke:c.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),M.clearSelect(L)}(0,l,u)):\"pan\"===m?(M.dragOptions.moveFn=H,M.dragOptions.clickFn=F,M.dragOptions.doneFn=q,f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,M.clearSelect(L)):(x(m)||y(m))&&_(a,l,u,M.dragOptions,m)}},S.onmousemove=function(t){g.hover(L,t,M.id),L._fullLayout._lasthover=S,L._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){L._dragging||m.unhover(L,t)},m.init(this.dragOptions)}},{\"../../components/color\":366,\"../../components/dragelement\":385,\"../../components/dragelement/helpers\":384,\"../../components/drawing\":388,\"../../components/fx\":406,\"../../components/titles\":464,\"../../lib\":503,\"../../lib/extend\":493,\"../../registry\":638,\"../cartesian/axes\":554,\"../cartesian/constants\":561,\"../cartesian/select\":575,\"../cartesian/set_convert\":576,\"../plots\":619,\"@plotly/d3\":58,tinycolor2:312}],638:[function(t,e,r){\"use strict\";var n=t(\"./lib/loggers\"),i=t(\"./lib/noop\"),a=t(\"./lib/push_unique\"),o=t(\"./lib/is_plain_object\"),s=t(\"./lib/dom\").addStyleRule,l=t(\"./lib/extend\"),c=t(\"./plots/attributes\"),u=t(\"./plots/layout_attributes\"),f=l.extendFlat,h=l.extendDeepAll;function p(t){var e=t.name,i=t.categories,a=t.meta;if(r.modules[e])n.log(\"Type \"+e+\" already registered\");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log(\"Plot type \"+e+\" already registered.\");for(var i in v(t),r.subplotsRegistry[e]=t,r.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(f[p[r]].title={text:\"\"});for(r=0;r\")?\"\":e.html(t).text()}));return e.remove(),r}(_),_=(_=_.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&\")).replace(c,\"'\"),i.isIE()&&(_=(_=(_=_.replace(/\"/gi,\"'\")).replace(/(\\('#)([^']*)('\\))/gi,'(\"#$2\")')).replace(/(\\\\')/gi,'\"')),_}},{\"../components/color\":366,\"../components/drawing\":388,\"../constants/xmlns_namespaces\":480,\"../lib\":503,\"@plotly/d3\":58}],647:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){for(var r=0;rf+c||!n(u))}for(var p=0;pa))return e}return void 0!==r?r:t.dflt},r.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},r.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},r.getValue=function(t,e){var r;return Array.isArray(t)?e0?e+=r:u<0&&(e-=r)}return e}function z(t){var e=u,r=t.b,i=O(t);return n.inbox(r-e,i-e,_+(i-e)/(i-r)-1)}var D=t[f+\"a\"],R=t[h+\"a\"];m=Math.abs(D.r2c(D.range[1])-D.r2c(D.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==c){k||(L=function(t){return Math.min(A(t),t.p-y.bargroupwidth/2)},C=function(t){return Math.max(M(t),t.p+y.bargroupwidth/2)});var B=g[t.index],N=v.base?B.b+B.s:B.s;t[h+\"0\"]=t[h+\"1\"]=R.c2p(B[h],!0),t[h+\"LabelVal\"]=N;var j=y.extents[y.extents.round(B.p)];t[f+\"0\"]=D.c2p(x?L(B):j[0],!0),t[f+\"1\"]=D.c2p(x?C(B):j[1],!0);var U=void 0!==B.orig_p;return t[f+\"LabelVal\"]=U?B.orig_p:B.p,t.labelLabel=l(D,t[f+\"LabelVal\"],v[f+\"hoverformat\"]),t.valueLabel=l(R,t[h+\"LabelVal\"],v[h+\"hoverformat\"]),t.baseLabel=l(R,B.b,v[h+\"hoverformat\"]),t.spikeDistance=(function(t){var e=u,r=t.b,i=O(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return P(A(t),M(t),w)}(B))/2,t[f+\"Spike\"]=D.c2p(B.p,!0),o(B,v,t),t.hovertemplate=v.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}e.exports={hoverPoints:function(t,e,r,n,a){var o=u(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,c=s[o.index];return o.color=f(l,c),i.getComponentMethod(\"errorbars\",\"hoverInfo\")(c,l,o),[o]}},hoverOnBars:u,getTraceColor:f}},{\"../../components/color\":366,\"../../components/fx\":406,\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"./helpers\":654}],656:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\").crossTraceCalc,colorbar:t(\"../scatter/marker_colorbar\"),arraysToCalcdata:t(\"./arrays_to_calcdata\"),plot:t(\"./plot\").plot,style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\").hoverPoints,eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"bar\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],animatable:!0,meta:{}}},{\"../../plots/cartesian\":568,\"../scatter/marker_colorbar\":945,\"./arrays_to_calcdata\":647,\"./attributes\":648,\"./calc\":649,\"./cross_trace_calc\":651,\"./defaults\":652,\"./event_data\":653,\"./hover\":655,\"./layout_attributes\":657,\"./layout_defaults\":658,\"./plot\":659,\"./select\":660,\"./style\":662}],657:[function(t,e,r){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\",\"relative\"],dflt:\"group\",editType:\"calc\"},barnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},bargap:{valType:\"number\",min:0,max:1,editType:\"calc\"},bargroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},{}],658:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\"),o=t(\"./layout_attributes\");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,f={},h=s(\"barmode\"),p=0;p0}function S(t){return\"auto\"===t?0:t}function E(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function L(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,c=a.anchor||\"end\",u=\"end\"===c,f=\"start\"===c,h=((a.leftToRight||0)+1)/2,p=1-h,d=i.width,m=i.height,g=Math.abs(e-t),v=Math.abs(n-r),y=g>2*_&&v>2*_?_:0;g-=2*y,v-=2*y;var x=S(l);\"auto\"!==l||d<=g&&m<=v||!(d>g||m>v)||(d>v||m>g)&&d.01?q:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?q(t):t>e?Math.ceil(t):Math.floor(t)};B=G(B,N,D),N=G(N,B,D),j=G(j,U,!D),U=G(U,j,!D)}var Y=A(a.ensureSingle(I,\"path\"),P,g,v);if(Y.style(\"vector-effect\",\"non-scaling-stroke\").attr(\"d\",isNaN((N-B)*(U-j))||V&&t._context.staticPlot?\"M0,0Z\":\"M\"+B+\",\"+j+\"V\"+U+\"H\"+N+\"V\"+j+\"Z\").call(l.setClipUrl,e.layerClipId,t),!P.uniformtext.mode&&R){var W=l.makePointStyleFns(f);l.singlePointStyle(c,Y,f,W,t)}!function(t,e,r,n,i,s,c,f,p,g,v){var w,T=e.xaxis,M=e.yaxis,C=t._fullLayout;function P(e,r,n){return a.ensureSingle(e,\"text\").text(r).attr({class:\"bartext bartext-\"+w,\"text-anchor\":\"middle\",\"data-notex\":1}).call(l.font,n).call(o.convertToTspans,t)}var I=n[0].trace,O=\"h\"===I.orientation,z=function(t,e,r,n,i){var o,s=e[0].trace;o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,\"texttemplate\");if(!s)return\"\";var l,c,f,h,p=\"histogram\"===o.type,d=\"waterfall\"===o.type,m=\"funnel\"===o.type,g=\"h\"===o.orientation;g?(l=\"y\",c=i,f=\"x\",h=n):(l=\"x\",c=n,f=\"y\",h=i);function v(t){return u(h,h.c2l(t),!0).text}var y=e[r],x={};x.label=y.p,x.labelLabel=x[l+\"Label\"]=(_=y.p,u(c,c.c2l(_),!0).text);var _;var w=a.castOption(o,y.i,\"text\");(0===w||w)&&(x.text=w);x.value=y.s,x.valueLabel=x[f+\"Label\"]=v(y.s);var T={};b(T,o,y.i),(p||void 0===T.x)&&(T.x=g?x.value:x.label);(p||void 0===T.y)&&(T.y=g?x.label:x.value);(p||void 0===T.xLabel)&&(T.xLabel=g?x.valueLabel:x.labelLabel);(p||void 0===T.yLabel)&&(T.yLabel=g?x.labelLabel:x.valueLabel);d&&(x.delta=+y.rawS||y.s,x.deltaLabel=v(x.delta),x.final=y.v,x.finalLabel=v(x.final),x.initial=x.final-x.delta,x.initialLabel=v(x.initial));m&&(x.value=y.s,x.valueLabel=v(x.value),x.percentInitial=y.begR,x.percentInitialLabel=a.formatPercent(y.begR),x.percentPrevious=y.difR,x.percentPreviousLabel=a.formatPercent(y.difR),x.percentTotal=y.sumR,x.percenTotalLabel=a.formatPercent(y.sumR));var k=a.castOption(o,y.i,\"customdata\");k&&(x.customdata=k);return a.texttemplateString(s,x,t._d3locale,T,x,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o=\"h\"===i.orientation,s=\"waterfall\"===i.type,l=\"funnel\"===i.type;function c(t){return u(o?r:n,+t,!0).text}var f,h=i.textinfo,p=t[e],d=h.split(\"+\"),m=[],g=function(t){return-1!==d.indexOf(t)};g(\"label\")&&m.push((v=t[e].p,u(o?n:r,v,!0).text));var v;g(\"text\")&&(0===(f=a.castOption(i,p.i,\"text\"))||f)&&m.push(f);if(s){var y=+p.rawS||p.s,x=p.v,b=x-y;g(\"initial\")&&m.push(c(b)),g(\"delta\")&&m.push(c(y)),g(\"final\")&&m.push(c(x))}if(l){g(\"value\")&&m.push(c(p.s));var _=0;g(\"percent initial\")&&_++,g(\"percent previous\")&&_++,g(\"percent total\")&&_++;var w=_>1;g(\"percent initial\")&&(f=a.formatPercent(p.begR),w&&(f+=\" of initial\"),m.push(f)),g(\"percent previous\")&&(f=a.formatPercent(p.difR),w&&(f+=\" of previous\"),m.push(f)),g(\"percent total\")&&(f=a.formatPercent(p.sumR),w&&(f+=\" of total\"),m.push(f))}return m.join(\"
\")}(e,r,n,i):m.getValue(s.text,r);return m.coerceString(y,o)}(C,n,i,T,M);w=function(t,e){var r=m.getValue(t.textposition,e);return m.coerceEnumerated(x,r)}(I,i);var D=\"stack\"===g.mode||\"relative\"===g.mode,R=n[i],F=!D||R._outmost;if(!z||\"none\"===w||(R.isBlank||s===c||f===p)&&(\"auto\"===w||\"inside\"===w))return void r.select(\"text\").remove();var B=C.font,N=d.getBarColor(n[i],I),j=d.getInsideTextFont(I,i,B,N),U=d.getOutsideTextFont(I,i,B),V=r.datum();O?\"log\"===T.type&&V.s0<=0&&(s=T.range[0]=G*(Z/Y):Z>=Y*(X/G);G>0&&Y>0&&(J||K||Q)?w=\"inside\":(w=\"outside\",H.remove(),H=null)}else w=\"inside\";if(!H){W=a.ensureUniformFontSize(t,\"outside\"===w?U:j);var $=(H=P(r,z,W)).attr(\"transform\");if(H.attr(\"transform\",\"\"),q=l.bBox(H.node()),G=q.width,Y=q.height,H.attr(\"transform\",$),G<=0||Y<=0)return void H.remove()}var tt,et,rt=I.textangle;\"outside\"===w?(et=\"both\"===I.constraintext||\"outside\"===I.constraintext,tt=function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,c=a.angle||0,u=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/u));var m=S(c),g=E(i,m),v=(s?g.x:g.y)/2,y=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,A=0,M=s?k(e,t):k(r,n);s?(b=e-M*o,T=M*v):(w=n+M*o,A=-M*v);return{textX:y,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:A,scale:d,rotate:m}}(s,c,f,p,q,{isHorizontal:O,constrained:et,angle:rt})):(et=\"both\"===I.constraintext||\"inside\"===I.constraintext,tt=L(s,c,f,p,q,{isHorizontal:O,constrained:et,angle:rt,anchor:I.insidetextanchor}));tt.fontSize=W.size,h(\"histogram\"===I.type?\"bar\":I.type,tt,C),R.transform=tt,A(H,C,g,v).attr(\"transform\",a.getTextTransform(tt))}(t,e,I,r,p,B,N,j,U,g,v),e.layerClipId&&l.hideOutsideRangePoint(c,I.select(\"text\"),w,C,f.xcalendar,f.ycalendar)}));var j=!1===f.cliponaxis;l.setClipUrl(c,j?null:e.layerClipId,t)}));c.getComponentMethod(\"errorbars\",\"plot\")(t,I,e,g)},toMoveInsideBar:L}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../components/fx/helpers\":402,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"./attributes\":648,\"./constants\":650,\"./helpers\":654,\"./style\":662,\"./uniform_text\":664,\"@plotly/d3\":58,\"fast-isnumeric\":190}],660:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}e.exports=function(t,e){var r,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l=\"funnel\"===s.type,c=\"h\"===s.orientation,u=[];if(!1===e)for(r=0;r1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr(\"shape-rendering\",\"crispEdges\")})),e.selectAll(\"g.points\").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod(\"errorbars\",\"style\")(e)},styleTextPoints:m,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll(\"path\"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll(\"text\"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod(\"errorbars\",\"style\")(r))},getInsideTextFont:y,getOutsideTextFont:x,getBarColor:_,resizeText:l}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../lib\":503,\"../../registry\":638,\"./attributes\":648,\"./helpers\":654,\"./uniform_text\":664,\"@plotly/d3\":58}],663:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/defaults\"),o=t(\"../../lib\").coercePattern;e.exports=function(t,e,r,s,l){var c=r(\"marker.color\",s),u=i(t,\"marker\");u&&a(t,e,l,r,{prefix:\"marker.\",cLetter:\"c\"}),r(\"marker.line.color\",n.defaultLine),i(t,\"marker.line\")&&a(t,e,l,r,{prefix:\"marker.line.\",cLetter:\"c\"}),r(\"marker.line.width\"),r(\"marker.opacity\"),o(r,\"marker.pattern\",c,u),r(\"selected.marker.color\"),r(\"unselected.marker.color\")}},{\"../../components/color\":366,\"../../components/colorscale/defaults\":376,\"../../components/colorscale/helpers\":377,\"../../lib\":503}],664:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\");function a(t){return\"_\"+t+\"Text_minsize\"}e.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=o g.point\"}e.selectAll(s).each((function(t){var e=t.transform;e&&(e.scale=l&&e.hide?0:o/e.fontSize,n.select(this).select(\"text\").attr(\"transform\",i.getTextTransform(e)))}))}}}},{\"../../lib\":503,\"@plotly/d3\":58}],665:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../lib/extend\").extendFlat,a=t(\"../scatterpolar/attributes\"),o=t(\"../bar/attributes\");e.exports={r:a.r,theta:a.theta,r0:a.r0,dr:a.dr,theta0:a.theta0,dtheta:a.dtheta,thetaunit:a.thetaunit,base:i({},o.base,{}),offset:i({},o.offset,{}),width:i({},o.width,{}),text:i({},o.text,{}),hovertext:i({},o.hovertext,{}),marker:o.marker,hoverinfo:a.hoverinfo,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{\"../../lib/extend\":493,\"../../plots/template_attributes\":633,\"../bar/attributes\":648,\"../scatterpolar/attributes\":1002}],666:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/helpers\").hasColorscale,i=t(\"../../components/colorscale/calc\"),a=t(\"../bar/arrays_to_calcdata\"),o=t(\"../bar/cross_trace_calc\").setGroupPositions,s=t(\"../scatter/calc_selection\"),l=t(\"../../registry\").traceIs,c=t(\"../../lib\").extendFlat;e.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,c=r[o].angularaxis,u=l.makeCalcdata(e,\"r\"),f=c.makeCalcdata(e,\"theta\"),h=e._length,p=new Array(h),d=u,m=f,g=0;gh.range[1]&&(x+=Math.PI);if(n.getClosest(c,(function(t){return m(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/v)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=c[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,u,t),s(_,u,f,t),t.hovertemplate=u.hovertemplate,t.color=a(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign=\"left\"),[t]}}},{\"../../components/fx\":406,\"../../lib\":503,\"../../plots/polar/helpers\":621,\"../bar/hover\":655,\"../scatterpolar/hover\":1006}],669:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:t(\"../../plots/polar\"),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"../scatterpolar/format_labels\"),style:t(\"../bar/style\").style,styleOnSelect:t(\"../bar/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../bar/select\"),meta:{}}},{\"../../plots/polar\":622,\"../bar/select\":660,\"../bar/style\":662,\"../scatter/marker_colorbar\":945,\"../scatterpolar/format_labels\":1005,\"./attributes\":665,\"./calc\":666,\"./defaults\":667,\"./hover\":668,\"./layout_attributes\":670,\"./layout_defaults\":671,\"./plot\":672}],670:[function(t,e,r){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}},{}],671:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(c=o,u=l):(c=l,u=o);var f=[s.findEnclosingVertexAngles(c,t.vangles)[0],(c+u)/2,s.findEnclosingVertexAngles(u,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,c,u,f,e,r)};return function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),p=e.layers.frontplot.select(\"g.barlayer\");a.makeTraceGroups(p,r,\"trace bars\").each((function(){var r=n.select(this),s=a.ensureSingle(r,\"g\",\"points\").selectAll(\"g.point\").data(a.identity);s.enter().append(\"g\").style(\"vector-effect\",\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=f.c2g(t.p0),d=t.thetag1=f.c2g(t.p1);if(i(o)&&i(s)&&i(p)&&i(d)&&o!==s&&p!==d){var m=u.c2g(t.s1),g=(p+d)/2;t.ct=[l.c2p(m*Math.cos(g)),c.c2p(m*Math.sin(g))],e=h(o,s,p,d)}else e=\"M0,0Z\";a.ensureSingle(r,\"path\").attr(\"d\",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../plots/polar/helpers\":621,\"@plotly/d3\":58,\"fast-isnumeric\":190}],673:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../bar/attributes\"),a=t(\"../../components/color/attributes\"),o=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../lib/extend\").extendFlat,c=n.marker,u=c.line;e.exports={y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",editType:\"calc\"},dy:{valType:\"number\",editType:\"calc\"},xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),name:{valType:\"string\",editType:\"calc+clearAxisTypes\"},q1:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},median:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},q3:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},lowerfence:{valType:\"data_array\",editType:\"calc\"},upperfence:{valType:\"data_array\",editType:\"calc\"},notched:{valType:\"boolean\",editType:\"calc\"},notchwidth:{valType:\"number\",min:0,max:.5,dflt:.25,editType:\"calc\"},notchspan:{valType:\"data_array\",editType:\"calc\"},boxpoints:{valType:\"enumerated\",values:[\"all\",\"outliers\",\"suspectedoutliers\",!1],editType:\"calc\"},jitter:{valType:\"number\",min:0,max:1,editType:\"calc\"},pointpos:{valType:\"number\",min:-2,max:2,editType:\"calc\"},boxmean:{valType:\"enumerated\",values:[!0,\"sd\",!1],editType:\"calc\"},mean:{valType:\"data_array\",editType:\"calc\"},sd:{valType:\"data_array\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},quartilemethod:{valType:\"enumerated\",values:[\"linear\",\"exclusive\",\"inclusive\"],dflt:\"linear\",editType:\"calc\"},width:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},marker:{outliercolor:{valType:\"color\",dflt:\"rgba(0, 0, 0, 0)\",editType:\"style\"},symbol:l({},c.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:l({},c.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),size:l({},c.size,{arrayOk:!1,editType:\"calc\"}),color:l({},c.color,{arrayOk:!1,editType:\"style\"}),line:{color:l({},u.color,{arrayOk:!1,dflt:a.defaultLine,editType:\"style\"}),width:l({},u.width,{arrayOk:!1,dflt:0,editType:\"style\"}),outliercolor:{valType:\"color\",editType:\"style\"},outlierwidth:{valType:\"number\",min:0,dflt:1,editType:\"style\"},editType:\"style\"},editType:\"plot\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:n.fillcolor,whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},offsetgroup:i.offsetgroup,alignmentgroup:i.alignmentgroup,selected:{marker:n.selected.marker,editType:\"style\"},unselected:{marker:n.unselected.marker,editType:\"style\"},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),hovertemplate:s({}),hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"}}},{\"../../components/color/attributes\":365,\"../../lib/extend\":493,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633,\"../bar/attributes\":648,\"../scatter/attributes\":927}],674:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/cartesian/align_period\"),o=t(\"../../lib\"),s=t(\"../../constants/numerical\").BADNUM,l=o._;e.exports=function(t,e){var r,c,y,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||\"x\"),A=i.getFromId(t,e.yaxis||\"y\"),M=[],S=\"violin\"===e.type?\"_numViolins\":\"_numBoxes\";\"h\"===e.orientation?(y=k,x=\"x\",b=A,_=\"y\",w=!!e.yperiodalignment):(y=A,x=\"y\",b=k,_=\"x\",w=!!e.xperiodalignment);var E,L,C,P,I,O,z=function(t,e,r,i){var s,l=e+\"0\"in t,c=\"d\"+e in t;if(e in t||l&&c){var u=r.makeCalcdata(t,e);return[a(t,r,e,u).vals,u]}s=l?t[e+\"0\"]:\"name\"in t&&(\"category\"===r.type||n(t.name)&&-1!==[\"linear\",\"log\"].indexOf(r.type)||o.isDateTime(t.name)&&\"date\"===r.type)?t.name:i;for(var f=\"multicategory\"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+\"calendar\"]),h=t._length,p=new Array(h),d=0;dE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return y.d2c((e[t]||[])[r])},H=1/0,q=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var Y=V(\"lowerfence\");E.lf=Y!==s&&Y<=E.q1?Y:p(E,C,P);var W=V(\"upperfence\");E.uf=W!==s&&W>=E.q3?W:d(E,C,P);var X=V(\"mean\");E.mean=X!==s?X:P?o.mean(C,P):(E.q1+E.q3)/2;var Z=V(\"sd\");E.sd=X!==s&&Z>=0?Z:P?o.stdev(C,P,E.mean):E.q3-E.q1,E.lo=m(E),E.uo=g(E);var J=V(\"notchspan\");J=J!==s&&J>0?J:v(E,P),E.ln=E.med-J,E.un=E.med+J;var K=E.lf,Q=E.uf;e.boxpoints&&C.length&&(K=Math.min(K,C[0]),Q=Math.max(Q,C[P-1])),e.notched&&(K=Math.min(K,E.ln),Q=Math.max(Q,E.un)),E.min=K,E.max=Q}else{var $;o.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+E.q1,\"median = \"+E.med,\"q3 = \"+E.q3].join(\"\\n\")),$=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=$,E.q1=E.q3=$,E.lf=E.uf=$,E.mean=E.sd=$,E.ln=E.un=$,E.min=E.max=$}H=Math.min(H,E.min),q=Math.max(q,E.max),E.pts2=L.filter(j),M.push(E)}}e._extremes[y._id]=i.findExtremes(y,[H,q],{padded:!0})}else{var tt=y.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ut,ft;if((E={}).pos=E[_]=B[r],L=E.pts=nt[r].sort(f),P=(C=E[x]=L.map(h)).length,E.min=C[0],E.max=C[P-1],E.mean=o.mean(C,P),E.sd=o.stdev(C,P,E.mean),E.med=o.interp(C,.5),P%2&&(lt||ct))lt?(ut=C.slice(0,P/2),ft=C.slice(P/2+1)):ct&&(ut=C.slice(0,P/2+1),ft=C.slice(P/2)),E.q1=o.interp(ut,.5),E.q3=o.interp(ft,.5);else E.q1=o.interp(C,.25),E.q3=o.interp(C,.75);E.lf=p(E,C,P),E.uf=d(E,C,P),E.lo=m(E),E.uo=g(E);var ht=v(E,P);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=L.filter(j),M.push(E)}e._extremes[y._id]=i.findExtremes(y,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,\"median:\"),min:l(t,\"min:\"),q1:l(t,\"q1:\"),q3:l(t,\"q3:\"),max:l(t,\"max:\"),mean:\"sd\"===e.boxmean?l(t,\"mean \\xb1 \\u03c3:\"):l(t,\"mean:\"),lf:l(t,\"lower fence:\"),uf:l(t,\"upper fence:\")}},T[S]++,M):[{t:{empty:!0}}]};var c={text:\"tx\",hovertext:\"htx\"};function u(t,e,r){for(var n in c)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[c[n]]=e[n][r[0]][r[1]]):t[c[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function m(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function v(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/align_period\":551,\"../../plots/cartesian/axes\":554,\"fast-isnumeric\":190}],675:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/constraints\").getAxisGroup,o=[\"v\",\"h\"];function s(t,e,r,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],m=0;for(s=0;s1,b=1-f[t+\"gap\"],_=1-f[t+\"groupgap\"];for(s=0;s0){var q=E.pointpos,G=E.jitter,Y=E.marker.size/2,W=0;q+G>=0&&((W=V*(q+G))>M?(H=!0,j=Y,B=W):W>R&&(j=Y,B=M)),W<=M&&(B=M);var X=0;q-G<=0&&((X=-V*(q-G))>S?(H=!0,U=Y,N=X):X>F&&(U=Y,N=S)),X<=S&&(N=S)}else B=M,N=S;var Z=new Array(c.length);for(l=0;l0?(g=\"v\",v=x>0?Math.min(_,b):Math.min(b)):x>0?(g=\"h\",v=Math.min(_)):v=0;if(v){e._length=v;var S=r(\"orientation\",g);e._hasPreCompStats?\"v\"===S&&0===x?(r(\"x0\",0),r(\"dx\",1)):\"h\"===S&&0===y&&(r(\"y0\",0),r(\"dy\",1)):\"v\"===S&&0===x?r(\"x0\"):\"h\"===S&&0===y&&r(\"y0\"),i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,c,\"marker.outliercolor\"),s=r(\"marker.line.outliercolor\"),l=\"outliers\";e._hasPreCompStats?l=\"all\":(o||s)&&(l=\"suspectedoutliers\");var u=r(a+\"points\",l);u?(r(\"jitter\",\"all\"===u?.3:0),r(\"pointpos\",\"all\"===u?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.color\",e.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),\"suspectedoutliers\"===u&&(r(\"marker.line.outliercolor\",e.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\"),r(\"hovertext\")):delete e.marker;var f=r(\"hoveron\");\"all\"!==f&&-1===f.indexOf(\"points\")||r(\"hovertemplate\"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,c,r,i)}if(u(t,e,s,i),!1!==e.visible){o(t,e,i,s),s(\"xhoverformat\"),s(\"yhoverformat\");var l=e._hasPreCompStats;l&&(s(\"lowerfence\"),s(\"upperfence\")),s(\"line.color\",(t.marker||{}).color||r),s(\"line.width\"),s(\"fillcolor\",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s(\"mean\"),d=s(\"sd\");p&&p.length&&(h=!0,d&&d.length&&(h=\"sd\"))}s(\"boxmean\",h),s(\"whiskerwidth\"),s(\"width\"),s(\"quartilemethod\");var m=!1;if(l){var g=s(\"notchspan\");g&&g.length&&(m=!0)}else n.validate(t.notchwidth,c.notchwidth)&&(m=!0);s(\"notched\",m)&&s(\"notchwidth\"),f(t,e,s,{prefix:\"box\"})}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,c,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));h.enter().append(\"path\").classed(\"point\",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,c=e.pos,u=!!c.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll(\"path.mean\").data(\"box\"===r.type&&r.boxmean||\"violin\"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),d.exit().remove(),d.each((function(t){var e=c.c2l(t.pos+f,!0),i=c.l2p(e-o)+h,a=c.l2p(e+s)+h,d=u?(i+a)/2:c.l2p(e)+h,m=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),v=l.c2p(t.mean+t.sd,!0);\"h\"===r.orientation?n.select(this).attr(\"d\",\"M\"+m+\",\"+i+\"V\"+a+(\"sd\"===p?\"m0,0L\"+g+\",\"+d+\"L\"+m+\",\"+i+\"L\"+v+\",\"+d+\"Z\":\"\")):n.select(this).attr(\"d\",\"M\"+i+\",\"+m+\"H\"+a+(\"sd\"===p?\"m0,0L\"+d+\",\"+g+\"L\"+i+\",\"+m+\"L\"+d+\",\"+v+\"Z\":\"\"))}))}e.exports={plot:function(t,e,r,a){var c=e.xaxis,u=e.yaxis;i.makeTraceGroups(a,r,\"trace boxes\").each((function(t){var e,r,i=n.select(this),a=t[0],f=a.t,h=a.trace;(f.wdPos=f.bdPos*h.whiskerwidth,!0!==h.visible||f.empty)?i.remove():(\"h\"===h.orientation?(e=u,r=c):(e=c,r=u),o(i,{pos:e,val:r},h,f),s(i,{x:c,y:u},h,f),l(i,{pos:e,val:r},h,f))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},{\"../../components/drawing\":388,\"../../lib\":503,\"@plotly/d3\":58}],683:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var i=1/0,a=-1/0,o=e.length,s=0;s0?Math.floor:Math.ceil,I=L>0?Math.ceil:Math.floor,O=L>0?Math.min:Math.max,z=L>0?Math.max:Math.min,D=P(S+C),R=I(E-C),F=[[f=M(S)]];for(a=D;a*L=0;i--)a[u-i]=t[f][i],o[u-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],697:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib/extend\").extendFlat;e.exports=function(t,e,r){var a,o,s,l,c,u,f,h,p,d,m,g,v,y,x=t[\"_\"+e],b=t[e+\"axis\"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t[\"_\"+r],A=t[r+\"axis\"];\"array\"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,P=t._b.length;n.prepTicks(b),\"array\"===b.tickmode&&delete b.tickvals;var I=b.smoothing?3:1;function O(n){var i,a,o,s,l,c,u,f,p,d,m,g,v=[],y=[],x={};if(\"b\"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,a))),s=a-o,x.length=P,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),v.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),v.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(C-2,i))),u=i-c,x.length=C,x.crossLength=P,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a0&&(m=t.dxydj([],c,a-1,u,0),v.push(l[0]+m[0]/3),y.push(l[1]+m[1]/3),g=t.dxydj([],c,a-1,u,1),v.push(f[0]-g[0]/3),y.push(f[1]-g[1]/3)),v.push(f[0]),y.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=v,x.y=y,x.smoothing=A.smoothing,x}function z(n){var i,a,o,s,l,c=[],u=[],f={};if(f.length=x.length,f.crossLength=k.length,\"b\"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(z(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=u;hx.length-1||m<0||m>x.length-1))for(g=x[s],v=x[m],a=0;ax[x.length-1]||w.push(i(O(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(z(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(z(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=c[1],h=u;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(O(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=u-1;hx[x.length-1]||w.push(i(O(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(O(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(O(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{\"../../lib/extend\":493,\"../../plots/cartesian/axes\":554}],698:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib/extend\").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],712:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"./map_1d_array\"),o=t(\"./makepath\"),s=t(\"./orient_text\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../lib\"),u=c.strRotate,f=c.strTranslate,h=t(\"../../constants/alignment\");function p(t,e,r,s,l,c){var u=\"const-\"+l+\"-lines\",f=r.selectAll(\".\"+u).data(c);f.enter().append(\"path\").classed(u,!0).style(\"vector-effect\",\"non-scaling-stroke\"),f.each((function(r){var s=r,l=s.x,c=s.y,u=a([],l,t.c2p),f=a([],c,e.c2p),h=\"M\"+o(u,f,s.smoothing);n.select(this).attr(\"d\",h).style(\"stroke-width\",s.width).style(\"stroke\",s.color).style(\"stroke-dasharray\",i.dashStyle(s.dash,s.width)).style(\"fill\",\"none\")})),f.exit().remove()}function d(t,e,r,a,o,c,h,p){var d=c.selectAll(\"text.\"+p).data(h);d.enter().append(\"text\").classed(p,!0);var m=0,g={};return d.each((function(o,c){var h;if(\"auto\"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}c||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,v=n.select(this).attr({\"text-anchor\":d>0?\"start\":\"end\",\"data-notex\":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),y=i.bBox(this);v.attr(\"transform\",f(h.p[0],h.p[1])+u(h.angle)+f(o.axis.labelpadding*d,.3*y.height)),m=Math.max(m,y.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=m,g}e.exports=function(t,e,r,i){var l=e.xaxis,u=e.yaxis,f=t._fullLayout._clips;c.makeTraceGroups(i,r,\"trace\").each((function(e){var r=n.select(this),i=e[0],h=i.trace,m=h.aaxis,g=h.baxis,y=c.ensureSingle(r,\"g\",\"minorlayer\"),x=c.ensureSingle(r,\"g\",\"majorlayer\"),b=c.ensureSingle(r,\"g\",\"boundarylayer\"),_=c.ensureSingle(r,\"g\",\"labellayer\");r.style(\"opacity\",h.opacity),p(l,u,x,m,\"a\",m._gridlines),p(l,u,x,g,\"b\",g._gridlines),p(l,u,y,m,\"a\",m._minorgridlines),p(l,u,y,g,\"b\",g._minorgridlines),p(l,u,b,m,\"a-boundary\",m._boundarylines),p(l,u,b,g,\"b-boundary\",g._boundarylines);var w=d(t,l,u,h,i,_,m._labels,\"a-label\"),T=d(t,l,u,h,i,_,g._labels,\"b-label\");!function(t,e,r,n,i,a,o,l){var u,f,h,p,d=c.aggNums(Math.min,null,r.a),m=c.aggNums(Math.max,null,r.a),g=c.aggNums(Math.min,null,r.b),y=c.aggNums(Math.max,null,r.b);u=.5*(d+m),f=g,h=r.ab2xy(u,f,!0),p=r.dxyda_rough(u,f),void 0===o.angle&&c.extendFlat(o,s(r,i,a,h,r.dxydb_rough(u,f)));v(t,e,r,n,h,p,r.aaxis,i,a,o,\"a-title\"),u=d,f=.5*(g+y),h=r.ab2xy(u,f,!0),p=r.dxydb_rough(u,f),void 0===l.angle&&c.extendFlat(l,s(r,i,a,h,r.dxyda_rough(u,f)));v(t,e,r,n,h,p,r.baxis,i,a,l,\"b-title\")}(t,_,h,i,l,u,w,T),function(t,e,r,n,i){var s,l,u,f,h=r.select(\"#\"+t._clipPathId);h.size()||(h=r.append(\"clipPath\").classed(\"carpetclip\",!0));var p=c.ensureSingle(h,\"path\",\"carpetboundary\"),d=e.clipsegments,m=[];for(f=0;f90&&y<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+g)*m*a-_),b.attr(\"transform\",f(e.p[0],e.p[1])+u(e.angle)+f(0,_)).attr(\"text-anchor\",\"middle\").call(i.font,h.title.font)})),b.exit().remove()}},{\"../../components/drawing\":388,\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"./makepath\":709,\"./map_1d_array\":710,\"./orient_text\":711,\"@plotly/d3\":58}],713:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../lib/search\").findBin,a=t(\"./compute_control_points\"),o=t(\"./create_spline_evaluator\"),s=t(\"./create_i_derivative_evaluator\"),l=t(\"./create_j_derivative_evaluator\");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[c-1],m=r[0],g=r[u-1],v=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=v*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,m-=b,g+=b,t.isVisible=function(t,e){return t>p&&tm&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[c-1]|ir[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,m=0,g=0,v=[];ne[c-1]?(f=c-2,h=1,m=(n-e[c-1])/(e[c-1]-e[c-2])):h=o-(f=Math.max(0,Math.min(c-2,Math.floor(o)))),ir[u-1]?(p=u-2,d=1,g=(i-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),m&&(t.dxydi(v,f,p,h,d),l[0]+=v[0]*m,l[1]+=v[1]*m),g&&(t.dxydj(v,f,p,h,d),l[0]+=v[0]*g,l[1]+=v[1]*g)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{\"../../lib/search\":523,\"./compute_control_points\":701,\"./constants\":702,\"./create_i_derivative_evaluator\":703,\"./create_j_derivative_evaluator\":704,\"./create_spline_evaluator\":705}],714:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log(\"Smoother converged to\",k,\"after\",A,\"iterations\"),t}},{\"../../lib\":503}],715:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArray1D;e.exports=function(t,e,r){var i=r(\"x\"),a=i&&i.length,o=r(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{\"../../lib\":503}],716:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../scattergeo/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../components/color/attributes\").defaultLine,l=t(\"../../lib/extend\").extendFlat,c=i.marker.line;e.exports=l({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:i.locationmode,z:{valType:\"data_array\",editType:\"calc\"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},c.color,{dflt:s}),width:l({},c.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:i.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:l({},o.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},{\"../../components/color/attributes\":365,\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/template_attributes\":633,\"../scattergeo/attributes\":969}],717:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../../components/colorscale/calc\"),o=t(\"../scatter/arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\");function l(t){return t&&\"string\"==typeof t}e.exports=function(t,e){var r,c=e._length,u=new Array(c);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f\")}(t,f,o),[t]}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"./attributes\":716}],721:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../heatmap/colorbar\"),calc:t(\"./calc\"),calcGeoJSON:t(\"./plot\").calcGeoJSON,plot:t(\"./plot\").plot,style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"choropleth\",basePlotModule:t(\"../../plots/geo\"),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}},{\"../../plots/geo\":589,\"../heatmap/colorbar\":795,\"./attributes\":716,\"./calc\":717,\"./defaults\":718,\"./event_data\":719,\"./hover\":720,\"./plot\":722,\"./select\":723,\"./style\":724}],722:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../lib/geo_location_utils\"),o=t(\"../../lib/topojson_utils\").getTopojsonFeatures,s=t(\"../../plots/cartesian/autorange\").findExtremes,l=t(\"./style\").style;e.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,c=r._length,u=\"geojson-id\"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p=0;n--){var i=r[n].id;if(\"string\"==typeof i&&0===i.indexOf(\"water\"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup[\"trace-\"+r.uid];return t.map.addSource(a,{type:\"geojson\",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},{\"../../plots/mapbox/constants\":611,\"./convert\":726}],730:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../mesh3d/attributes\"),s=t(\"../../plots/attributes\"),l=t(\"../../lib/extend\").extendFlat,c={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"scaled\",\"absolute\"],editType:\"calc\",dflt:\"scaled\"},sizeref:{valType:\"number\",editType:\"calc\",min:0},anchor:{valType:\"enumerated\",editType:\"calc\",values:[\"tip\",\"tail\",\"cm\",\"center\"],dflt:\"cm\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:a({editType:\"calc\"},{keys:[\"norm\"]}),uhoverformat:i(\"u\",1),vhoverformat:i(\"v\",1),whoverformat:i(\"w\",1),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),showlegend:l({},s.showlegend,{dflt:!1})};l(c,n(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));[\"opacity\",\"lightposition\",\"lighting\"].forEach((function(t){c[t]=o[t]})),c.hoverinfo=l({},s.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),c.transforms=void 0,e.exports=c},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633,\"../mesh3d/attributes\":867}],731:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,c=0;co.level||o.starts.length&&a===o.level)}break;case\"constraint\":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r\":p>c&&(n.prefixBoundary=!0);break;case\"<\":(pc||n.starts.length&&h===u)&&(n.prefixBoundary=!0);break;case\"][\":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),fc&&(n.prefixBoundary=!0)}}}},{}],738:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale\"),i=t(\"./make_color_map\"),a=t(\"./end_plus\");e.exports={min:\"zmin\",max:\"zmax\",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,c=o.coloring,u=i(e,{isColorbar:!0});if(\"heatmap\"===c){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else\"fill\"===c&&(r._fillcolor=u);r._line={color:\"lines\"===c?u:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},{\"../../components/colorscale\":378,\"./end_plus\":746,\"./make_color_map\":751}],739:[function(t,e,r){\"use strict\";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],740:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./label_defaults\"),a=t(\"../../components/color\"),o=a.addOpacity,s=a.opacity,l=t(\"../../constants/filter_ops\"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,a,l,f){var h,p,d,m=e.contours,g=r(\"contours.operation\");(m._operation=c[g],function(t,e){var r;-1===u.indexOf(e.operation)?(t(\"contours.value\",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t(\"contours.value\",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,m),\"=\"===g?h=m.showlines=!0:(h=r(\"contours.showlines\"),d=r(\"fillcolor\",o((t.line||{}).color||l,.5))),h)&&(p=r(\"line.color\",d&&s(d)?o(e.fillcolor,1):l),r(\"line.width\",2),r(\"line.dash\"));r(\"line.smoothing\"),i(r,a,p,f)}},{\"../../components/color\":366,\"../../constants/filter_ops\":475,\"./label_defaults\":750,\"fast-isnumeric\":190}],741:[function(t,e,r){\"use strict\";var n=t(\"../../constants/filter_ops\"),i=t(\"fast-isnumeric\");function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}e.exports={\"[]\":o(\"[]\"),\"][\":o(\"][\"),\">\":s(\">\"),\"<\":s(\"<\"),\"=\":s(\"=\")}},{\"../../constants/filter_ops\":475,\"fast-isnumeric\":190}],742:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i=n(\"contours.start\"),a=n(\"contours.end\"),o=!1===i||!1===a,s=r(\"contours.size\");!(o?e.autocontour=!0:r(\"autocontour\",!1))&&s||r(\"ncontours\")}},{}],743:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}e.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case\"=\":case\"<\":return t;case\">\":for(1!==t.length&&n.warn(\"Contour data invalid for the specified inequality operation.\"),a=t[0],r=0;r1e3){n.warn(\"Too many contours, clipping at 1000\",t);break}return l}},{\"../../lib\":503,\"./constraint_mapping\":741,\"./end_plus\":746}],746:[function(t,e,r){\"use strict\";e.exports=function(t){return t.end+t.size/1e6}},{}],747:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./constants\");function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1;return[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,m=t.z[0].length,g=e.slice(),v=h.slice();for(c=0;c<1e4;c++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[u]=i.SADDLEREMAINDER[f]):delete t.crossings[u],!(h=i.NEWDELTA[f])){n.log(\"Found bad marching index:\",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],u=e.join(\",\"),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var y=h[0]&&(e[0]<0||e[0]>m-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&h[0]===v[0]&&h[1]===v[1]||r&&y)break;f=t.crossings[u]}1e4===c&&n.log(\"Infinite loop in contour?\");var x,b,_,w,T,k,A,M,S,E,L,C,P,I,O,z=a(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c=B;c--)if((x=F[c])=B&&x+F[b]M&&S--,t.edgepaths[S]=L.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;Mt?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,a,o,s,l,c,u,f,h=t[0].z,p=h.length,d=h[0].length,m=2===p||2===d;for(r=0;r=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):i.log(\"endpt to newendpt is not vert. or horz.\",r,n,y)}if(r=n,s>=0)break;f+=\"L\"+n}if(s===t.edgepaths.length){i.log(\"unclosed perimeter path\");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+=\"Z\")}for(h=0;hn.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(c)*o);if(h<1||p<1)return 1/0;var d=v.EDGECOST*(1/(h-1)+1/(p-1));d+=v.ANGLECOST*c*c;for(var m=s-u,g=l-f,y=s+u,x=l+f,b=0;b2*v.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(h<=v.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,c=t.theta,u=Math.sin(c),f=Math.cos(c),h=function(t,e){return[s+t*f-e*u,l+t*u+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:c,level:e.level,width:a,height:o}),n.push(p)},r.drawLabels=function(t,e,r,a,o){var l=t.selectAll(\"text\").data(e,(function(t){return t.text+\",\"+t.x+\",\"+t.y+\",\"+t.theta}));if(l.exit().remove(),l.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:\"rotate(\"+180*t.theta/Math.PI+\" \"+e+\" \"+i+\")\"}).call(s.convertToTspans,r)})),o){for(var c=\"\",u=0;ur.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if(\"constraint\"!==r.type){var c,u=r.start,f=r.end,h=t._input.contours;if(u>f&&(r.start=h.start=f,f=r.end=h.end=u,u=r.start),!(r.size>0))c=u===f?1:a(u,f,t.ncontours).dtick,h.size=r.size=c}}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554}],755:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"../heatmap/style\"),o=t(\"./make_color_map\");e.exports=function(t){var e=n.select(t).selectAll(\"g.contour\");e.style(\"opacity\",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u=\"constraint\"===a.type,f=!u&&\"lines\"===a.coloring,h=!u&&\"fill\"===a.coloring,p=f||h?o(r):null;e.selectAll(\"g.contourlevel\").each((function(t){n.select(this).selectAll(\"path\").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll(\"g.contourlabels text\").each((function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),u)e.selectAll(\"g.contourfill path\").style(\"fill\",r.fillcolor);else if(h){var m;e.selectAll(\"g.contourfill path\").style(\"fill\",(function(t){return void 0===m&&(m=t.level),p(t.level+.5*l)})),void 0===m&&(m=c),e.selectAll(\"g.contourbg path\").style(\"fill\",p(m-.5*l))}})),a(t)}},{\"../../components/drawing\":388,\"../heatmap/style\":805,\"./make_color_map\":751,\"@plotly/d3\":58}],756:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/defaults\"),i=t(\"./label_defaults\");e.exports=function(t,e,r,a,o){var s,l=r(\"contours.coloring\"),c=\"\";\"fill\"===l&&(s=r(\"contours.showlines\")),!1!==s&&(\"lines\"!==l&&(c=r(\"line.color\",\"#000\")),r(\"line.width\",.5),r(\"line.dash\")),\"none\"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:\"\",cLetter:\"z\"})),r(\"line.smoothing\"),i(r,a,c,o)}},{\"../../components/colorscale/defaults\":376,\"./label_defaults\":750}],757:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/attributes\"),i=t(\"../contour/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../lib/extend\").extendFlat,s=i.contours;e.exports=o({carpet:{valType:\"string\",editType:\"calc\"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:\"plot\"},transforms:void 0},a(\"\",{cLetter:\"z\",autoColorDflt:!1}))},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../contour/attributes\":735,\"../heatmap/attributes\":792}],758:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\"),i=t(\"../../lib\"),a=t(\"../heatmap/convert_column_xyz\"),o=t(\"../heatmap/clean_2d_array\"),s=t(\"../heatmap/interp2d\"),l=t(\"../heatmap/find_empties\"),c=t(\"../heatmap/make_bound_array\"),u=t(\"./defaults\"),f=t(\"../carpet/lookup_carpetid\"),h=t(\"../contour/set_contours\");e.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),u(d,e,e._defaultColor,t._fullLayout)}var m=function(t,e){var r,u,f,h,p,d,m,g=e._carpetTrace,v=g.aaxis,y=g.baxis;v._minDtick=0,y._minDtick=0,i.isArray1D(e.z)&&a(e,v,y,\"a\",\"b\",[\"z\"]);r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?v.makeCalcdata(e,\"_a\"):[],h=h?y.makeCalcdata(e,\"_b\"):[],u=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,m=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(m),s(m,e._emptypoints);var x=i.maxRowLength(m),b=\"scaled\"===e.xtype?\"\":r,_=c(e,b,u,f,x,v),w=\"scaled\"===e.ytype?\"\":h,T=c(e,w,p,d,m.length,y),k={a:_,b:T,z:m};\"levels\"===e.contours.type&&\"none\"!==e.contours.coloring&&n(t,e,{vals:m,containerStr:\"\",cLetter:\"z\"});return[k]}(t,e);return h(e,e._z),m}}},{\"../../components/colorscale/calc\":374,\"../../lib\":503,\"../carpet/lookup_carpetid\":708,\"../contour/set_contours\":754,\"../heatmap/clean_2d_array\":794,\"../heatmap/convert_column_xyz\":796,\"../heatmap/find_empties\":798,\"../heatmap/interp2d\":801,\"../heatmap/make_bound_array\":803,\"./defaults\":759}],759:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../heatmap/xyz_defaults\"),a=t(\"./attributes\"),o=t(\"../contour/constraint_defaults\"),s=t(\"../contour/contours_defaults\"),l=t(\"../contour/style_defaults\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,a,r,i)}if(u(\"carpet\"),t.a&&t.b){if(!i(t,e,u,c,\"a\",\"b\"))return void(e.visible=!1);u(\"text\"),\"constraint\"===u(\"contours.type\")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{\"../../lib\":503,\"../contour/constraint_defaults\":740,\"../contour/contours_defaults\":742,\"../contour/style_defaults\":756,\"../heatmap/xyz_defaults\":807,\"./attributes\":757}],760:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../contour/colorbar\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../contour/style\"),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}},{\"../../plots/cartesian\":568,\"../contour/colorbar\":738,\"../contour/style\":755,\"./attributes\":757,\"./calc\":758,\"./defaults\":759,\"./plot\":761}],761:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../carpet/map_1d_array\"),a=t(\"../carpet/makepath\"),o=t(\"../../components/drawing\"),s=t(\"../../lib\"),l=t(\"../contour/make_crossings\"),c=t(\"../contour/find_all_paths\"),u=t(\"../contour/plot\"),f=t(\"../contour/constants\"),h=t(\"../contour/convert_to_constraints\"),p=t(\"../contour/empty_pathinfo\"),d=t(\"../contour/close_boundaries\"),m=t(\"../carpet/lookup_carpetid\"),g=t(\"../carpet/axis_aligned_line\");function v(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function y(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}e.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,\"contour\").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=m(t,k),M=t.calcdata[A.index][0];if(A.visible&&\"legendonly\"!==A.visible){var S=T.a,E=T.b,L=k.contours,C=p(L,e,T),P=\"constraint\"===L.type,I=L._operation,O=P?\"=\"===I?\"lines\":\"fill\":L.coloring,z=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);c(C,D,R);var F,B,N,j,U=C;\"constraint\"===L.type&&(U=h(C,I)),function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var H=\"M\"+V.join(\"L\")+\"Z\";!function(t,e,r,n,o,l){var c,u,f,h,p=s.ensureSingle(t,\"g\",\"contourbg\").selectAll(\"path\").data(\"fill\"!==l||o?[]:[0]);p.enter().append(\"path\"),p.exit().remove();var d=[];for(h=0;h=0&&(h=L,d=m):Math.abs(f[1]-h[1])=0&&(h=L,d=m):s.log(\"endpt to newendpt is not vert. or horz.\",f,h,L)}if(d>=0)break;y+=S(f,h),f=h}if(d===e.edgepaths.length){s.log(\"unclosed perimeter path\");break}u=d,(b=-1===x.indexOf(u))&&(u=x[0],y+=S(f,h)+\"Z\",f=null)}for(u=0;ug&&(n.max=g);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*f.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/I),f.LABELMAX),a=0;a0?+p[u]:0),f.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:v},properties:y})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(u=1;u<_.length;u++)T.push(_[u][0],_[u][1]);var k=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return i.extendFlat(c.heatmap.paint,{\"heatmap-weight\":d?k:1/(b.max-b.min),\"heatmap-color\":T,\"heatmap-radius\":m?{type:\"identity\",property:\"r\"}:e.radius,\"heatmap-opacity\":e.opacity}),c.geojson={type:\"FeatureCollection\",features:f},c.heatmap.layout.visibility=\"visible\",c}},{\"../../components/color\":366,\"../../components/colorscale\":378,\"../../constants/numerical\":479,\"../../lib\":503,\"../../lib/geojson_utils\":497,\"fast-isnumeric\":190}],765:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"lon\")||[],c=s(\"lat\")||[],u=Math.min(l.length,c.length);u?(e._length=u,s(\"z\"),s(\"radius\"),s(\"below\"),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),i(t,e,o,s,{prefix:\"\",cLetter:\"z\"})):e.visible=!1}},{\"../../components/colorscale/defaults\":376,\"../../lib\":503,\"./attributes\":762}],766:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},{}],767:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../scattermapbox/hover\").hoverPoints,a=t(\"../scattermapbox/hover\").getExtraText;e.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,\"z\"in u){var f=s.subplot.mockAxis;s.z=u.z,s.zLabel=n.tickText(f,f.c2l(u.z),\"hover\").text}return s.extraText=a(c,u,l[0].t.labels),[s]}}},{\"../../plots/cartesian/axes\":554,\"../scattermapbox/hover\":998}],768:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../heatmap/colorbar\"),formatLabels:t(\"../scattermapbox/format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup[\"trace-\"+r.uid];return t.map.addSource(o,{type:\"geojson\",data:s.geojson}),i._addLayers(s,l),i}},{\"../../plots/mapbox/constants\":611,\"./convert\":764}],770:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){for(var r=0;r\"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;if(n(i))return i;if(n(a)&&o)return a}(u,h),[l]}}},{\"../../components/color\":366,\"../../lib\":503,\"../bar/hover\":655}],778:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\"),plot:t(\"./plot\"),style:t(\"./style\").style,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"../bar/select\"),moduleType:\"trace\",name:\"funnel\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":568,\"../bar/select\":660,\"./attributes\":771,\"./calc\":772,\"./cross_trace_calc\":774,\"./defaults\":775,\"./event_data\":776,\"./hover\":777,\"./layout_attributes\":779,\"./layout_defaults\":780,\"./plot\":781,\"./style\":782}],779:[function(t,e,r){\"use strict\";e.exports={funnelmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},funnelgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},funnelgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},{}],780:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path\").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style(\"opacity\",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(\".regions\").each((function(){n.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(\".lines\").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll(\"path\"),t.width,t.color,t.dash)}))}))}}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../constants/interactions\":478,\"../bar/style\":662,\"../bar/uniform_text\":664,\"@plotly/d3\":58}],783:[function(t,e,r){\"use strict\";var n=t(\"../pie/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../plots/domain\").attributes,o=t(\"../../plots/template_attributes\").hovertemplateAttrs,s=t(\"../../plots/template_attributes\").texttemplateAttrs,l=t(\"../../lib/extend\").extendFlat;e.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:\"calc\"},editType:\"calc\"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:s({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hoverinfo:l({},i.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:o({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),textposition:l({},n.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:a({name:\"funnelarea\",trace:!0,editType:\"calc\"}),aspectratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},baseratio:{valType:\"number\",min:0,max:1,dflt:.333,editType:\"plot\"}}},{\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/domain\":584,\"../../plots/template_attributes\":633,\"../pie/attributes\":901}],784:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"funnelarea\",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{\"../../plots/plots\":619}],785:[function(t,e,r){\"use strict\";var n=t(\"../pie/calc\");e.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:\"funnelarea\"})}}},{\"../pie/calc\":903}],786:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../plots/domain\").defaults,o=t(\"../bar/defaults\").handleText,s=t(\"../pie/defaults\").handleLabelsAndValues;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}var u=c(\"labels\"),f=c(\"values\"),h=s(u,f),p=h.len;if(e._hasLabels=h.hasLabels,e._hasValues=h.hasValues,!e._hasLabels&&e._hasValues&&(c(\"label0\"),c(\"dlabel\")),p){e._length=p,c(\"marker.line.width\")&&c(\"marker.line.color\",l.paper_bgcolor),c(\"marker.colors\"),c(\"scalegroup\");var d,m=c(\"text\"),g=c(\"texttemplate\");if(g||(d=c(\"textinfo\",Array.isArray(m)?\"text+percent\":\"percent\")),c(\"hovertext\"),c(\"hovertemplate\"),g||d&&\"none\"!==d){var v=c(\"textposition\");o(t,e,l,c,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}a(e,l,c),c(\"title.text\")&&(c(\"title.position\"),n.coerceFont(c,\"title.font\",l.font)),c(\"aspectratio\"),c(\"baseratio\")}else e.visible=!1}},{\"../../lib\":503,\"../../plots/domain\":584,\"../bar/defaults\":652,\"../pie/defaults\":904,\"./attributes\":783}],787:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:t(\"./base_plot\"),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),style:t(\"./style\"),styleOne:t(\"../pie/style_one\"),meta:{}}},{\"../pie/style_one\":912,\"./attributes\":783,\"./base_plot\":784,\"./calc\":785,\"./defaults\":786,\"./layout_attributes\":788,\"./layout_defaults\":789,\"./plot\":790,\"./style\":791}],788:[function(t,e,r){\"use strict\";var n=t(\"../pie/layout_attributes\").hiddenlabels;e.exports={hiddenlabels:n,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{\"../pie/layout_attributes\":908}],789:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"hiddenlabels\"),r(\"funnelareacolorway\",e.colorway),r(\"extendfunnelareacolors\")}},{\"../../lib\":503,\"./layout_attributes\":788}],790:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"../../lib\"),o=a.strScale,s=a.strTranslate,l=t(\"../../lib/svg_text_utils\"),c=t(\"../bar/plot\").toMoveInsideBar,u=t(\"../bar/uniform_text\"),f=u.recordMinTextSize,h=u.clearMinTextSize,p=t(\"../pie/helpers\"),d=t(\"../pie/plot\"),m=d.attachFxHandlers,g=d.determineInsideTextFont,v=d.layoutAreas,y=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return\"l\"+(e[0]-t[0])+\",\"+(e[1]-t[1])}e.exports=function(t,e){var r=t._fullLayout;h(\"funnelarea\",r),y(e,t),v(e,r._size),a.makeTraceGroups(r._funnelarealayer,e,\"trace\").each((function(e){var u=n.select(this),h=e[0],d=h.trace;!function(t){if(!t.length)return;var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o=Math.pow(i,2),s=e.vTotal,l=s,c=s*o/(1-o)/s;function u(){var t,e={x:t=Math.sqrt(c),y:-t};return[e.x,e.y]}var f,h,p=[];for(p.push(u()),f=t.length-1;f>-1;f--)if(!(h=t[f]).hidden){var d=h.v/l;c+=d,p.push(u())}var m=1/0,g=-1/0;for(f=0;f-1;f--)if(!(h=t[f]).hidden){var A=p[k+=1][0],M=p[k][1];h.TL=[-A,M],h.TR=[A,M],h.BL=w,h.BR=T,h.pxmid=(S=h.TR,E=h.BR,[.5*(S[0]+E[0]),.5*(S[1]+E[1])]),w=h.TL,T=h.TR}var S,E}(e),u.each((function(){var u=n.select(this).selectAll(\"g.slice\").data(e);u.enter().append(\"g\").classed(\"slice\",!0),u.exit().remove(),u.each((function(o,s){if(o.hidden)n.select(this).selectAll(\"path,g\").remove();else{o.pointNumber=o.i,o.curveNumber=d.index;var u=h.cx,v=h.cy,y=n.select(this),x=y.selectAll(\"path.surface\").data([o]);x.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":\"all\"}),y.call(m,t,e);var w=\"M\"+(u+o.TR[0])+\",\"+(v+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+\"Z\";x.attr(\"d\",w),b(t,o,h);var T=p.castOption(d.textposition,o.pts),k=y.selectAll(\"g.slicetext\").data(o.text&&\"none\"!==T?[0]:[]);k.enter().append(\"g\").classed(\"slicetext\",!0),k.exit().remove(),k.each((function(){var h=a.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),p=a.ensureUniformFontSize(t,g(d,o,r.font));h.text(o.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(i.font,p).call(l.convertToTspans,t);var m,y,x,b=i.bBox(h.node()),_=Math.min(o.BL[1],o.BR[1])+v,w=Math.max(o.TL[1],o.TR[1])+v;y=Math.max(o.TL[0],o.BL[0])+u,x=Math.min(o.TR[0],o.BR[0])+u,(m=c(y,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"})).fontSize=p.size,f(d.type,m,r),e[s].transform=m,h.attr(\"transform\",a.getTextTransform(m))}))}}));var v=n.select(this).selectAll(\"g.titletext\").data(d.title.text?[0]:[]);v.enter().append(\"g\").classed(\"titletext\",!0),v.exit().remove(),v.each((function(){var e=a.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),c=d.title.text;d._meta&&(c=a.templateString(c,d._meta)),e.text(c).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(i.font,d.title.font).call(l.convertToTspans,t);var u=x(h,r._size);e.attr(\"transform\",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../bar/plot\":659,\"../bar/uniform_text\":664,\"../pie/helpers\":906,\"../pie/plot\":910,\"@plotly/d3\":58}],791:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../pie/style_one\"),a=t(\"../bar/uniform_text\").resizeText;e.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(\".trace\");a(t,e,\"funnelarea\"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(\"path.surface\").each((function(t){n.select(this).call(i,t,e)}))}))}},{\"../bar/uniform_text\":664,\"../pie/style_one\":912,\"@plotly/d3\":58}],792:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../plots/font_attributes\"),o=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../plots/template_attributes\").texttemplateAttrs,c=t(\"../../components/colorscale/attributes\"),u=t(\"../../lib/extend\").extendFlat;e.exports=u({z:{valType:\"data_array\",editType:\"calc\"},x:u({},n.x,{impliedEdits:{xtype:\"array\"}}),x0:u({},n.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:u({},n.dx,{impliedEdits:{xtype:\"scaled\"}}),y:u({},n.y,{impliedEdits:{ytype:\"array\"}}),y0:u({},n.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:u({},n.dy,{impliedEdits:{ytype:\"scaled\"}}),xperiod:u({},n.xperiod,{impliedEdits:{xtype:\"scaled\"}}),yperiod:u({},n.yperiod,{impliedEdits:{ytype:\"scaled\"}}),xperiod0:u({},n.xperiod0,{impliedEdits:{xtype:\"scaled\"}}),yperiod0:u({},n.yperiod0,{impliedEdits:{ytype:\"scaled\"}}),xperiodalignment:u({},n.xperiodalignment,{impliedEdits:{xtype:\"scaled\"}}),yperiodalignment:u({},n.yperiodalignment,{impliedEdits:{ytype:\"scaled\"}}),text:{valType:\"data_array\",editType:\"calc\"},hovertext:{valType:\"data_array\",editType:\"calc\"},transpose:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xtype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},ytype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",\"best\",!1],dflt:!1,editType:\"calc\"},hoverongaps:{valType:\"boolean\",dflt:!0,editType:\"none\"},connectgaps:{valType:\"boolean\",editType:\"calc\"},xgap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},ygap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),zhoverformat:o(\"z\",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:\"plot\"},{keys:[\"x\",\"y\",\"z\",\"text\"]}),textfont:a({editType:\"plot\",autoSize:!0,autoColor:!0,colorEditType:\"style\"}),showlegend:u({},i.showlegend,{dflt:!1})},{transforms:void 0},c(\"\",{cLetter:\"z\",autoColorDflt:!1}))},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/font_attributes\":585,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927}],793:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../plots/cartesian/align_period\"),s=t(\"../histogram2d/calc\"),l=t(\"../../components/colorscale/calc\"),c=t(\"./convert_column_xyz\"),u=t(\"./clean_2d_array\"),f=t(\"./interp2d\"),h=t(\"./find_empties\"),p=t(\"./make_bound_array\"),d=t(\"../../constants/numerical\").BADNUM;function m(t){for(var e=[],r=t.length,n=0;nD){O(\"x scale is not linear\");break}}if(x.length&&\"fast\"===P){var R=(x[x.length-1]-x[0])/(x.length-1),F=Math.abs(R/100);for(k=0;kF){O(\"y scale is not linear\");break}}}var B=i.maxRowLength(T),N=\"scaled\"===e.xtype?\"\":r,j=p(e,N,g,v,B,M),U=\"scaled\"===e.ytype?\"\":x,V=p(e,U,b,_,T.length,S);C||(e._extremes[M._id]=a.findExtremes(M,j),e._extremes[S._id]=a.findExtremes(S,V));var H={x:j,y:V,z:T,text:e._text||e.text,hovertext:e._hovertext||e.hovertext};if(e.xperiodalignment&&y&&(H.orig_x=y),e.yperiodalignment&&w&&(H.orig_y=w),N&&N.length===j.length-1&&(H.xCenter=N),U&&U.length===V.length-1&&(H.yCenter=U),L&&(H.xRanges=A.xRanges,H.yRanges=A.yRanges,H.pts=A.pts),E||l(t,e,{vals:T,cLetter:\"z\"}),E&&e.contours&&\"heatmap\"===e.contours.coloring){var q={type:\"contour\"===e.type?\"heatmap\":\"histogram2d\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};H.xfill=p(q,N,g,v,B,M),H.yfill=p(q,U,b,_,T.length,S)}return[H]}},{\"../../components/colorscale/calc\":374,\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/align_period\":551,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"../histogram2d/calc\":826,\"./clean_2d_array\":794,\"./convert_column_xyz\":796,\"./find_empties\":798,\"./interp2d\":801,\"./make_bound_array\":803}],794:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r,o){var s,l,c,u,f,h;function p(t){if(n(t))return+t}if(e&&e.transpose){for(s=0,f=0;f=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||m)[2]+(f[[r+1,i]]||m)[2]+(f[[r,i-1]]||m)[2]+(f[[r,i+1]]||m)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw\"findEmpties iterated with no new neighbors\";for(a in l)f[a]=l[a],u.push(l[a])}return u.sort((function(t,e){return e[2]-t[2]}))}},{\"../../lib\":503}],799:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../components/colorscale\").extractOpts;e.exports=function(t,e,r,s,l){l||(l={});var c,u,f,h,p=l.isContour,d=t.cd[0],m=d.trace,g=t.xa,v=t.ya,y=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,T=d.zmask,k=m.zhoverformat,A=y,M=x;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index)}if(f<0||f>=b[0].length||h<0||h>b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(p){var S;for(A=[2*y[0]-y[1]],S=1;Sm&&(v=Math.max(v,Math.abs(t[a][o]-d)/(g-m))))}return v}e.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log(\"interp2d didn't converge quickly\",i),t}},{\"../../lib\":503}],802:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){t(\"texttemplate\");var r=n.extendFlat({},e.font,{color:\"auto\",size:\"auto\"});n.coerceFont(t,\"textfont\",r)}},{\"../../lib\":503}],803:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,a,o,s){var l,c,u,f=[],h=n.traceIs(t,\"contour\"),p=n.traceIs(t,\"histogram\"),d=n.traceIs(t,\"gl2d\");if(i(e)&&e.length>1&&!p&&\"category\"!==s.type){var m=e.length;if(!(m<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],u=1;u0;)_=w.c2p(R[S]),S--;for(_0;)M=T.c2p(F[S]),S--;if(MGt||Gt>T._length))for(E=Ut;EWt||Wt>w._length)){var Xt=u({x:Yt,y:qt},I,t._fullLayout);Xt.x=Yt,Xt.y=qt;var Zt=P.z[S][E];void 0===Zt?(Xt.z=\"\",Xt.zLabel=\"\"):(Xt.z=Zt,Xt.zLabel=s.tickText(Ft,Zt,\"hover\").text);var Jt=P.text&&P.text[S]&&P.text[S][E];void 0!==Jt&&!1!==Jt||(Jt=\"\"),Xt.text=Jt;var Kt=l.texttemplateString(Dt,Xt,t._fullLayout._d3locale,Xt,I._meta||{});if(Kt){var Qt=Kt.split(\"
\"),$t=Qt.length,te=0;for(L=0;L<$t;L++)te=Math.max(te,Qt[L].length);Ht.push({l:$t,c:te,t:Kt,x:Wt,y:Gt,z:Zt})}}}}var ee=I.textfont,re=ee.family,ne=ee.size,ie=t._fullLayout.font.size;if(!ne||\"auto\"===ne){var ae=1/0,oe=1/0,se=0,le=0;for(L=0;L0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split(\"-\");return\"\"===n[0]&&(n.unshift(),n[0]=\"-\"+n[0]),n}e.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,h=-.1*e,p=t-h,d=r[0],m=r[1],g=Math.min(f(d+h,d+p,n,a),f(m+h,m+p,n,a)),v=Math.min(f(d+c,d+h,n,a),f(m+c,m+h,n,a));if(g>v&&vo){var y=s===i?1:6,x=s===i?\"M12\":\"M1\";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf(\"-\",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(cr.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),z.start=r.l2r(j),F||i.nestedProperty(e,v+\".start\").set(z.start)}var U=b.end,V=r.r2l(O.end),H=void 0!==V;if((b.endFound||H)&&V!==r.r2l(U)){var q=H?V:i.aggNums(Math.max,null,d);z.end=r.l2r(q),H||i.nestedProperty(e,v+\".start\").set(z.end)}var G=\"autobin\"+s;return!1===e._input[G]&&(e._input[v]=i.extendFlat({},e[v]||{}),delete e._input[G],delete e[G]),[z,d]}e.exports={calc:function(t,e){var r,a,p,d,m=[],g=[],v=\"h\"===e.orientation,y=o.getFromId(t,v?e.yaxis:e.xaxis),x=v?\"y\":\"x\",b={x:\"y\",y:\"x\"}[x],_=e[x+\"calendar\"],w=e.cumulative,T=h(t,e,y,x),k=T[0],A=T[1],M=\"string\"==typeof k.size,S=[],E=M?S:k,L=[],C=[],P=[],I=0,O=e.histnorm,z=e.histfunc,D=-1!==O.indexOf(\"density\");w.enabled&&D&&(O=O.replace(/ ?density$/,\"\"),D=!1);var R,F=\"max\"===z||\"min\"===z?null:0,B=l.count,N=c[O],j=!1,U=function(t){return y.r2c(t,0,_)};for(i.isArrayOrTypedArray(e[b])&&\"count\"!==z&&(R=e[b],j=\"avg\"===z,B=l[z]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,_))/1e6;r=0&&d=0;n--)s(n);else if(\"increasing\"===e){for(n=1;n=0;n--)t[n]+=t[n+1];\"exclude\"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var K=Math.min(m.length,g.length),Q=[],$=0,tt=K-1;for(r=0;r=$;r--)if(g[r]){tt=r;break}for(r=$;r<=tt;r++)if(n(m[r])&&n(g[r])){var et={p:m[r],s:g[r],b:0};w.enabled||(et.pts=P[r],Y?et.ph0=et.ph1=P[r].length?A[P[r][0]]:m[r]:(e._computePh=!0,et.ph0=q(S[r]),et.ph1=q(S[r+1],!0))),Q.push(et)}return 1===Q.length&&(Q[0].width1=o.tickIncrement(Q[0].p,k.size,!1,_)-Q[0].p),s(Q,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected(Q,e,Z),Q},calcAllAutoBins:h}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"../bar/arrays_to_calcdata\":647,\"./average\":813,\"./bin_functions\":815,\"./bin_label_vals\":816,\"./norm_functions\":824,\"fast-isnumeric\":190}],818:[function(t,e,r){\"use strict\";e.exports={eventDataKeys:[\"binNumber\"]}},{}],819:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axis_ids\"),a=t(\"../../registry\").traceIs,o=t(\"../bar/defaults\").handleGroupingDefaults,s=n.nestedProperty,l=t(\"../../plots/cartesian/constraints\").getAxisGroup,c=[{aStr:{x:\"xbins.start\",y:\"ybins.start\"},name:\"start\"},{aStr:{x:\"xbins.end\",y:\"ybins.end\"},name:\"end\"},{aStr:{x:\"xbins.size\",y:\"ybins.size\"},name:\"size\"},{aStr:{x:\"nbinsx\",y:\"nbinsy\"},name:\"nbins\"}],u=[\"x\",\"y\"];e.exports=function(t,e){var r,f,h,p,d,m,g,v=e._histogramBinOpts={},y=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return\"v\"===t.orientation?\"x\":\"y\"}function T(t,r,a){var o=t.uid+\"__\"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+\"calendar\"]||\"\",c=v[r],u=!0;c&&(s===c.axType&&l===c.calendar?(u=!1,c.traces.push(t),c.dirs.push(a)):(r=o,s!==c.axType&&n.warn([\"Attempted to group the bins of trace\",t.index,\"set on a\",\"type:\"+s,\"axis\",\"with bins on\",\"type:\"+c.axType,\"axis.\"].join(\" \")),l!==c.calendar&&n.warn([\"Attempted to group the bins of trace\",t.index,\"set with a\",l,\"calendar\",\"with bins\",c.calendar?\"on a \"+c.calendar+\" calendar\":\"w/o a set calendar\"].join(\" \")))),u&&(v[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+\"calendar\"]||\"\"}),t[\"_\"+a+\"bingroup\"]=r}for(d=0;dS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],P=\"string\"==typeof w.size,I=\"string\"==typeof A.size,O=[],z=[],D=P?O:w,R=I?z:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf(\"density\"),H=\"max\"===U||\"min\"===U?null:0,q=a.count,G=o[j],Y=!1,W=[],X=[],Z=\"z\"in e?e.z:\"marker\"in e&&Array.isArray(e.marker.color)?e.marker.color:\"\";Z&&\"count\"!==U&&(Y=\"avg\"===U,q=a[U]);var J=w.size,K=x(w.start),Q=x(w.end)+(K-i.tickIncrement(K,J,!1,v))/1e6;for(r=K;r=0&&p=0&&d-1,flipY:E.tiling.flip.indexOf(\"y\")>-1,orientation:E.tiling.orientation,pad:{inner:E.tiling.pad},maxDepth:E._maxDepth}).descendants(),O=1/0,z=-1/0;I.forEach((function(t){var e=t.depth;e>=E._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(O=Math.min(O,e),z=Math.max(z,e))})),p=p.data(I,u.getPtId),E._maxVisibleLayers=isFinite(z)?z-O+1:0,p.enter().append(\"g\").classed(\"slice\",!0),T(p,!1,{},[m,g],x),p.order();var D=null;if(w&&M){var R=u.getPtId(M);p.each((function(t){null===D&&u.getPtId(t)===R&&(D={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var F=function(){return D||{x0:0,x1:m,y0:0,y1:g}},B=p;return w&&(B=B.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),B.each((function(s){s._x0=v(s.x0),s._x1=v(s.x1),s._y0=y(s.y0),s._y1=y(s.y1),s._hoverX=v(s.x1-E.tiling.pad),s._hoverY=y(P?s.y1-E.tiling.pad/2:s.y0+E.tiling.pad/2);var p=n.select(this),d=i.ensureSingle(p,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",\"all\")}));w?d.transition().attrTween(\"d\",(function(t){var e=k(t,!1,F(),[m,g],{orientation:E.tiling.orientation,flipX:E.tiling.flip.indexOf(\"x\")>-1,flipY:E.tiling.flip.indexOf(\"y\")>-1});return function(t){return x(e(t))}})):d.attr(\"d\",x),p.call(f,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),d.call(l,s,E,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text=\"\":s._text=h(s,r,E,e,S)||\"\";var T=i.ensureSingle(p,\"g\",\"slicetext\"),M=i.ensureSingle(T,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),I=i.ensureUniformFontSize(t,u.determineTextFont(E,s,S.font));M.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",C?\"end\":L?\"start\":\"middle\").call(a.font,I).call(o.convertToTspans,t),s.textBB=a.bBox(M.node()),s.transform=b(s,{fontSize:I.size}),s.transform.fontSize=I.size,w?M.transition().attrTween(\"transform\",(function(t){var e=A(t,!1,F(),[m,g]);return function(t){return _(e(t))}})):M.attr(\"transform\",_(s))})),D}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../sunburst/fx\":1054,\"../sunburst/helpers\":1055,\"../sunburst/plot\":1059,\"../treemap/constants\":1078,\"./partition\":842,\"./style\":844,\"@plotly/d3\":58}],839:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:t(\"./base_plot\"),categories:[],animatable:!0,attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),style:t(\"./style\").style,colorbar:t(\"../scatter/marker_colorbar\"),meta:{}}},{\"../scatter/marker_colorbar\":945,\"./attributes\":834,\"./base_plot\":835,\"./calc\":836,\"./defaults\":837,\"./layout_attributes\":840,\"./layout_defaults\":841,\"./plot\":843,\"./style\":844}],840:[function(t,e,r){\"use strict\";e.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{}],841:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"iciclecolorway\",e.colorway),r(\"extendiciclecolors\")}},{\"../../lib\":503,\"./layout_attributes\":840}],842:[function(t,e,r){\"use strict\";var n=t(\"d3-hierarchy\"),i=t(\"../treemap/flip_tree\");e.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s=\"h\"===r.orientation,l=r.maxDepth,c=e[0],u=e[1];l&&(c=(t.height+1)*e[0]/Math.min(t.height+1,l),u=(t.height+1)*e[1]/Math.min(t.height+1,l));var f=n.partition().padding(r.pad.inner).size(s?[e[1],c]:[e[0],u])(t);return(s||a||o)&&i(f,e,{swapXY:s,flipX:a,flipY:o}),f}},{\"../treemap/flip_tree\":1083,\"d3-hierarchy\":115}],843:[function(t,e,r){\"use strict\";var n=t(\"../treemap/draw\"),i=t(\"./draw_descendants\");e.exports=function(t,e,r,a){return n(t,e,r,a,{type:\"icicle\",drawDescendants:i})}},{\"../treemap/draw\":1080,\"./draw_descendants\":838}],844:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/color\"),a=t(\"../../lib\"),o=t(\"../bar/uniform_text\").resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=a.castOption(r,s,\"marker.line.color\")||i.defaultLine,c=a.castOption(r,s,\"marker.line.width\")||0;t.style(\"stroke-width\",c).call(i.fill,n.color).call(i.stroke,l).style(\"opacity\",o?r.leaf.opacity:null)}e.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(\".trace\");o(t,e,\"icicle\"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style(\"opacity\",r.opacity),e.selectAll(\"path.surface\").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},{\"../../components/color\":366,\"../../lib\":503,\"../bar/uniform_text\":664,\"@plotly/d3\":58}],845:[function(t,e,r){\"use strict\";for(var n=t(\"../../plots/attributes\"),i=t(\"../../plots/template_attributes\").hovertemplateAttrs,a=t(\"../../lib/extend\").extendFlat,o=t(\"./constants\").colormodel,s=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],l=[],c=[],u=0;u0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var u,f=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(s._hasZ?u=o.z[h][f]:s._hasSource&&(u=s._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(f,h,1,1).data),u){var p,d=o.hi||s.hoverinfo;if(d){var m=d.split(\"+\");-1!==m.indexOf(\"all\")&&(m=[\"color\"]),-1!==m.indexOf(\"color\")&&(p=!0)}var g,v=a.colormodel[s.colormodel],y=v.colormodel||s.colormodel,x=y.length,b=s._scaler(u),_=v.suffix,w=[];(s.hovertemplate||p)&&(w.push(\"[\"+[b[0]+_[0],b[1]+_[1],b[2]+_[2]].join(\", \")),4===x&&w.push(\", \"+b[3]+_[3]),w.push(\"]\"),w=w.join(\"\"),t.extraText=y.toUpperCase()+\": \"+w),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][f]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][f]);var T=c.c2p(o.y0+(h+.5)*s.dy),k=o.x0+(f+.5)*s.dx,A=o.y0+(h+.5)*s.dy,M=\"[\"+u.slice(0,s.colormodel.length).join(\", \")+\"]\";return[i.extendFlat(t,{index:[h,f],x0:l.c2p(o.x0+f*s.dx),x1:l.c2p(o.x0+(f+1)*s.dx),y0:T,y1:T,color:b,xVal:k,xLabelVal:k,yVal:A,yLabelVal:A,zLabelVal:M,text:g,hovertemplateLabels:{zLabel:M,colorLabel:w,\"color[0]Label\":b[0]+_[0],\"color[1]Label\":b[1]+_[1],\"color[2]Label\":b[2]+_[2],\"color[3]Label\":b[3]+_[3]}})]}}}},{\"../../components/fx\":406,\"../../lib\":503,\"./constants\":847}],852:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"./style\"),hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"image\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}},{\"../../plots/cartesian\":568,\"./attributes\":845,\"./calc\":846,\"./defaults\":848,\"./event_data\":849,\"./hover\":851,\"./plot\":853,\"./style\":854}],853:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=i.strTranslate,o=t(\"../../constants/xmlns_namespaces\"),s=t(\"./constants\"),l=i.isIOS()||i.isSafari()||i.isIE();e.exports=function(t,e,r,c){var u=e.xaxis,f=e.yaxis,h=!(l||t._context._exportedPlot);i.makeTraceGroups(c,r,\"im\").each((function(e){var r=n.select(this),l=e[0],c=l.trace,p=(\"fast\"===c.zsmooth||!1===c.zsmooth&&h)&&!c._hasZ&&c._hasSource&&\"linear\"===u.type&&\"linear\"===f.type;c._realImage=p;var d,m,g,v,y,x,b=l.z,_=l.x0,w=l.y0,T=l.w,k=l.h,A=c.dx,M=c.dy;for(x=0;void 0===d&&x0;)m=u.c2p(_+x*A),x--;for(x=0;void 0===v&&x0;)y=f.c2p(w+x*M),x--;if(mI[0];if(O||z){var D=d+S/2,R=v+E/2;C+=\"transform:\"+a(D+\"px\",R+\"px\")+\"scale(\"+(O?-1:1)+\",\"+(z?-1:1)+\")\"+a(-D+\"px\",-R+\"px\")+\";\"}}L.attr(\"style\",C);var F=new Promise((function(t){if(c._hasZ)t();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===T&&c._canvas.el.height===k&&c._canvas.source===c.source)t();else{var e=document.createElement(\"canvas\");e.width=T,e.height=k;var r=e.getContext(\"2d\",{willReadFrequently:!0});c._image=c._image||new Image;var n=c._image;n.onload=function(){r.drawImage(n,0,0),c._canvas={el:e,source:c.source},t()},n.setAttribute(\"src\",c.source)}})).then((function(){var t;if(c._hasZ)t=B((function(t,e){return b[e][t]})).toDataURL(\"image/png\");else if(c._hasSource)if(p)t=c.source;else{var e=c._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(0,0,T,k).data;t=B((function(t,r){var n=4*(r*T+t);return[e[n],e[n+1],e[n+2],e[n+3]]})).toDataURL(\"image/png\")}L.attr({\"xlink:href\":t,height:E,width:S,x:d,y:v})}));t._promises.push(F)}function B(t){var e=document.createElement(\"canvas\");e.width=S,e.height=E;var r,n=e.getContext(\"2d\",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(u.c2p(_+t*A)-d),0,S)},o=function(t){return i.constrain(Math.round(f.c2p(w+t*M)-v),0,E)},h=s.colormodel[c.colormodel],p=h.colormodel||c.colormodel,m=h.fmt;for(x=0;x0}function T(t){t.each((function(t){y.stroke(n.select(this),t.line.color)})).each((function(t){y.fill(n.select(this),t.color)})).style(\"stroke-width\",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:\"linear\",ticks:\"outside\",range:r,showline:!0},e),a={type:\"linear\",_id:\"x\"+e._id},s={letter:\"x\",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,v,t,e)}return m(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+\"x\"+r]}function M(t,e,r,i){var a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),o=n.select(a);return o.text(t).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",r).attr(\"data-unformatted\",t).call(p.convertToTspans,i).call(f.font,e),f.bBox(o.node())}function S(t,e,r,n,i,a){var s=\"_cache\"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}e.exports=function(t,e,r,m){var g,v=t._fullLayout;w(r)&&m&&(g=m()),o.makeTraceGroups(v._indicatorlayer,e,\"trace\").each((function(e){var m,E,L,C,P,I=e[0].trace,O=n.select(this),z=I._hasGauge,D=I._isAngular,R=I._isBullet,F=I.domain,B={w:v._size.w*(F.x[1]-F.x[0]),h:v._size.h*(F.y[1]-F.y[0]),l:v._size.l+v._size.w*F.x[0],r:v._size.r+v._size.w*(1-F.x[1]),t:v._size.t+v._size.h*(1-F.y[1]),b:v._size.b+v._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,H=I.align||\"center\";if(E=j,z){if(D&&(m=N,E=j+U/2,L=function(t){return function(t,e){var r=Math.sqrt(t.width/2*(t.width/2)+t.height*t.height);return[e/r,t,e]}(t,.9*V)}),R){var q=h.bulletPadding,G=1-h.bulletNumberDomainSize+q;m=B.l+(G+(1-G)*b[H])*B.w,L=function(t){return A(t,(h.bulletNumberDomainSize-q)*B.w,B.h)}}}else m=B.l+b[H]*B.w,L=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var c,u,h,m=r[0].trace,g=i.numbersX,v=i.numbersY,T=m.align||\"center\",A=x[T],E=i.transitionOpts,L=i.onComplete,C=o.ensureSingle(e,\"g\",\"numbers\"),P=[];m._hasNumber&&P.push(\"number\");m._hasDelta&&(P.push(\"delta\"),\"left\"===m.delta.position&&P.reverse());var I=C.selectAll(\"text\").data(P);function O(e,r,n,i){if(!e.match(\"s\")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=e.slice().replace(\"s\",\"f\").replace(/\\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}I.enter().append(\"text\"),I.attr(\"text-anchor\",(function(){return A})).attr(\"class\",(function(t){return t})).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),I.exit().remove();var z,D=m.mode+m.align;m._hasDelta&&(z=function(){var e=k(t,{tickformat:m.delta.valueformat},m._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=function(t){return m.delta.relative?t.relativeDelta:t.delta},s=function(t,e){return 0===t||\"number\"!=typeof t||isNaN(t)?\"-\":(t>0?m.delta.increasing.symbol:m.delta.decreasing.symbol)+e(t)},l=function(t){return t.delta>=0?m.delta.increasing.color:m.delta.decreasing.color};void 0===m._deltaLastValue&&(m._deltaLastValue=o(r[0]));var c=C.select(\"text.delta\");function h(){c.text(s(o(r[0]),i)).call(y.fill,l(r[0])).call(p.convertToTspans,t)}return c.call(f.font,m.delta.font).call(y.fill,l({delta:m._deltaLastValue})),w(E)?c.transition().duration(E.duration).ease(E.easing).tween(\"text\",(function(){var t=n.select(this),e=o(r[0]),c=m._deltaLastValue,u=O(m.delta.valueformat,i,c,e),f=a(c,e);return m._deltaLastValue=e,function(e){t.text(s(f(e),u)),t.call(y.fill,l({delta:f(e)}))}})).each(\"end\",(function(){h(),L&&L()})).each(\"interrupt\",(function(){h(),L&&L()})):h(),u=M(s(o(r[0]),i),m.delta.font,A,t),c}(),D+=m.delta.position+m.delta.font.size+m.delta.font.family+m.delta.valueformat,D+=m.delta.increasing.symbol+m.delta.decreasing.symbol,h=u);m._hasNumber&&(!function(){var e=k(t,{tickformat:m.number.valueformat},m._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=m.number.suffix,s=m.number.prefix,l=C.select(\"text.number\");function u(){var e=\"number\"==typeof r[0].y?s+i(r[0].y)+o:\"-\";l.text(e).call(f.font,m.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each(\"end\",(function(){u(),L&&L()})).each(\"interrupt\",(function(){u(),L&&L()})).attrTween(\"text\",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);m._lastValue=r[0].y;var l=O(m.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):u(),c=M(s+i(r[0].y)+o,m.number.font,A,t)}(),D+=m.number.font.size+m.number.font.family+m.number.valueformat+m.number.suffix+m.number.prefix,h=c);if(m._hasDelta&&m._hasNumber){var R,F,B=[(c.left+c.right)/2,(c.top+c.bottom)/2],N=[(u.left+u.right)/2,(u.top+u.bottom)/2],j=.75*m.delta.font.size;\"left\"===m.delta.position&&(R=S(m,\"deltaPos\",0,-1*(c.width*b[m.align]+u.width*(1-b[m.align])+j),D,Math.min),F=B[1]-N[1],h={width:c.width+u.width+j,height:Math.max(c.height,u.height),left:u.left+R,right:c.right,top:Math.min(c.top,u.top+F),bottom:Math.max(c.bottom,u.bottom+F)}),\"right\"===m.delta.position&&(R=S(m,\"deltaPos\",0,c.width*(1-b[m.align])+u.width*b[m.align]+j,D,Math.max),F=B[1]-N[1],h={width:c.width+u.width+j,height:Math.max(c.height,u.height),left:c.left,right:u.right+R,top:Math.min(c.top,u.top+F),bottom:Math.max(c.bottom,u.bottom+F)}),\"bottom\"===m.delta.position&&(R=null,F=u.height,h={width:Math.max(c.width,u.width),height:c.height+u.height,left:Math.min(c.left,u.left),right:Math.max(c.right,u.right),top:c.bottom-c.height,bottom:c.bottom+u.height}),\"top\"===m.delta.position&&(R=null,F=c.top,h={width:Math.max(c.width,u.width),height:c.height+u.height,left:Math.min(c.left,u.left),right:Math.max(c.right,u.right),top:c.bottom-c.height-u.height,bottom:c.bottom}),z.attr({dx:R,dy:F})}(m._hasNumber||m._hasDelta)&&C.attr(\"transform\",(function(){var t=i.numbersScaler(h);D+=t[2];var e,r=S(m,\"numbersScale\",1,t[0],D,Math.min);m._scaleNumbers||(r=1),e=m._isAngular?v-r*h.bottom:v-r*(h.top+h.bottom)/2,m._numbersTop=r*h.top+e;var n=h[T];\"center\"===T&&(n=(h.left+h.right)/2);var a=g-r*n;return a=S(m,\"numbersTranslate\",0,a,D,Math.max),l(a,e)+s(r)}))}(t,O,e,{numbersX:m,numbersY:E,numbersScaler:L,transitionOpts:r,onComplete:g}),z&&(C={range:I.gauge.axis.range,color:I.gauge.bgcolor,line:{color:I.gauge.bordercolor,width:0},thickness:1},P={range:I.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:I.gauge.bordercolor,width:I.gauge.borderwidth},thickness:1});var Y=O.selectAll(\"g.angular\").data(D?e:[]);Y.exit().remove();var W=O.selectAll(\"g.angularaxis\").data(D?e:[]);W.exit().remove(),D&&function(t,e,r,a){var o,s,f,h,p=r[0].trace,m=a.size,g=a.radius,v=a.innerRadius,y=a.gaugeBg,x=a.gaugeOutline,b=[m.l+m.w/2,m.t+m.h/2+g/2],_=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function L(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function C(t){return n.svg.arc().innerRadius((v+g)/2-t/2*(g-v)).outerRadius((v+g)/2+t/2*(g-v)).startAngle(-E)}function P(t){t.attr(\"d\",(function(t){return C(t.thickness).startAngle(L(t.range[0])).endAngle(L(t.range[1]))()}))}_.enter().append(\"g\").classed(\"angular\",!0),_.attr(\"transform\",l(b[0],b[1])),A.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),A.selectAll(\"g.xangularaxistick,path,text\").remove(),(o=k(t,p.gauge.axis)).type=\"linear\",o.range=p.gauge.axis.range,o._id=\"xangularaxis\",o.ticklabeloverflow=\"allow\",o.setScale();var I=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},O={},z=d.makeLabelFns(o,0).labelStandoff;O.xFn=function(t){var e=I(t);return Math.cos(e)*z},O.yFn=function(t){var e=I(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*u)},O.anchorFn=function(t){var e=I(t),r=Math.cos(e);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},O.heightFn=function(t,e,r){var n=I(t);return-.5*(1+Math.sin(n))*r};var D=function(t){return l(b[0]+g*Math.cos(t),b[1]-g*Math.sin(t))};f=function(t){return D(I(t))};if(s=d.calcTicks(o),h=d.getTickSigns(o)[2],o.visible){h=\"inside\"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:\"M\"+h*R+\",0h\"+h*o.ticklen,transFn:function(t){var e=I(t);return D(e)+\"rotate(\"+-c(e)+\")\"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:f,labelFns:O})}var F=[y].concat(p.gauge.steps),B=_.selectAll(\"g.bg-arc\").data(F);B.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),B.select(\"path\").call(P).call(T),B.exit().remove();var N=C(p.gauge.bar.thickness),j=_.selectAll(\"g.value-arc\").data([p.gauge.bar]);j.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var U=j.select(\"path\");w(M)?(U.transition().duration(M.duration).ease(M.easing).each(\"end\",(function(){S&&S()})).each(\"interrupt\",(function(){S&&S()})).attrTween(\"d\",(V=N,H=L(r[0].lastY),q=L(r[0].y),function(){var t=i(H,q);return function(e){return V.endAngle(t(e))()}})),p._lastValue=r[0].y):U.attr(\"d\",\"number\"==typeof r[0].y?N.endAngle(L(r[0].y)):\"M0,0Z\");var V,H,q;U.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var Y=_.selectAll(\"g.threshold-arc\").data(F);Y.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),Y.select(\"path\").call(P).call(T),Y.exit().remove();var W=_.selectAll(\"g.gauge-outline\").data([x]);W.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),W.select(\"path\").call(P).call(T),W.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:Y,layer:W,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var X=O.selectAll(\"g.bullet\").data(R?e:[]);X.exit().remove();var Z=O.selectAll(\"g.bulletaxis\").data(R?e:[]);Z.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,c,u=r[0].trace,f=n.gauge,p=n.layer,m=n.gaugeBg,g=n.gaugeOutline,v=n.size,x=u.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append(\"g\").classed(\"bullet\",!0),f.attr(\"transform\",l(v.l,v.t)),p.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),p.selectAll(\"g.xbulletaxistick,path,text\").remove();var A=v.h,M=u.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(u._hasNumber||u._hasDelta?1-h.bulletNumberDomainSize:1);(i=k(t,u.gauge.axis))._id=\"xbulletaxis\",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],c=v.t+v.h,i.visible&&(d.drawTicks(t,i,{vals:\"inside\"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,c,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,c)}));function L(t){t.attr(\"width\",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr(\"x\",(function(t){return i.c2p(t.range[0])})).attr(\"y\",(function(t){return.5*(1-t.thickness)*A})).attr(\"height\",(function(t){return t.thickness*A}))}var C=[m].concat(u.gauge.steps),P=f.selectAll(\"g.bg-bullet\").data(C);P.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),P.select(\"rect\").call(L).call(T),P.exit().remove();var I=f.selectAll(\"g.value-bullet\").data([u.gauge.bar]);I.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),I.select(\"rect\").attr(\"height\",M).attr(\"y\",(A-M)/2).call(T),w(b)?I.select(\"rect\").transition().duration(b.duration).ease(b.easing).each(\"end\",(function(){_&&_()})).each(\"interrupt\",(function(){_&&_()})).attr(\"width\",Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y)))):I.select(\"rect\").attr(\"width\",\"number\"==typeof r[0].y?Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y))):0);I.exit().remove();var O=r.filter((function(){return u.gauge.threshold.value||0===u.gauge.threshold.value})),z=f.selectAll(\"g.threshold-bullet\").data(O);z.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),z.select(\"line\").attr(\"x1\",i.c2p(u.gauge.threshold.value)).attr(\"x2\",i.c2p(u.gauge.threshold.value)).attr(\"y1\",(1-u.gauge.threshold.thickness)/2*A).attr(\"y2\",(1-(1-u.gauge.threshold.thickness)/2)*A).call(y.stroke,u.gauge.threshold.line.color).style(\"stroke-width\",u.gauge.threshold.line.width),z.exit().remove();var D=f.selectAll(\"g.gauge-outline\").data([g]);D.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),D.select(\"rect\").call(L).call(T),D.exit().remove()}(t,0,e,{gauge:X,layer:Z,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var J=O.selectAll(\"text.title\").data(e);J.exit().remove(),J.enter().append(\"text\").classed(\"title\",!0),J.attr(\"text-anchor\",(function(){return R?x.right:x[I.title.align]})).text(I.title.text).call(f.font,I.title.font).call(p.convertToTspans,t),J.attr(\"transform\",(function(){var t,e=B.l+B.w*b[I.title.align],r=h.titlePadding,n=f.bBox(J.node());if(z){if(D)if(I.gauge.axis.visible)t=f.bBox(W.node()).top-r-n.bottom;else t=B.t+B.h/2-U/2-n.bottom-r;R&&(t=E-(n.top+n.bottom)/2,e=B.l-h.bulletPadding*B.w)}else t=I._numbersTop-r-n.bottom;return l(e,t)}))}))}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axes\":554,\"../../plots/cartesian/axis_defaults\":556,\"../../plots/cartesian/layout_attributes\":569,\"../../plots/cartesian/position_defaults\":572,\"./constants\":858,\"@plotly/d3\":58,\"d3-interpolate\":116}],862:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../mesh3d/attributes\"),s=t(\"../../plots/attributes\"),l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/edit_types\").overrideAll;var u=e.exports=c(l({x:{valType:\"data_array\"},y:{valType:\"data_array\"},z:{valType:\"data_array\"},value:{valType:\"data_array\"},isomin:{valType:\"number\"},isomax:{valType:\"number\"},surface:{show:{valType:\"boolean\",dflt:!0},count:{valType:\"integer\",dflt:2,min:1},fill:{valType:\"number\",min:0,max:1,dflt:1},pattern:{valType:\"flaglist\",flags:[\"A\",\"B\",\"C\",\"D\",\"E\"],extras:[\"all\",\"odd\",\"even\"],dflt:\"all\"}},spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}},y:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}},z:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}},y:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}},z:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}}},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:a(),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),valuehoverformat:i(\"value\",1),showlegend:l({},s.showlegend,{dflt:!1})},n(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),\"calc\",\"nested\");u.flatshading.dflt=!0,u.lighting.facenormalsepsilon.dflt=0,u.x.editType=u.y.editType=u.z.editType=u.value.editType=\"calc+clearAxisTypes\",u.transforms=void 0},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633,\"../mesh3d/attributes\":867}],863:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\"),i=t(\"../streamtube/calc\").processGrid,a=t(\"../streamtube/calc\").filter;e.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){C();var i,a,o,l=[r],c=[n];if(s>=1)l=[r],c=[n];else if(s>0){var u=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:L(d,m,v);h[p]=x>-1?x:I(d,m,v,R(e,y))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}function V(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):a<3&&V(t,e,r,S,E,++a)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var c=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var u=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(h,u,n,i),d=B(h,f,n,i);o=l(t,[d,p,u],[-1,-1,r[a[0]]])||o,o=l(t,[u,f,d],[r[a[0]],r[a[1]],-1])||o,c=!0}})),c||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var u=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(f,u,n,i),d=B(h,u,n,i);o=l(t,[d,p,u],[-1,-1,r[a[0]]])||o,c=!0}})),o}function H(t,e,r,n){var i=!1,a=U(e),o=[N(a[0][3],r,n),N(a[1][3],r,n),N(a[2][3],r,n),N(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return m&&(i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,a,e)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]];if(m)i=F(t,[c,u,f],[e[l[0]],e[l[1]],e[l[2]]])||i;else{var p=B(h,c,r,n),d=B(h,u,r,n),g=B(h,f,r,n);i=F(null,[p,d,g],[-1,-1,-1])||i}s=!0}})),s?i:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(f,c,r,n),d=B(f,u,r,n),g=B(h,u,r,n),v=B(h,c,r,n);m?(i=F(t,[c,v,p],[e[l[0]],-1,-1])||i,i=F(t,[u,d,g],[e[l[1]],-1,-1])||i):i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(2,3,0)}(null,[p,d,g,v],[-1,-1,-1,-1])||i,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(u,c,r,n),d=B(f,c,r,n),g=B(h,c,r,n);m?(i=F(t,[c,p,d],[e[l[0]],-1,-1])||i,i=F(t,[c,d,g],[e[l[0]],-1,-1])||i,i=F(t,[c,g,p],[e[l[0]],-1,-1])||i):i=F(null,[p,d,g],[-1,-1,-1])||i,s=!0}})),i)}function q(t,e,r,n,i,a,o,s,l,c,u){var f=!1;return d&&(D(t,\"A\")&&(f=H(null,[e,r,n,a],c,u)||f),D(t,\"B\")&&(f=H(null,[r,n,i,l],c,u)||f),D(t,\"C\")&&(f=H(null,[r,a,o,l],c,u)||f),D(t,\"D\")&&(f=H(null,[n,a,s,l],c,u)||f),D(t,\"E\")&&(f=H(null,[r,n,a,l],c,u)||f)),m&&(f=H(t,[r,n,a,l],c,u)||f),f}function G(t,e,r,n,i,a,o,s){return[!0===s[0]||V(t,U([e,r,n]),[e,r,n],a,o),!0===s[1]||V(t,U([n,i,e]),[n,i,e],a,o)]}function Y(t,e,r,n,i,a,o,s,l){return s?G(t,e,r,i,n,a,o,l):G(t,r,i,n,e,a,o,l)}function W(t,e,r,n,i,a,o){var s,l,c,u,f=!1,h=function(){f=V(t,[s,l,c],[-1,-1,-1],i,a)||f,f=V(t,[c,u,s],[-1,-1,-1],i,a)||f},p=o[0],d=o[1],m=o[2];return p&&(s=O(U([k(e,r-0,n-0)])[0],U([k(e-1,r-0,n-0)])[0],p),l=O(U([k(e,r-0,n-1)])[0],U([k(e-1,r-0,n-1)])[0],p),c=O(U([k(e,r-1,n-1)])[0],U([k(e-1,r-1,n-1)])[0],p),u=O(U([k(e,r-1,n-0)])[0],U([k(e-1,r-1,n-0)])[0],p),h()),d&&(s=O(U([k(e-0,r,n-0)])[0],U([k(e-0,r-1,n-0)])[0],d),l=O(U([k(e-0,r,n-1)])[0],U([k(e-0,r-1,n-1)])[0],d),c=O(U([k(e-1,r,n-1)])[0],U([k(e-1,r-1,n-1)])[0],d),u=O(U([k(e-1,r,n-0)])[0],U([k(e-1,r-1,n-0)])[0],d),h()),m&&(s=O(U([k(e-0,r-0,n)])[0],U([k(e-0,r-0,n-1)])[0],m),l=O(U([k(e-0,r-1,n)])[0],U([k(e-0,r-1,n-1)])[0],m),c=O(U([k(e-1,r-1,n)])[0],U([k(e-1,r-1,n-1)])[0],m),u=O(U([k(e-1,r-0,n)])[0],U([k(e-1,r-0,n-1)])[0],m),h()),f}function X(t,e,r,n,i,a,o,s,l,c,u,f){var h=t;return f?(d&&\"even\"===t&&(h=null),q(h,e,r,n,i,a,o,s,l,c,u)):(d&&\"odd\"===t&&(h=null),q(h,l,s,o,a,i,n,r,e,c,u))}function Z(t,e,r,n,i){for(var a=[],o=0,s=0;sMath.abs(d-M)?[A,d]:[d,M];$(e,T[0],T[1])}}var L=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];[\"x\",\"y\",\"z\"].forEach((function(e){for(var r=[],n=0;n0&&(u.push(p.id),\"x\"===e?f.push([p.distRatio,0,0]):\"y\"===e?f.push([0,p.distRatio,0]):f.push([0,0,p.distRatio]))}else c=nt(1,\"x\"===e?b-1:\"y\"===e?_-1:w-1);u.length>0&&(r[i]=\"x\"===e?tt(null,u,a,o,f,r[i]):\"y\"===e?et(null,u,a,o,f,r[i]):rt(null,u,a,o,f,r[i]),i++),c.length>0&&(r[i]=\"x\"===e?Z(null,c,a,o,r[i]):\"y\"===e?J(null,c,a,o,r[i]):K(null,c,a,o,r[i]),i++)}var d=t.caps[e];d.show&&d.fill&&(z(d.fill),r[i]=\"x\"===e?Z(null,[0,b-1],a,o,r[i]):\"y\"===e?J(null,[0,_-1],a,o,r[i]):K(null,[0,w-1],a,o,r[i]),i++)}})),0===g&&P(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=v,t._Ys=y,t._Zs=x}(),t}e.exports={findNearestOnAxis:l,generateIsoMeshes:h,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},{\"../../../stackgl_modules\":1124,\"../../components/colorscale\":378,\"../../lib/gl_format_color\":499,\"../../lib/str2rgbarray\":528,\"../../plots/gl3d/zip3\":609}],865:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"./attributes\"),o=t(\"../../components/colorscale/defaults\");function s(t,e,r,n,a){var s=a(\"isomin\"),l=a(\"isomax\");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var c=a(\"x\"),u=a(\"y\"),f=a(\"z\"),h=a(\"value\");c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length?(i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],n),a(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach((function(t){a(t+\"hoverformat\");var e=\"caps.\"+t;a(e+\".show\")&&a(e+\".fill\");var r=\"slices.\"+t;a(r+\".show\")&&(a(r+\".fill\"),a(r+\".locations\"))})),a(\"spaceframe.show\")&&a(\"spaceframe.fill\"),a(\"surface.show\")&&(a(\"surface.count\"),a(\"surface.fill\"),a(\"surface.pattern\")),a(\"contour.show\")&&(a(\"contour.color\"),a(\"contour.width\")),[\"text\",\"hovertext\",\"hovertemplate\",\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"opacity\"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:\"\",cLetter:\"c\"}),e._length=null):e.visible=!1}e.exports={supplyDefaults:function(t,e,r,i){s(t,e,r,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},{\"../../components/colorscale/defaults\":376,\"../../lib\":503,\"../../registry\":638,\"./attributes\":862}],866:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,calc:t(\"./calc\"),colorbar:{min:\"cmin\",max:\"cmax\"},plot:t(\"./convert\").createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"showLegend\"],meta:{}}},{\"../../plots/gl3d\":598,\"./attributes\":862,\"./calc\":863,\"./convert\":864,\"./defaults\":865}],867:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../surface/attributes\"),s=t(\"../../plots/attributes\"),l=t(\"../../lib/extend\").extendFlat;e.exports=l({x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},i:{valType:\"data_array\",editType:\"calc\"},j:{valType:\"data_array\",editType:\"calc\"},k:{valType:\"data_array\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:a({editType:\"calc\"}),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\",editType:\"calc\"},alphahull:{valType:\"number\",dflt:-1,editType:\"calc\"},intensity:{valType:\"data_array\",editType:\"calc\"},intensitymode:{valType:\"enumerated\",values:[\"vertex\",\"cell\"],dflt:\"vertex\",editType:\"calc\"},color:{valType:\"color\",editType:\"calc\"},vertexcolor:{valType:\"data_array\",editType:\"calc\"},facecolor:{valType:\"data_array\",editType:\"calc\"},transforms:void 0},n(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:o.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:\"calc\"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:l({vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12,editType:\"calc\"},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6,editType:\"calc\"},editType:\"calc\"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:\"calc\"}),showlegend:l({},s.showlegend,{dflt:!1})})},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633,\"../surface/attributes\":1061}],868:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/calc\":374}],869:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_mesh3d,i=t(\"../../../stackgl_modules\").delaunay_triangulate,a=t(\"../../../stackgl_modules\").alpha_shape,o=t(\"../../../stackgl_modules\").convex_hull,s=t(\"../../lib/gl_format_color\").parseColorScale,l=t(\"../../lib/str2rgbarray\"),c=t(\"../../components/colorscale\").extractOpts,u=t(\"../../plots/gl3d/zip3\");function f(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var h=f.prototype;function p(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,f=t.x.length,h=u(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!g(t.i,f)||!g(t.j,f)||!g(t.k,f))return;n=u(m(t.i),m(t.j),m(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=[\"x\",\"y\",\"z\"].indexOf(t),n=[],a=e.length,o=0;ov):g=A>w,v=A;var M=c(w,T,k,A);M.pos=_,M.yc=(w+A)/2,M.i=b,M.dir=g?\"increasing\":\"decreasing\",M.x=M.pos,M.y=[k,T],y&&(M.orig_p=r[b]),d&&(M.tx=e.text[b]),m&&(M.htx=e.hovertext[b]),x.push(M)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,\"open:\")+\" \",high:i(t,\"high:\")+\" \",low:i(t,\"low:\")+\" \",close:i(t,\"close:\")+\" \"}}),x}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a\"+c.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((y=i.extendFlat({},h)).y0=y.y1=_,y.yLabelVal=b,y.yLabel=c.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),y.name=\"\",f.push(y),g[b]=y)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=u(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,m=p.dir;function g(t){return f.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var v=p.hi||l.hoverinfo,y=v.split(\"+\"),x=\"all\"===v,b=x||-1!==y.indexOf(\"y\"),_=x||-1!==y.indexOf(\"text\"),w=b?[g(\"open\"),g(\"high\"),g(\"low\"),g(\"close\")+\" \"+c[m]]:[];return _&&s(p,l,w),h.extraText=w.join(\"
\"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}e.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},{\"../../components/color\":366,\"../../components/fx\":406,\"../../constants/delta.js\":473,\"../../lib\":503,\"../../plots/cartesian/axes\":554}],876:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\").calc,plot:t(\"./plot\"),style:t(\"./style\"),hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"./select\")}},{\"../../plots/cartesian\":568,\"./attributes\":872,\"./calc\":873,\"./defaults\":874,\"./hover\":875,\"./plot\":878,\"./select\":879,\"./style\":880}],877:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\");e.exports=function(t,e,r,a){var o=r(\"x\"),s=r(\"open\"),l=r(\"high\"),c=r(\"low\"),u=r(\"close\");if(r(\"hoverlabel.split\"),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\"],a),s&&l&&c&&u){var f=Math.min(s.length,l.length,c.length,u.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},{\"../../lib\":503,\"../../registry\":638}],878:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\");e.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,\"trace ohlc\").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var c=a.tickLen,u=e.selectAll(\"path\").data(i.identity);u.enter().append(\"path\"),u.exit().remove(),u.attr(\"d\",(function(t){if(t.empty)return\"M0,0Z\";var e=s.c2p(t.pos-c,!0),r=s.c2p(t.pos+c,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return\"M\"+e+\",\"+o.c2p(t.o,!0)+\"H\"+n+\"M\"+n+\",\"+o.c2p(t.h,!0)+\"V\"+o.c2p(t.l,!0)+\"M\"+r+\",\"+o.c2p(t.c,!0)+\"H\"+n}))}}))}},{\"../../lib\":503,\"@plotly/d3\":58}],879:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(t.map((function(t){return t.displayindex}))))for(e=0;e0;c&&(o=\"array\");var u=r(\"categoryorder\",o);\"array\"===u?(r(\"categoryarray\"),r(\"ticktext\")):(delete t.categoryarray,delete t.ticktext),c||\"array\"!==u||(e.categoryorder=\"trace\")}}e.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:\"dimensions\",handleItemDefaults:u}),d=function(t,e,r,o,s){s(\"line.shape\"),s(\"line.hovertemplate\");var l=s(\"line.color\",o.colorway[0]);if(i(t,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;e.line.color=r}return 1/0}(t,e,r,f,h);o(e,f,h),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,\"values\",d),h(\"hoveron\"),h(\"hovertemplate\"),h(\"arrangement\"),h(\"bundlecolors\"),h(\"sortpaths\"),h(\"counts\");var m={family:f.font.family,size:Math.round(f.font.size),color:f.font.color};n.coerceFont(h,\"labelfont\",m);var g={family:f.font.family,size:Math.round(f.font.size/1.2),color:f.font.color};n.coerceFont(h,\"tickfont\",g)}},{\"../../components/colorscale/defaults\":376,\"../../components/colorscale/helpers\":377,\"../../lib\":503,\"../../plots/array_container_defaults\":549,\"../../plots/domain\":584,\"../parcoords/merge_length\":898,\"./attributes\":881}],885:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:t(\"./base_plot\"),categories:[\"noOpacity\"],meta:{}}},{\"./attributes\":881,\"./base_plot\":882,\"./calc\":883,\"./defaults\":884,\"./plot\":887}],886:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-interpolate\").interpolateNumber,a=t(\"../../plot_api/plot_api\"),o=t(\"../../components/fx\"),s=t(\"../../lib\"),l=s.strTranslate,c=t(\"../../components/drawing\"),u=t(\"tinycolor2\"),f=t(\"../../lib/svg_text_utils\");function h(t,e,r,i){var a=t.map(F.bind(0,e,r)),o=i.selectAll(\"g.parcatslayer\").data([null]);o.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",\"all\");var u=o.selectAll(\"g.trace.parcats\").data(a,p),h=u.enter().append(\"g\").attr(\"class\",\"trace parcats\");u.attr(\"transform\",(function(t){return l(t.x,t.y)})),h.append(\"g\").attr(\"class\",\"paths\");var y=u.select(\"g.paths\").selectAll(\"path.path\").data((function(t){return t.paths}),p);y.attr(\"fill\",(function(t){return t.model.color}));var x=y.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.model.color})).attr(\"fill-opacity\",0);_(x),y.attr(\"d\",(function(t){return t.svgD})),x.empty()||y.sort(m),y.exit().remove(),y.on(\"mouseover\",g).on(\"mouseout\",v).on(\"click\",b),h.append(\"g\").attr(\"class\",\"dimensions\");var w=u.select(\"g.dimensions\").selectAll(\"g.dimension\").data((function(t){return t.dimensions}),p);w.enter().append(\"g\").attr(\"class\",\"dimension\"),w.attr(\"transform\",(function(t){return l(t.x,0)})),w.exit().remove();var A=w.selectAll(\"g.category\").data((function(t){return t.categories}),p),M=A.enter().append(\"g\").attr(\"class\",\"category\");A.attr(\"transform\",(function(t){return l(0,t.y)})),M.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),A.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})),T(M);var S=A.selectAll(\"rect.bandrect\").data((function(t){return t.bands}),p);S.each((function(){s.raiseToTop(this)})),S.attr(\"fill\",(function(t){return t.color}));var E=S.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.color})).attr(\"fill-opacity\",0);S.attr(\"fill\",(function(t){return t.color})).attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})).attr(\"y\",(function(t){return t.y})).attr(\"cursor\",(function(t){return\"fixed\"===t.parcatsViewModel.arrangement?\"default\":\"perpendicular\"===t.parcatsViewModel.arrangement?\"ns-resize\":\"move\"})),k(E),S.exit().remove(),M.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\");var z=e._fullLayout.paper_bgcolor;A.select(\"text.catlabel\").attr(\"text-anchor\",(function(t){return d(t)?\"start\":\"end\"})).attr(\"alignment-baseline\",\"middle\").style(\"text-shadow\",f.makeTextShadow(z)).style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",(function(t){return d(t)?t.width+5:-5})).attr(\"y\",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){c.font(n.select(this),t.parcatsViewModel.categorylabelfont),f.convertToTspans(n.select(this),e)})),M.append(\"text\").attr(\"class\",\"dimlabel\"),A.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",(function(t){return\"fixed\"===t.parcatsViewModel.arrangement?\"default\":\"ew-resize\"})).attr(\"x\",(function(t){return t.width/2})).attr(\"y\",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){c.font(n.select(this),t.parcatsViewModel.labelfont)})),A.selectAll(\"rect.bandrect\").on(\"mouseover\",L).on(\"mouseout\",C),A.exit().remove(),w.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on(\"dragstart\",P).on(\"drag\",I).on(\"dragend\",O)),u.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),t.dimensionSelection=n.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")})),u.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function m(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor\"),L=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+m.left,y:_-d.top+m.top,text:E,color:t.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:T,idealAlign:L1&&h.displayInd===f.dimensions.length-1?(i=c.left,a=\"left\"):(i=c.left+c.width,a=\"right\");var m=u.model.count,g=u.model.categoryLabel,v=m/u.parcatsViewModel.model.count,y={countLabel:m,categoryLabel:g,probabilityLabel:v.toFixed(3)},x=[];-1!==u.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&x.push([\"Count:\",y.countLabel].join(\" \")),-1!==u.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&x.push([\"P(\"+y.categoryLabel+\"):\",y.probabilityLabel].join(\" \"));var b=x.join(\"
\");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:y,eventData:[{data:p._input,fullData:p,count:m,category:g,probability:v}]}}function L(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron;if(\"color\"===l?(!function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll(\"rect.bandrect\").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr(\"stroke\",\"black\").attr(\"stroke-width\",1.5)}))}(this),S(this,\"plotly_hover\",n.event)):(!function(t){n.select(t.parentNode).selectAll(\"rect.bandrect\").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",2.5)}(this),M(this,\"plotly_hover\",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"none\"))\"category\"===l?e=E(r,a,this):\"color\"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),c=n.select(r).datum(),f=c.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,m=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a=\"left\"):(i=l.left+l.width,a=\"right\");var g=f.model.categoryLabel,v=c.parcatsViewModel.model.count,y=0;c.categoryViewModel.bands.forEach((function(t){t.color===c.color&&(y+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===c.color&&(b+=t.model.count)}));var _=y/v,w=y/b,T=y/x,k={countLabel:v,categoryLabel:g,probabilityLabel:_.toFixed(3)},A=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&A.push([\"Count:\",k.countLabel].join(\" \")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&(A.push(\"P(color \\u2229 \"+g+\"): \"+k.probabilityLabel),A.push(\"P(\"+g+\" | color): \"+w.toFixed(3)),A.push(\"P(color | \"+g+\"): \"+T.toFixed(3)));var M=A.join(\"
\"),S=u.mostReadable(c.color,[\"black\",\"white\"]);return{trace:d,x:o*(i-e.left),y:s*(m-e.top),text:M,color:c.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:v,probability:_,categorycount:x,colorcount:b,bandcolorcount:y}]}}(r,a,this):\"dimension\"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each((function(){i.push(E(t,e,this))})),i}(r,a,this)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r})}}function C(t){var e=t.parcatsViewModel;if(!e.dragDimension&&(_(e.pathSelection),T(e.dimensionSelection.selectAll(\"g.category\")),k(e.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(m),-1===e.hoverinfoItems.indexOf(\"skip\"))){\"color\"===t.parcatsViewModel.hoveron?S(this,\"plotly_unhover\",n.event):M(this,\"plotly_unhover\",n.event)}}function P(t){\"fixed\"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll(\"rect.bandrect\").each((function(e){e.yf.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||\"freeform\"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),D(t.parcatsViewModel)}}function O(t){if(\"fixed\"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var e={},r=z(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e[\"dimensions[\"+i+\"].displayindex\"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var c=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),u=c.map((function(t){return t.categoryValue})),f=c.map((function(t){return t.categoryLabel}));e[\"dimensions[\"+t.model.containerInd+\"].categoryarray\"]=[u],e[\"dimensions[\"+t.model.containerInd+\"].ticktext\"]=[f],e[\"dimensions[\"+t.model.containerInd+\"].categoryorder\"]=\"array\"}}if(-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")&&!t.dragHasMoved&&t.potentialClickBand&&(\"color\"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,\"plotly_click\",n.event.sourceEvent):M(t.potentialClickBand,\"plotly_click\",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd)t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null;t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease(\"cubic-in-out\").each((function(){R(t.parcatsViewModel,!0),D(t.parcatsViewModel,!0)})).each(\"end\",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function z(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)u+=\"C\"+c[s]+\",\"+(e[s+1]+n)+\" \"+l[s]+\",\"+(e[s]+n)+\" \"+(t[s]+r[s])+\",\"+(e[s]+n),u+=\"l-\"+r[s]+\",0 \";return u+=\"Z\"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}c.sort((function(e,r){var n=f(e),i=f(r);return\"backward\"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var h=new Array(c.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),m=0;m0?d*(v.count/p):0;for(var y,x=new Array(n.length),b=0;b1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,c,u=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),m=8*(f-h)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),c=0;c0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:m,bands:[],parcatsViewModel:t},m=m+a+8,u.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:u,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}e.exports=function(t,e,r,n){h(r,t,n,e)}},{\"../../components/drawing\":388,\"../../components/fx\":406,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plot_api/plot_api\":540,\"@plotly/d3\":58,\"d3-interpolate\":116,tinycolor2:312}],887:[function(t,e,r){\"use strict\";var n=t(\"./parcats\");e.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},{\"./parcats\":886}],888:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/cartesian/layout_attributes\"),a=t(\"../../plots/font_attributes\"),o=t(\"../../plots/domain\").attributes,s=t(\"../../lib/extend\").extendFlat,l=t(\"../../plot_api/plot_template\").templatedArray;e.exports={domain:o({name:\"parcoords\",trace:!0,editType:\"plot\"}),labelangle:{valType:\"angle\",dflt:0,editType:\"plot\"},labelside:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},labelfont:a({editType:\"plot\"}),tickfont:a({editType:\"plot\"}),rangefont:a({editType:\"plot\"}),dimensions:l(\"dimension\",{label:{valType:\"string\",editType:\"plot\"},tickvals:s({},i.tickvals,{editType:\"plot\"}),ticktext:s({},i.ticktext,{editType:\"plot\"}),tickformat:s({},i.tickformat,{editType:\"plot\"}),visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},constraintrange:{valType:\"info_array\",freeLength:!0,dimensions:\"1-2\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},multiselect:{valType:\"boolean\",dflt:!0,editType:\"plot\"},values:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"}),line:s({editType:\"calc\"},n(\"line\",{colorscaleDflt:\"Viridis\",autoColorDflt:!1,editTypeOverride:\"calc\"}))}},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/layout_attributes\":569,\"../../plots/domain\":584,\"../../plots/font_attributes\":585}],889:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"@plotly/d3\"),a=t(\"../../lib/gup\").keyFun,o=t(\"../../lib/gup\").repeat,s=t(\"../../lib\").sorterAsc,l=t(\"../../lib\").strTranslate,c=n.bar.snapRatio;function u(t,e){return t*(1-c)+e*c}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],c=l,f=a;i*fe){h=r;break}}if(a=u,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-c[f][1]t[1]+r||e=.9*t[1]+.1*t[0]?\"n\":e<=.9*t[0]+.1*t[1]?\"s\":\"ns\"}(d,e);m&&(o.interval=l[a],o.intervalPix=d,o.region=m)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,y=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&y<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a=\"crosshair\";r.clickableOrdinalRange?a=\"pointer\":r.region&&(a=r.region+\"-resize\"),i.select(document.body).style(\"cursor\",a)}function k(t){t.on(\"mousemove\",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on(\"mouseleave\",(function(t){t.parent.inBrushDrag||y()})).call(i.behavior.drag().on(\"dragstart\",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar=\"ns\"===s.region,c.grabbingBar){var u=l.map(e.unitToPaddedPx);c.grabPoint=r-u[0]-n.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),c.startExtent=s.region?l[\"s\"===s.region?1:0]:a,e.parent.inBrushDrag=!0,c.brushStartCallback()}(this,t)})).on(\"drag\",(function(t){w(this,t)})).on(\"dragend\",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,y(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(c?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),c?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}e.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e).slice();e.filter.set(r),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e){var r=t.selectAll(\".\"+n.cn.axisBrush).data(o,a);r.enter().append(\"g\").classed(n.cn.axisBrush,!0),function(t,e){var r=t.selectAll(\".background\").data(o);r.enter().append(\"rect\").classed(\"background\",!0).call(d).call(m).style(\"pointer-events\",\"auto\").attr(\"transform\",l(0,n.verticalPadding)),r.call(k).attr(\"height\",(function(t){return t.height-n.verticalPadding}));var i=t.selectAll(\".highlight-shadow\").data(o);i.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width+n.bar.strokeWidth).attr(\"stroke\",e).attr(\"opacity\",n.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),i.attr(\"y1\",(function(t){return t.height})).call(x);var a=t.selectAll(\".highlight\").data(o);a.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width-n.bar.strokeWidth).attr(\"stroke\",n.bar.fillColor).attr(\"opacity\",n.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),a.attr(\"y1\",(function(t){return t.height})).call(x)}(r,e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},{\"../../lib\":503,\"../../lib/gup\":500,\"./constants\":893,\"@plotly/d3\":58}],890:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:t(\"./base_plot\"),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}},{\"./attributes\":888,\"./base_plot\":891,\"./calc\":892,\"./defaults\":894}],891:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../plots/get_data\").getModuleCalcData,a=t(\"./plot\"),o=t(\"../../constants/xmlns_namespaces\");r.name=\"parcoords\",r.plot=function(t){var e=i(t.calcdata,\"parcoords\")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"parcoords\"),a=e._has&&e._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(\".svg-container\");r.filter((function(t,e){return e===r.size()-1})).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each((function(){var t=this.toDataURL(\"image/png\");e.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.style.width,height:this.style.height})})),window.setTimeout((function(){n.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")}),60)}},{\"../../constants/xmlns_namespaces\":480,\"../../plots/get_data\":593,\"./plot\":900,\"@plotly/d3\":58}],892:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray,i=t(\"../../components/colorscale\"),a=t(\"../../lib/gup\").wrap;e.exports=function(t,e){var r,o;return i.hasColorscale(e,\"line\")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:\"line\",cLetter:\"c\"})):(r=function(t){for(var e=new Array(t),r=0;rf&&(n.log(\"parcoords traces support up to \"+f+\" dimensions at the moment\"),d.splice(f));var m=s(t,e,{name:\"dimensions\",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s(\"line.color\",r);if(i(t,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,u);o(e,l,u),Array.isArray(m)&&m.length||(e.visible=!1),h(e,m,\"values\",g);var v={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(u,\"labelfont\",v),n.coerceFont(u,\"tickfont\",v),n.coerceFont(u,\"rangefont\",v),u(\"labelangle\"),u(\"labelside\")}},{\"../../components/colorscale/defaults\":376,\"../../components/colorscale/helpers\":377,\"../../lib\":503,\"../../plots/array_container_defaults\":549,\"../../plots/cartesian/axes\":554,\"../../plots/domain\":584,\"./attributes\":888,\"./axisbrush\":889,\"./constants\":893,\"./merge_length\":898}],895:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isTypedArray;r.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},r.isOrdinal=function(t){return!!t.tickvals},r.isVisible=function(t){return t.visible||!(\"visible\"in t)}},{\"../../lib\":503}],896:[function(t,e,r){\"use strict\";var n=t(\"./base_index\");n.plot=t(\"./plot\"),e.exports=n},{\"./base_index\":890,\"./plot\":900}],897:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\\n p17_20, p21_24, p25_28, p29_32,\\n p33_36, p37_40, p41_44, p45_48,\\n p49_52, p53_56, p57_60, colors;\\n\\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\n\\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\\nuniform float maskHeight;\\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\\nuniform vec4 contextColor;\\nuniform sampler2D maskTexture, palette;\\n\\nbool isPick = (drwLayer > 1.5);\\nbool isContext = (drwLayer < 0.5);\\n\\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\\n\\nfloat val(mat4 p, mat4 v) {\\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\\n}\\n\\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\\n return y1 * (1.0 - ratio) + y2 * ratio;\\n}\\n\\nint iMod(int a, int b) {\\n return a - b * (a / b);\\n}\\n\\nbool fOutside(float p, float lo, float hi) {\\n return (lo < hi) && (lo > p || p > hi);\\n}\\n\\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\\n return (\\n fOutside(p[0], lo[0], hi[0]) ||\\n fOutside(p[1], lo[1], hi[1]) ||\\n fOutside(p[2], lo[2], hi[2]) ||\\n fOutside(p[3], lo[3], hi[3])\\n );\\n}\\n\\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\\n return (\\n vOutside(p[0], lo[0], hi[0]) ||\\n vOutside(p[1], lo[1], hi[1]) ||\\n vOutside(p[2], lo[2], hi[2]) ||\\n vOutside(p[3], lo[3], hi[3])\\n );\\n}\\n\\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\\n return mOutside(A, loA, hiA) ||\\n mOutside(B, loB, hiB) ||\\n mOutside(C, loC, hiC) ||\\n mOutside(D, loD, hiD);\\n}\\n\\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\\n mat4 pnts[4];\\n pnts[0] = A;\\n pnts[1] = B;\\n pnts[2] = C;\\n pnts[3] = D;\\n\\n for(int i = 0; i < 4; ++i) {\\n for(int j = 0; j < 4; ++j) {\\n for(int k = 0; k < 4; ++k) {\\n if(0 == iMod(\\n int(255.0 * texture2D(maskTexture,\\n vec2(\\n (float(i * 2 + j / 2) + 0.5) / 8.0,\\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\\n ))[3]\\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\\n 2\\n )) return true;\\n }\\n }\\n }\\n return false;\\n}\\n\\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\\n float x = 0.5 * sign(v) + 0.5;\\n float y = axisY(x, A, B, C, D);\\n float z = 1.0 - abs(v);\\n\\n z += isContext ? 0.0 : 2.0 * float(\\n outsideBoundingBox(A, B, C, D) ||\\n outsideRasterMask(A, B, C, D)\\n );\\n\\n return vec4(\\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\\n z,\\n 1.0\\n );\\n}\\n\\nvoid main() {\\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\\n\\n float v = colors[3];\\n\\n gl_Position = position(isContext, v, A, B, C, D);\\n\\n fragColor =\\n isContext ? vec4(contextColor) :\\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\\n}\\n\"]),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n gl_FragColor = fragColor;\\n}\\n\"]),o=t(\"./constants\").maxDimensionCount,s=t(\"../../lib\"),l=new Uint8Array(4),c=new Uint8Array(4),u={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function f(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function h(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var c=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*c,a.offset=2*l*n,e(a),l*n+c>>8*e)%256/255}function m(t,e,r){for(var n=new Array(8*e),i=0,a=0;au&&(u=t[i].dim1.canvasX,o=i);0===s&&f(T,0,0,r.canvasWidth,r.canvasHeight);var p=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&no._length&&(S=S.slice(0,o._length));var L,C=o.tickvals;function P(t,e){return{val:t,text:L[e]}}function I(t,e){return t.val-e.val}if(Array.isArray(C)&&C.length){L=o.ticktext,Array.isArray(L)&&L.length?L.length>C.length?L=L.slice(0,C.length):C.length>L.length&&(C=C.slice(0,L.length)):L=C.map(a(o.tickformat));for(var O=1;O=r||l>=i)return;var c=t.lineLayer.readPixel(s,i-1-l),u=0!==c[3],f=u?c[2]+256*(c[1]+256*c[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==B&&(u?a.hover(h):a.unhover&&a.unhover(h),B=f)}})),F.style(\"opacity\",(function(t){return t.pick?0:1})),h.style(\"background\",\"rgba(255, 255, 255, 0)\");var N=h.selectAll(\".\"+y.cn.parcoords).data(R,d);N.exit().remove(),N.enter().append(\"g\").classed(y.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),N.attr(\"transform\",(function(t){return c(t.model.translateX,t.model.translateY)}));var j=N.selectAll(\".\"+y.cn.parcoordsControlView).data(m,d);j.enter().append(\"g\").classed(y.cn.parcoordsControlView,!0),j.attr(\"transform\",(function(t){return c(t.model.pad.l,t.model.pad.t)}));var U=j.selectAll(\".\"+y.cn.yAxis).data((function(t){return t.dimensions}),d);U.enter().append(\"g\").classed(y.cn.yAxis,!0),j.each((function(t){O(U,t,_)})),F.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=b(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),U.attr(\"transform\",(function(t){return c(t.xScale(t.xIndex),0)})),U.call(n.behavior.drag().origin((function(t){return t})).on(\"drag\",(function(t){var e=t.parent;S.linePickActive(!1),t.x=Math.max(-y.overdrag,Math.min(t.model.width+y.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,U.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),O(U,e,_),U.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr(\"transform\",(function(t){return c(t.xScale(t.xIndex),0)})),n.select(this).attr(\"transform\",c(t.x,0)),U.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on(\"dragend\",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,O(U,e,_),n.select(this).attr(\"transform\",(function(t){return c(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),S.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),U.exit().remove();var V=U.selectAll(\".\"+y.cn.axisOverlays).data(m,d);V.enter().append(\"g\").classed(y.cn.axisOverlays,!0),V.selectAll(\".\"+y.cn.axis).remove();var H=V.selectAll(\".\"+y.cn.axis).data(m,d);H.enter().append(\"g\").classed(y.cn.axis,!0),H.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return v.isOrdinal(t)?e:z(t.model.dimensions[t.visibleIndex],e)})).scale(r)),f.font(H.selectAll(\"text\"),t.model.tickFont)})),H.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),H.selectAll(\"text\").style(\"text-shadow\",u.makeTextShadow(T)).style(\"cursor\",\"default\");var q=V.selectAll(\".\"+y.cn.axisHeading).data(m,d);q.enter().append(\"g\").classed(y.cn.axisHeading,!0);var G=q.selectAll(\".\"+y.cn.axisTitle).data(m,d);G.enter().append(\"text\").classed(y.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",\"auto\"),G.text((function(t){return t.label})).each((function(e){var r=n.select(this);f.font(r,e.model.labelFont),u.convertToTspans(r,t)})).attr(\"transform\",(function(t){var e=I(t.model.labelAngle,t.model.labelSide),r=y.axisTitleOffset;return(e.dir>0?\"\":c(0,2*r+t.model.height))+l(e.degrees)+c(-r*e.dx,-r*e.dy)})).attr(\"text-anchor\",(function(t){var e=I(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?\"start\":\"end\":\"middle\"}));var Y=V.selectAll(\".\"+y.cn.axisExtent).data(m,d);Y.enter().append(\"g\").classed(y.cn.axisExtent,!0);var W=Y.selectAll(\".\"+y.cn.axisExtentTop).data(m,d);W.enter().append(\"g\").classed(y.cn.axisExtentTop,!0),W.attr(\"transform\",c(0,-y.axisExtentOffset));var X=W.selectAll(\".\"+y.cn.axisExtentTopText).data(m,d);X.enter().append(\"text\").classed(y.cn.axisExtentTopText,!0).call(P),X.text((function(t){return D(t,!0)})).each((function(t){f.font(n.select(this),t.model.rangeFont)}));var Z=Y.selectAll(\".\"+y.cn.axisExtentBottom).data(m,d);Z.enter().append(\"g\").classed(y.cn.axisExtentBottom,!0),Z.attr(\"transform\",(function(t){return c(0,t.model.height+y.axisExtentOffset)}));var J=Z.selectAll(\".\"+y.cn.axisExtentBottomText).data(m,d);J.enter().append(\"text\").classed(y.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(P),J.text((function(t){return D(t,!1)})).each((function(t){f.font(n.select(this),t.model.rangeFont)})),x.ensureAxisBrush(V,T)}},{\"../../components/colorscale\":378,\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/gup\":500,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axes\":554,\"./axisbrush\":889,\"./constants\":893,\"./helpers\":895,\"./lines\":897,\"@plotly/d3\":58,\"color-rgba\":91}],900:[function(t,e,r){\"use strict\";var n=t(\"./parcoords\"),i=t(\"../../lib/prepare_regl\"),a=t(\"./helpers\").isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(e.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},c={},u={},f={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;u[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,c[r]=t.data[i].dimensions.slice()}));n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,i){var a=c[e][n],o=i.map((function(t){return t.slice()})),s=\"dimensions[\"+n+\"].constraintrange\",l=r._tracePreGUI[t._fullData[u[e]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=t._fullData[u[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit(\"plotly_restyle\",[d,[f[e]]])},hover:function(e){t.emit(\"plotly_hover\",e)},unhover:function(e){t.emit(\"plotly_unhover\",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,c[e].filter(a));l[e].sort(n),c[e].filter((function(t){return!a(t)})).sort((function(t){return c[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(c[e].indexOf(t),0,t)})),t.emit(\"plotly_restyle\",[{dimensions:[l[e]]},[f[e]]])}})}}).reglPrecompiled=o},{\"../../lib/prepare_regl\":516,\"./helpers\":895,\"./parcoords\":899}],901:[function(t,e,r){\"use strict\";var n=t(\"../../plots/attributes\"),i=t(\"../../plots/domain\").attributes,a=t(\"../../plots/font_attributes\"),o=t(\"../../components/color/attributes\"),s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../plots/template_attributes\").texttemplateAttrs,c=t(\"../../lib/extend\").extendFlat,u=a({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});e.exports={labels:{valType:\"data_array\",editType:\"calc\"},label0:{valType:\"number\",dflt:0,editType:\"calc\"},dlabel:{valType:\"number\",dflt:1,editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},marker:{colors:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:o.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"percent\"],extras:[\"none\"],editType:\"calc\"},hoverinfo:c({},n.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:s({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplate:l({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:c({},u,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:c({},u,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:i({name:\"pie\",trace:!0,editType:\"calc\"}),hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},sort:{valType:\"boolean\",dflt:!0,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"number\",min:-360,max:360,dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"},_deprecated:{title:{valType:\"string\",dflt:\"\",editType:\"calc\"},titlefont:c({},u,{}),titleposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"calc\"}}}},{\"../../components/color/attributes\":365,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/domain\":584,\"../../plots/font_attributes\":585,\"../../plots/template_attributes\":633}],902:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"pie\",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{\"../../plots/plots\":619}],903:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"../../components/color\"),o={};function s(t){return function(e,r){return!!e&&(!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e))}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),(\"funnelarea\"===e.type?v:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r=\"pie\");var n=t._fullLayout,i=t.calcdata,a=n[r+\"colorway\"],s=n[\"_\"+r+\"colormap\"];n[\"extend\"+r+\"colors\"]&&(a=l(a,o));for(var c=0,u=0;u0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}e.exports={handleLabelsAndValues:l,supplyDefaults:function(t,e,r,n){function c(r,n){return i.coerce(t,e,a,r,n)}var u=l(c(\"labels\"),c(\"values\")),f=u.len;if(e._hasLabels=u.hasLabels,e._hasValues=u.hasValues,!e._hasLabels&&e._hasValues&&(c(\"label0\"),c(\"dlabel\")),f){e._length=f,c(\"marker.line.width\")&&c(\"marker.line.color\"),c(\"marker.colors\"),c(\"scalegroup\");var h,p=c(\"text\"),d=c(\"texttemplate\");if(d||(h=c(\"textinfo\",Array.isArray(p)?\"text+percent\":\"percent\")),c(\"hovertext\"),c(\"hovertemplate\"),d||h&&\"none\"!==h){var m=c(\"textposition\");s(t,e,n,c,m,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(m)||\"auto\"===m||\"outside\"===m)&&c(\"automargin\"),(\"inside\"===m||\"auto\"===m||Array.isArray(m))&&c(\"insidetextorientation\")}o(e,n,c);var g=c(\"hole\");if(c(\"title.text\")){var v=c(\"title.position\",g?\"middle center\":\"top center\");g||\"middle center\"!==v||(e.title.position=\"top center\"),i.coerceFont(c,\"title.font\",n.font)}c(\"sort\"),c(\"direction\"),c(\"rotation\"),c(\"pull\")}else e.visible=!1}}},{\"../../lib\":503,\"../../plots/domain\":584,\"../bar/defaults\":652,\"./attributes\":901,\"fast-isnumeric\":190}],905:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx/helpers\").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),\"funnelarea\"===e.type&&(delete r.v,delete r.i),r}},{\"../../components/fx/helpers\":402}],906:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");function i(t){return-1!==t.indexOf(\"e\")?t.replace(/[.]?0+e/,\"e\"):-1!==t.indexOf(\".\")?t.replace(/[.]?0+$/,\"\"):t}r.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+\"%\"},r.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r\"),name:f.hovertemplate||-1!==h.indexOf(\"name\")?f.name:void 0,idealAlign:t.pxmid[0]<0?\"left\":\"right\",color:g.castOption(_.bgcolor,t.pts)||t.color,borderColor:g.castOption(_.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(_.namelength,t.pts),textAlign:g.castOption(_.align,t.pts),hovertemplate:g.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[v(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],c._hasHoverLabel=!0}c._hasHoverEvent=!0,e.emit(\"plotly_hover\",{points:[v(t,f)],event:n.event})}})),t.on(\"mouseout\",(function(t){var r=e._fullLayout,i=e._fullData[c.index],o=n.select(this).datum();c._hasHoverEvent&&(t.originalEvent=n.event,e.emit(\"plotly_unhover\",{points:[v(o,i)],event:n.event}),c._hasHoverEvent=!1),c._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),c._hasHoverLabel=!1)})),t.on(\"click\",(function(t){var r=e._fullLayout,i=e._fullData[c.index];e._dragging||!1===r.hovermode||(e._hoverdata=[v(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:i,size:a}}function _(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)v(Math.PI*g,\"tan\");for(g=4;g>=-4;g-=2)v(Math.PI*(g+1),\"tan\")}if(f||p){for(g=4;g>=-4;g-=2)v(Math.PI*(g+1.5),\"rad\");for(g=4;g>=-4;g-=2)v(Math.PI*(g+.5),\"rad\")}}if(s||d||f){var y=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/y,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;m.push(a)}(d||p)&&((a=T(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,m.push(a)),(d||h)&&((a=k(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,m.push(a));for(var x=0,b=0,_=0;_=1)break}return m[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*m);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*m);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function L(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function C(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=I(a),-1!==a.title.position.indexOf(\"top\")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf(\"bottom\")&&(o.y+=(1+i)*t.r);var l,c,u=(l=t.r,c=t.trace.aspectratio,l/(void 0===c?1:c)),f=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf(\"left\")?(f+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf(\"center\")?f*=2:-1!==a.title.position.indexOf(\"right\")&&(f+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=f/t.titleBox.width,n=P(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function P(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function I(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function O(t,e){for(var r=[],n=0;n1?(c=r.r,u=c/i.aspectratio):(u=r.r,c=u*i.aspectratio),c*=(1+i.baseratio)/2,l=c*u}o=Math.min(o,l/r.vTotal)}for(n=0;n\")}if(a){var x=l.castOption(i,e.i,\"texttemplate\");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,\"customdata\")}}(e),_=g.getFirstFilled(i.text,e.pts);(y(_)||\"\"===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=\"\"}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}e.exports={plot:function(t,e){var r=t._fullLayout,a=r._size;d(\"pie\",r),_(e,t),O(e,a);var h=l.makeTraceGroups(r._pielayer,e,\"trace\").each((function(e){var h=n.select(this),d=e[0],m=d.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,c=\"px0\",u=\"px1\";if(\"counterclockwise\"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),h.attr(\"stroke-linejoin\",\"round\"),h.each((function(){var v=n.select(this).selectAll(\"g.slice\").data(e);v.enter().append(\"g\").classed(\"slice\",!0),v.exit().remove();var y=[[[],[]],[[],[]]],_=!1;v.each((function(i,a){if(i.hidden)n.select(this).selectAll(\"path,g\").remove();else{i.pointNumber=i.i,i.curveNumber=m.index,y[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var o=d.cx,c=d.cy,u=n.select(this),h=u.selectAll(\"path.surface\").data([i]);if(h.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":\"all\"}),u.call(x,t,e),m.pull){var v=+g.castOption(m.pull,i.pts)||0;v>0&&(o+=v*i.pxmid[0],c+=v*i.pxmid[1])}i.cxFinal=o,i.cyFinal=c;var T=m.hole;if(i.v===d.vTotal){var k=\"M\"+(o+i.px0[0])+\",\"+(c+i.px0[1])+C(i.px0,i.pxmid,!0,1)+C(i.pxmid,i.px0,!0,1)+\"Z\";T?h.attr(\"d\",\"M\"+(o+T*i.px0[0])+\",\"+(c+T*i.px0[1])+C(i.px0,i.pxmid,!1,T)+C(i.pxmid,i.px0,!1,T)+\"Z\"+k):h.attr(\"d\",k)}else{var A=C(i.px0,i.px1,!0,1);if(T){var M=1-T;h.attr(\"d\",\"M\"+(o+T*i.px1[0])+\",\"+(c+T*i.px1[1])+C(i.px1,i.px0,!1,T)+\"l\"+M*i.px0[0]+\",\"+M*i.px0[1]+A+\"Z\")}else h.attr(\"d\",\"M\"+o+\",\"+c+\"l\"+i.px0[0]+\",\"+i.px0[1]+A+\"Z\")}D(t,i,d);var S=g.castOption(m.textposition,i.pts),E=u.selectAll(\"g.slicetext\").data(i.text&&\"none\"!==S?[0]:[]);E.enter().append(\"g\").classed(\"slicetext\",!0),E.exit().remove(),E.each((function(){var u=l.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),h=l.ensureUniformFontSize(t,\"outside\"===S?function(t,e,r){var n=g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,i=g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size;return{color:n,family:i,size:a}}(m,i,r.font):b(m,i,r.font));u.text(i.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,h).call(f.convertToTspans,t);var v,y=s.bBox(u.node());if(\"outside\"===S)v=L(y,i);else if(v=w(y,i,d),\"auto\"===S&&v.scale<1){var x=l.ensureUniformFontSize(t,m.outsidetextfont);u.call(s.font,x),v=L(y=s.bBox(u.node()),i)}var T=v.textPosAngle,k=void 0===T?i.pxmid:z(d.r,T);if(v.targetX=o+k[0]*v.rCenter+(v.x||0),v.targetY=c+k[1]*v.rCenter+(v.y||0),R(v,y),v.outside){var A=v.targetY;i.yLabelMin=A-y.height/2,i.yLabelMid=A,i.yLabelMax=A+y.height/2,i.labelExtraX=0,i.labelExtraY=0,_=!0}v.fontSize=h.size,p(m.type,v,r),e[a].transform=v,u.attr(\"transform\",l.getTextTransform(v))}))}function C(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return\"a\"+n*d.r+\",\"+n*d.r+\" 0 \"+i.largeArc+(r?\" 1 \":\" 0 \")+a+\",\"+o}}));var T=n.select(this).selectAll(\"g.titletext\").data(m.title.text?[0]:[]);if(T.enter().append(\"g\").classed(\"titletext\",!0),T.exit().remove(),T.each((function(){var e,r=l.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),i=m.title.text;m._meta&&(i=l.templateString(i,m._meta)),r.text(i).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,m.title.font).call(f.convertToTspans,t),e=\"middle center\"===m.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(d):C(d,a),r.attr(\"transform\",u(e.x,e.y)+c(Math.min(1,e.scale))+u(e.tx,e.ty))})),_&&function(t,e){var r,n,i,a,o,s,l,c,u,f,h,p,d;function m(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var i,c,u,h,p=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),d=n?t.yLabelMin:t.yLabelMax,m=n?t.yLabelMax:t.yLabelMin,v=t.cyFinal+o(t.px0[1],t.px1[1]),y=p-d;if(y*l>0&&(t.labelExtraY=y),Array.isArray(e.pull))for(c=0;c=(g.castOption(e.pull,u.pts)||0)||((t.pxmid[1]-u.pxmid[1])*l>0?(y=u.cyFinal+o(u.px0[1],u.px1[1])-d-t.labelExtraY)*l>0&&(t.labelExtraY+=y):(m+t.labelExtraY-v)*l>0&&(i=3*s*Math.abs(c-f.indexOf(t)),(h=u.cxFinal+a(u.px0[0],u.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=h)))}for(n=0;n<2;n++)for(i=n?m:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(i),u=t[1-n][r],f=u.concat(c),p=[],h=0;hMath.abs(f)?s+=\"l\"+f*t.pxmid[0]/t.pxmid[1]+\",\"+f+\"H\"+(a+t.labelExtraX+c):s+=\"l\"+t.labelExtraX+\",\"+u+\"v\"+(f-u)+\"h\"+c}else s+=\"V\"+(t.yLabelMid+t.labelExtraY)+\"h\"+c;l.ensureSingle(r,\"path\",\"textline\").call(o.stroke,e.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,e.outsidetextfont.size/8),d:s,fill:\"none\"})}else r.select(\"path.textline\").remove()}))}(v,m),_&&m.automargin){var k=s.bBox(h.node()),A=m.domain,M=a.w*(A.x[1]-A.x[0]),S=a.h*(A.y[1]-A.y[0]),E=(.5*M-d.r)/a.w,P=(.5*S-d.r)/a.h;i.autoMargin(t,\"pie.\"+m.uid+\".automargin\",{xl:A.x[0]-E,xr:A.x[1]+E,yb:A.y[0]-P,yt:A.y[1]+P,l:Math.max(d.cx-d.r-k.left,0),r:Math.max(k.right-(d.cx+d.r),0),b:Math.max(k.bottom-(d.cy+d.r),0),t:Math.max(d.cy-d.r-k.top,0),pad:5})}}))}));setTimeout((function(){h.selectAll(\"tspan\").each((function(){var t=n.select(this);t.attr(\"dy\")&&t.attr(\"dy\",t.attr(\"dy\"))}))}),0)},formatSliceLabel:D,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:C,prerenderTitles:_,layoutAreas:O,attachFxHandlers:x,computeTransform:R}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../components/fx\":406,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plots/plots\":619,\"../bar/constants\":650,\"../bar/uniform_text\":664,\"./event_data\":905,\"./helpers\":906,\"@plotly/d3\":58}],911:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"./style_one\"),a=t(\"../bar/uniform_text\").resizeText;e.exports=function(t){var e=t._fullLayout._pielayer.selectAll(\".trace\");a(t,e,\"pie\"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(\"path.surface\").each((function(t){n.select(this).call(i,t,e)}))}))}},{\"../bar/uniform_text\":664,\"./style_one\":912,\"@plotly/d3\":58}],912:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"./helpers\").castOption;e.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style(\"stroke-width\",s).call(n.fill,e.color).call(n.stroke,o)}},{\"../../components/color\":366,\"./helpers\":906}],913:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\");e.exports={x:n.x,y:n.y,xy:{valType:\"data_array\",editType:\"calc\"},indices:{valType:\"data_array\",editType:\"calc\"},xbounds:{valType:\"data_array\",editType:\"calc\"},ybounds:{valType:\"data_array\",editType:\"calc\"},text:n.text,marker:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,arrayOk:!1,editType:\"calc\"},blend:{valType:\"boolean\",dflt:null,editType:\"calc\"},sizemin:{valType:\"number\",min:.1,max:2,dflt:.5,editType:\"calc\"},sizemax:{valType:\"number\",min:.1,dflt:20,editType:\"calc\"},border:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},arearatio:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},transforms:void 0}},{\"../scatter/attributes\":927}],914:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_pointcloud2d,i=t(\"../../lib/str2rgbarray\"),a=t(\"../../plots/cartesian/autorange\").findExtremes,o=t(\"../scatter/get_trace_color\");function s(t,e){this.scene=t,this.uid=e,this.type=\"pointcloud\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\"rgb(0, 0, 0)\",this.name=\"\",this.hoverinfo=\"all\",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var m=i(t.marker.color),g=i(t.marker.border.color),v=t.opacity*t.marker.opacity;m[3]*=v,this.pointcloudOptions.color=m;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,g[3]*=v,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=a(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=a(w,[d[1],d[3]],{ppad:T})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{\"../../../stackgl_modules\":1124,\"../../lib/str2rgbarray\":528,\"../../plots/cartesian/autorange\":553,\"../scatter/get_trace_color\":937}],915:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(\"x\"),a(\"y\"),a(\"xbounds\"),a(\"ybounds\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a(\"text\"),a(\"marker.color\",r),a(\"marker.opacity\"),a(\"marker.blend\"),a(\"marker.sizemin\"),a(\"marker.sizemax\"),a(\"marker.border.color\",r),a(\"marker.border.arearatio\"),e._length=null}},{\"../../lib\":503,\"./attributes\":913}],916:[function(t,e,r){\"use strict\";[\"*pointcloud* trace is deprecated!\",\"Please consider switching to the *scattergl* trace type.\"].join(\" \");e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"../scatter3d/calc\"),plot:t(\"./convert\"),moduleType:\"trace\",name:\"pointcloud\",basePlotModule:t(\"../../plots/gl2d\"),categories:[\"gl\",\"gl2d\",\"showLegend\"],meta:{}}},{\"../../plots/gl2d\":596,\"../scatter3d/calc\":956,\"./attributes\":913,\"./convert\":914,\"./defaults\":915}],917:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/color/attributes\"),o=t(\"../../components/fx/attributes\"),s=t(\"../../plots/domain\").attributes,l=t(\"../../plots/template_attributes\").hovertemplateAttrs,c=t(\"../../components/colorscale/attributes\"),u=t(\"../../plot_api/plot_template\").templatedArray,f=t(\"../../plots/cartesian/axis_format_attributes\").descriptionOnlyNumbers,h=t(\"../../lib/extend\").extendFlat,p=t(\"../../plot_api/edit_types\").overrideAll;(e.exports=p({hoverinfo:h({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\",description:f(\"value\")},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:n({}),customdata:void 0,node:{label:{valType:\"data_array\",dflt:[]},groups:{valType:\"info_array\",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:\"number\",editType:\"calc\"}},x:{valType:\"data_array\",dflt:[]},y:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:.5,arrayOk:!0}},pad:{valType:\"number\",arrayOk:!1,min:0,dflt:20},thickness:{valType:\"number\",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:[\"value\",\"label\"]})},link:{label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0}},source:{valType:\"data_array\",dflt:[]},target:{valType:\"data_array\",dflt:[]},value:{valType:\"data_array\",dflt:[]},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:[\"value\",\"label\"]}),colorscales:u(\"concentrationscales\",{editType:\"calc\",label:{valType:\"string\",editType:\"calc\",dflt:\"\"},cmax:{valType:\"number\",editType:\"calc\",dflt:1},cmin:{valType:\"number\",editType:\"calc\",dflt:0},colorscale:h(c().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")).transforms=void 0},{\"../../components/color/attributes\":365,\"../../components/colorscale/attributes\":373,\"../../components/fx/attributes\":397,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plot_api/plot_template\":543,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/domain\":584,\"../../plots/font_attributes\":585,\"../../plots/template_attributes\":633}],918:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,i=t(\"../../plots/get_data\").getModuleCalcData,a=t(\"./plot\"),o=t(\"../../components/fx/layout_attributes\"),s=t(\"../../lib/setcursor\"),l=t(\"../../components/dragelement\"),c=t(\"../../plots/cartesian/select\").prepSelect,u=t(\"../../lib\"),f=t(\"../../registry\");function h(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a=\"pan\"===n.dragmode?\"move\":\"crosshair\",o=r._bgRect;if(\"pan\"!==i&&\"zoom\"!==i){s(o,a);var h={_id:\"x\",c2p:u.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:\"y\",c2p:u.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:u.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;ry&&(y=a.source[e]),a.target[e]>y&&(y=a.target[e]);var x,b=y+1;t.node._count=b;var _=t.node.groups,w={};for(e=0;e<_.length;e++){var T=_[e];for(x=0;x0&&s(E,b)&&s(L,b)&&(!w.hasOwnProperty(E)||!w.hasOwnProperty(L)||w[E]!==w[L])){w.hasOwnProperty(L)&&(L=w[L]),w.hasOwnProperty(E)&&(E=w[E]),L=+L,h[E=+E]=h[L]=!0;var C=\"\";a.label&&a.label[e]&&(C=a.label[e]);var P=null;C&&p.hasOwnProperty(C)&&(P=p[C]),c.push({pointNumber:e,label:C,color:u?a.color[e]:a.color,customdata:f?a.customdata[e]:a.customdata,concentrationscale:P,source:E,target:L,value:+S}),M.source.push(E),M.target.push(L)}}var I=b+_.length,O=o(r.color),z=o(r.customdata),D=[];for(e=0;eb-1,childrenNodes:[],pointNumber:e,label:R,color:O?r.color[e]:r.color,customdata:z?r.customdata[e]:r.customdata})}var F=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(I,M.source,M.target)&&(F=!0),{circular:F,links:c,nodes:D,groups:_,groupLookup:w}}e.exports=function(t,e){var r=c(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},{\"../../components/colorscale\":378,\"../../lib\":503,\"../../lib/gup\":500,\"strongly-connected-components\":306}],920:[function(t,e,r){\"use strict\";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\"linear\",cn:{sankey:\"sankey\",sankeyLinks:\"sankey-links\",sankeyLink:\"sankey-link\",sankeyNodeSet:\"sankey-node-set\",sankeyNode:\"sankey-node\",nodeRect:\"node-rect\",nodeLabel:\"node-label\"}}},{}],921:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../components/color\"),o=t(\"tinycolor2\"),s=t(\"../../plots/domain\").defaults,l=t(\"../../components/fx/hoverlabel_defaults\"),c=t(\"../../plot_api/plot_template\"),u=t(\"../../plots/array_container_defaults\");function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r(\"label\"),r(\"cmin\"),r(\"cmax\"),r(\"colorscale\")}e.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),m=t.node,g=c.newContainer(e,\"node\");function v(t,e){return n.coerce(m,g,i.node,t,e)}v(\"label\"),v(\"groups\"),v(\"x\"),v(\"y\"),v(\"pad\"),v(\"thickness\"),v(\"line.color\"),v(\"line.width\"),v(\"hoverinfo\",t.hoverinfo),l(m,g,v,d),v(\"hovertemplate\");var y=h.colorway;v(\"color\",g.label.map((function(t,e){return a.addOpacity(function(t){return y[t%y.length]}(e),.8)}))),v(\"customdata\");var x=t.link||{},b=c.newContainer(e,\"link\");function _(t,e){return n.coerce(x,b,i.link,t,e)}_(\"label\"),_(\"source\"),_(\"target\"),_(\"value\"),_(\"line.color\"),_(\"line.width\"),_(\"hoverinfo\",t.hoverinfo),l(x,b,_,d),_(\"hovertemplate\");var w,T=o(h.paper_bgcolor).getLuminance()<.333?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\";_(\"color\",n.repeat(T,b.value.length)),_(\"customdata\"),u(x,b,{name:\"colorscales\",handleItemDefaults:f}),s(e,h,p),p(\"orientation\"),p(\"valueformat\"),p(\"valuesuffix\"),g.x.length&&g.y.length&&(w=\"freeform\"),p(\"arrangement\",w),n.coerceFont(p,\"textfont\",n.extendFlat({},h.font)),e._length=null}},{\"../../components/color\":366,\"../../components/fx/hoverlabel_defaults\":404,\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../../plots/array_container_defaults\":549,\"../../plots/domain\":584,\"./attributes\":917,tinycolor2:312}],922:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),moduleType:\"trace\",name:\"sankey\",basePlotModule:t(\"./base_plot\"),selectPoints:t(\"./select.js\"),categories:[\"noOpacity\"],meta:{}}},{\"./attributes\":917,\"./base_plot\":918,\"./calc\":919,\"./defaults\":921,\"./plot\":923,\"./select.js\":925}],923:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=i.numberFormat,o=t(\"./render\"),s=t(\"../../components/fx\"),l=t(\"../../components/color\"),c=t(\"./constants\").cn,u=i._;function f(t){return\"\"!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select(\"path\").style(\"fill-opacity\",e),n.select(t).select(\"rect\").style(\"fill-opacity\",e)}function d(t){n.select(t).select(\"text.name\").style(\"fill\",\"black\")}function m(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function v(t,e,r){e&&r&&h(r,e).selectAll(\".\"+c.sankeyLink).filter(m(e)).call(x.bind(0,e,r,!1))}function y(t,e,r){e&&r&&h(r,e).selectAll(\".\"+c.sankeyLink).filter(m(e)).call(b.bind(0,e,r,!1))}function x(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",(function(t){if(!t.link.concentrationscale)return.4})),i&&h(e,t).selectAll(\".\"+c.sankeyLink).filter((function(t){return t.link.label===i})).style(\"fill-opacity\",(function(t){if(!t.link.concentrationscale)return.4})),r&&h(e,t).selectAll(\".\"+c.sankeyNode).filter(g(t)).call(v)}function b(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})),i&&h(e,t).selectAll(\".\"+c.sankeyLink).filter((function(t){return t.link.label===i})).style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})),r&&h(e,t).selectAll(c.sankeyNode).filter(g(t)).call(y)}function _(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,h=r._size,m=0;m\"),color:_(o,\"bgcolor\")||l.addOpacity(m.color,1),borderColor:_(o,\"bordercolor\"),fontFamily:_(o,\"font.family\"),fontSize:_(o,\"font.size\"),fontColor:_(o,\"font.color\"),nameLength:_(o,\"namelength\"),textAlign:_(o,\"align\"),idealAlign:n.event.x\"),color:_(o,\"bgcolor\")||i.tinyColorHue,borderColor:_(o,\"bordercolor\"),fontFamily:_(o,\"font.family\"),fontSize:_(o,\"font.size\"),fontColor:_(o,\"font.color\"),nameLength:_(o,\"namelength\"),textAlign:_(o,\"align\"),idealAlign:\"left\",hovertemplate:o.hovertemplate,hovertemplateLabels:y,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(y,i,a),\"skip\"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit(\"plotly_unhover\",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(y,r,i),s.click(t,{target:!0})}}})}},{\"../../components/color\":366,\"../../components/fx\":406,\"../../lib\":503,\"./constants\":920,\"./render\":924,\"@plotly/d3\":58}],924:[function(t,e,r){\"use strict\";var n=t(\"d3-force\"),i=t(\"d3-interpolate\").interpolateNumber,a=t(\"@plotly/d3\"),o=t(\"@plotly/d3-sankey\"),s=t(\"@plotly/d3-sankey-circular\"),l=t(\"./constants\"),c=t(\"tinycolor2\"),u=t(\"../../components/color\"),f=t(\"../../components/drawing\"),h=t(\"../../lib\"),p=h.strTranslate,d=h.strRotate,m=t(\"../../lib/gup\"),g=m.keyFun,v=m.repeat,y=m.unwrap,x=t(\"../../lib/svg_text_utils\"),b=t(\"../../registry\"),_=t(\"../../constants/alignment\"),w=_.CAP_SHIFT,T=_.LINE_SPACING;function k(t,e,r){var n,i=y(e),a=i.trace,u=a.domain,f=\"h\"===a.orientation,p=a.node.pad,d=a.node.thickness,m=t.width*(u.x[1]-u.x[0]),g=t.height*(u.y[1]-u.y[0]),v=i._nodes,x=i._links,b=i.circular;(n=b?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[m,g]:[g,m]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodes(v).links(x);var _,w,T,k=n();for(var A in n.nodePadding()=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p}))}(function(t){var e,r,n=t.map((function(t,e){return{x0:t.x0,index:e}})).sort((function(t,e){return t.x0-e.x0})),i=[],a=-1,o=-1/0;for(_=0;_o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(v=k.nodes));n.update(k)}return{circular:b,key:r,trace:a,guid:h.randstr(),horizontal:f,width:m,height:g,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:u.x[0]*t.width+t.margin.l,translateY:t.height-u.y[1]*t.height+t.margin.t,dragParallel:f?g:m,dragPerpendicular:f?m:g,arrangement:a.arrangement,sankey:n,graph:k,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=c(e.color),i=e.source.label+\"|\"+e.target.label+\"__\"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:i,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:u.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){if(t.link.circular)return e=t.link,r=e.width/2,n=e.circularPathData,\"top\"===e.circularLinkType?\"M \"+n.targetX+\" \"+(n.targetY+r)+\" L\"+n.rightInnerExtent+\" \"+(n.targetY+r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 1 \"+(n.rightFullExtent-r)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 1 \"+n.rightInnerExtent+\" \"+(n.verticalFullExtent-r)+\"L\"+n.leftInnerExtent+\" \"+(n.verticalFullExtent-r)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftLargeArcRadius+r)+\" 0 0 1 \"+(n.leftFullExtent+r)+\" \"+n.verticalLeftInnerExtent+\"L\"+(n.leftFullExtent+r)+\" \"+(n.sourceY-n.leftSmallArcRadius)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftSmallArcRadius+r)+\" 0 0 1 \"+n.leftInnerExtent+\" \"+(n.sourceY+r)+\"L\"+n.sourceX+\" \"+(n.sourceY+r)+\"L\"+n.sourceX+\" \"+(n.sourceY-r)+\"L\"+n.leftInnerExtent+\" \"+(n.sourceY-r)+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftSmallArcRadius-r)+\" 0 0 0 \"+(n.leftFullExtent-r)+\" \"+(n.sourceY-n.leftSmallArcRadius)+\"L\"+(n.leftFullExtent-r)+\" \"+n.verticalLeftInnerExtent+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftLargeArcRadius-r)+\" 0 0 0 \"+n.leftInnerExtent+\" \"+(n.verticalFullExtent+r)+\"L\"+n.rightInnerExtent+\" \"+(n.verticalFullExtent+r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 0 \"+(n.rightFullExtent+r)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 0 \"+n.rightInnerExtent+\" \"+(n.targetY-r)+\"L\"+n.targetX+\" \"+(n.targetY-r)+\"Z\":\"M \"+n.targetX+\" \"+(n.targetY-r)+\" L\"+n.rightInnerExtent+\" \"+(n.targetY-r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 0 \"+(n.rightFullExtent-r)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 0 \"+n.rightInnerExtent+\" \"+(n.verticalFullExtent+r)+\"L\"+n.leftInnerExtent+\" \"+(n.verticalFullExtent+r)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftLargeArcRadius+r)+\" 0 0 0 \"+(n.leftFullExtent+r)+\" \"+n.verticalLeftInnerExtent+\"L\"+(n.leftFullExtent+r)+\" \"+(n.sourceY+n.leftSmallArcRadius)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftSmallArcRadius+r)+\" 0 0 0 \"+n.leftInnerExtent+\" \"+(n.sourceY-r)+\"L\"+n.sourceX+\" \"+(n.sourceY-r)+\"L\"+n.sourceX+\" \"+(n.sourceY+r)+\"L\"+n.leftInnerExtent+\" \"+(n.sourceY+r)+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftSmallArcRadius-r)+\" 0 0 1 \"+(n.leftFullExtent-r)+\" \"+(n.sourceY+n.leftSmallArcRadius)+\"L\"+(n.leftFullExtent-r)+\" \"+n.verticalLeftInnerExtent+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftLargeArcRadius-r)+\" 0 0 1 \"+n.leftInnerExtent+\" \"+(n.verticalFullExtent-r)+\"L\"+n.rightInnerExtent+\" \"+(n.verticalFullExtent-r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 1 \"+(n.rightFullExtent+r)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 1 \"+n.rightInnerExtent+\" \"+(n.targetY+r)+\"L\"+n.targetX+\" \"+(n.targetY+r)+\"Z\";var e,r,n,a=t.link.source.x1,o=t.link.target.x0,s=i(a,o),l=s(.5),c=s(.5),u=t.link.y0-t.link.width/2,f=t.link.y0+t.link.width/2,h=t.link.y1-t.link.width/2,p=t.link.y1+t.link.width/2;return\"M\"+a+\",\"+u+\"C\"+l+\",\"+u+\" \"+c+\",\"+h+\" \"+o+\",\"+h+\"L\"+o+\",\"+p+\"C\"+c+\",\"+p+\" \"+l+\",\"+f+\" \"+a+\",\"+f+\"Z\"}}function S(t,e){var r=c(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s=\"node_\"+e.pointNumber;return e.group&&(s=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:u.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join(\"_\"),interactionState:t.interactionState,figure:t}}function E(t){t.attr(\"transform\",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function L(t){t.call(E)}function C(t,e){t.call(L),e.attr(\"d\",M())}function P(t){t.attr(\"width\",(function(t){return t.node.x1-t.node.x0})).attr(\"height\",(function(t){return t.visibleHeight}))}function I(t){return t.link.width>1||t.linkLineWidth>0}function O(t){return p(t.translateX,t.translateY)+(t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function z(t,e,r){t.on(\".basic\",null).on(\"mouseover.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on(\"mousemove.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on(\"mouseout.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on(\"click.basic\",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function D(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on(\"dragstart\",(function(a){if(\"fixed\"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,\"g\",\"dragcover\",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),\"snap\"===a.arrangement)){var o=a.traceId+\"|\"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on(\"drag\",(function(r){if(\"fixed\"!==r.arrangement){var n=a.event.x,i=a.event.y;\"snap\"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):(\"freeform\"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),\"snap\"!==r.arrangement&&(r.sankey.update(r.graph),C(t.filter(B(r)),e))}})).on(\"dragend\",(function(t){if(\"fixed\"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&C[v].gap;)v--;for(x=C[v].s,m=C.length-1;m>v;m--)C[m].s=x;for(;lM[u]&&u=0;i--){var a=t[i];if(\"scatter\"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],934:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"./attributes\"),o=t(\"./constants\"),s=t(\"./subtypes\"),l=t(\"./xy_defaults\"),c=t(\"./period_defaults\"),u=t(\"./stack_defaults\"),f=t(\"./marker_defaults\"),h=t(\"./line_defaults\"),p=t(\"./line_shape_defaults\"),d=t(\"./text_defaults\"),m=t(\"./fillcolor_defaults\"),g=t(\"../../lib\").coercePattern;e.exports=function(t,e,r,v){function y(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,v,y);if(x||(e.visible=!1),e.visible){c(t,e,v,y),y(\"xhoverformat\"),y(\"yhoverformat\");var b=u(t,e,v,y),_=!b&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(h.c2p(t.x)-d);return a=Math.min(e,r)&&m<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-m);return aW!=(N=z[I][1])>=W&&(R=z[I-1][0],F=z[I][0],N-B&&(D=R+(F-R)*(W-B)/(N-B),H=Math.min(H,D),q=Math.max(q,D)));H=Math.max(H,0),q=Math.min(q,h._length);var X=s.defaultLine;return s.opacity(f.fillcolor)?X=f.fillcolor:s.opacity((f.line||{}).color)&&(X=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:H,x1:q,y0:W,y1:W,color:X,hovertemplate:!1}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{\"../../components/color\":366,\"../../components/fx\":406,\"../../lib\":503,\"../../registry\":638,\"./get_trace_color\":937}],939:[function(t,e,r){\"use strict\";var n=t(\"./subtypes\");e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"./cross_trace_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./cross_trace_calc\"),arraysToCalcdata:t(\"./arrays_to_calcdata\"),plot:t(\"./plot\"),colorbar:t(\"./marker_colorbar\"),formatLabels:t(\"./format_labels\"),style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"./select\"),animatable:!0,moduleType:\"trace\",name:\"scatter\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":568,\"./arrays_to_calcdata\":926,\"./attributes\":927,\"./calc\":928,\"./cross_trace_calc\":932,\"./cross_trace_defaults\":933,\"./defaults\":934,\"./format_labels\":936,\"./hover\":938,\"./marker_colorbar\":945,\"./plot\":948,\"./select\":949,\"./style\":951,\"./subtypes\":952}],940:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray,i=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s(\"line.color\",r),i(t,\"line\"))?a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}):s(\"line.color\",!n(c)&&c||r);s(\"line.width\"),(l||{}).noDash||s(\"line.dash\")}},{\"../../components/colorscale/defaults\":376,\"../../components/colorscale/helpers\":377,\"../../lib\":503}],941:[function(t,e,r){\"use strict\";var n=t(\"../../constants/numerical\"),i=n.BADNUM,a=n.LOG_CLIP,o=a+.5,s=a-.5,l=t(\"../../lib\"),c=l.segmentsIntersect,u=l.constrain,f=t(\"./constants\");e.exports=function(t,e){var r,n,a,h,p,d,m,g,v,y,x,b,_,w,T,k,A,M,S=e.xaxis,E=e.yaxis,L=\"log\"===S.type,C=\"log\"===E.type,P=S._length,I=E._length,O=e.connectGaps,z=e.baseTolerance,D=e.shape,R=\"linear\"===D,F=e.fill&&\"none\"!==e.fill,B=[],N=f.minTolerance,j=t.length,U=new Array(j),V=0;function H(r){var n=t[r];if(!n)return!1;var a=e.linearized?S.l2p(n.x):S.c2p(n.x),l=e.linearized?E.l2p(n.y):E.c2p(n.y);if(a===i){if(L&&(a=S.c2p(n.x,!0)),a===i)return!1;C&&l===i&&(a*=Math.abs(S._m*I*(S._m>0?o:s)/(E._m*P*(E._m>0?o:s)))),a*=1e3}if(l===i){if(C&&(l=E.c2p(n.y,!0)),l===i)return!1;l*=1e3}return[a,l]}function q(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,c=i*o+a*s;if(c>0&&crt||t[1]it)return[u(t[0],et,rt),u(t[1],nt,it)]}function st(t,e){return t[0]===e[0]&&(t[0]===et||t[0]===rt)||(t[1]===e[1]&&(t[1]===nt||t[1]===it)||void 0)}function lt(t,e,r){return function(n,i){var a=ot(n),o=ot(i),s=[];if(a&&o&&st(a,o))return s;a&&s.push(a),o&&s.push(o);var c=2*l.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);c&&((a&&o?c>0==a[t]>o[t]?a:o:a||o)[t]+=c);return s}}function ct(t){var e=t[0],r=t[1],n=e===U[V-1][0],i=r===U[V-1][1];if(!n||!i)if(V>1){var a=e===U[V-2][0],o=r===U[V-2][1];n&&(e===et||e===rt)&&a?o?V--:U[V-1]=t:i&&(r===nt||r===it)&&o?a?V--:U[V-1]=t:U[V++]=t}else U[V++]=t}function ut(t){U[V-1][0]!==t[0]&&U[V-1][1]!==t[1]&&ct([Z,J]),ct(t),K=null,Z=J=0}function ft(t){if(A=t[0]/P,M=t[1]/I,W=t[0]rt?rt:0,X=t[1]it?it:0,W||X){if(V)if(K){var e=$(K,t);e.length>1&&(ut(e[0]),U[V++]=e[1])}else Q=$(U[V-1],t)[0],U[V++]=Q;else U[V++]=[W||t[0],X||t[1]];var r=U[V-1];W&&X&&(r[0]!==W||r[1]!==X)?(K&&(Z!==W&&J!==X?ct(Z&&J?(n=K,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?et:rt,it]:[o>0?rt:et,nt]):[Z||W,J||X]):Z&&J&&ct([Z,J])),ct([W,X])):Z-W&&J-X&&ct([W||Z,X||J]),K=t,Z=W,J=X}else K&&ut($(K,t)[0]),U[V++]=t;var n,i,a,o}for(\"linear\"===D||\"spline\"===D?$=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=at[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&Y(o,t)G(d,ht))break;a=d,(_=v[0]*g[0]+v[1]*g[1])>x?(x=_,h=d,m=!1):_=t.length||!d)break;ft(d),n=d}}else ft(h)}K&&ct([Z||K[0],J||K[1]]),B.push(U.slice(0,V))}return B}},{\"../../constants/numerical\":479,\"../../lib\":503,\"./constants\":931}],942:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){\"spline\"===r(\"line.shape\")&&r(\"line.smoothing\")}},{}],943:[function(t,e,r){\"use strict\";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var i,a,o,s,l,c={},u=!1,f=-1,h=0,p=-1;for(a=0;a=0?l=p:(l=p=h,h++),l0?Math.max(r,a):0}}},{\"fast-isnumeric\":190}],945:[function(t,e,r){\"use strict\";e.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}},{}],946:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/defaults\"),o=t(\"./subtypes\");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;(c=c||{},f&&(r=f),l(\"marker.symbol\"),l(\"marker.opacity\",u?.7:1),l(\"marker.size\"),l(\"marker.color\",r),i(t,\"marker\")&&a(t,e,s,l,{prefix:\"marker.\",cLetter:\"c\"}),c.noSelect||(l(\"selected.marker.color\"),l(\"unselected.marker.color\"),l(\"selected.marker.size\"),l(\"unselected.marker.size\")),c.noLine||(l(\"marker.line.color\",f&&!Array.isArray(f)&&e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,\"marker.line\")&&a(t,e,s,l,{prefix:\"marker.line.\",cLetter:\"c\"}),l(\"marker.line.width\",u?1:0)),u&&(l(\"marker.sizeref\"),l(\"marker.sizemin\"),l(\"marker.sizemode\")),c.gradient)&&(\"none\"!==l(\"marker.gradient.type\")&&l(\"marker.gradient.color\"))}},{\"../../components/color\":366,\"../../components/colorscale/defaults\":376,\"../../components/colorscale/helpers\":377,\"./subtypes\":952}],947:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").dateTick0,i=t(\"../../constants/numerical\").ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}e.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n(\"xperiod\");o&&(n(\"xperiod0\",a(o,e.xcalendar)),n(\"xperiodalignment\"))}if(i.y){var s=n(\"yperiod\");s&&(n(\"yperiod0\",a(s,e.ycalendar)),n(\"yperiodalignment\"))}}},{\"../../constants/numerical\":479,\"../../lib\":503}],948:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=a.ensureSingle,s=a.identity,l=t(\"../../components/drawing\"),c=t(\"./subtypes\"),u=t(\"./line_points\"),f=t(\"./link_traces\"),h=t(\"../../lib/polygon\").tester;function p(t,e,r,f,p,d,m){var g;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,u=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(!c.hasMarkers(h))return;var p=h.marker.maxdisplayed;if(0===p)return;var d=i.filter((function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=f[0]&&t.y<=f[1]})),m=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function y(t){return v?t.transition():t}var x=r.xaxis,b=r.yaxis,_=f[0].trace,w=_.line,T=n.select(d),k=o(T,\"g\",\"errorbars\"),A=o(T,\"g\",\"lines\"),M=o(T,\"g\",\"points\"),S=o(T,\"g\",\"text\");if(i.getComponentMethod(\"errorbars\",\"plot\")(t,k,r,m),!0===_.visible){var E,L;y(T).style(\"opacity\",_.opacity);var C=_.fill.charAt(_.fill.length-1);\"x\"!==C&&\"y\"!==C&&(C=\"\"),f[0][r.isRangePlot?\"nodeRangePlot3\":\"node3\"]=T;var P,I,O=\"\",z=[],D=_._prevtrace;D&&(O=D._prevRevpath||\"\",L=D._nextFill,z=D._polygons);var R,F,B,N,j,U,V,H=\"\",q=\"\",G=[],Y=a.noop;if(E=_._ownFill,c.hasLines(_)||\"none\"!==_.fill){for(L&&L.datum(f),-1!==[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(w.shape)?(R=l.steps(w.shape),F=l.steps(w.shape.split(\"\").reverse().join(\"\"))):R=F=\"spline\"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return\"M\"+t.join(\"L\")},B=function(t){return F(t.reverse())},G=u(f,{xaxis:x,yaxis:b,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify,fill:_.fill}),V=_._polygons=new Array(G.length),g=0;g1){var r=n.select(this);if(r.datum(f),t)y(r.style(\"opacity\",0).attr(\"d\",P).call(l.lineGroupStyle)).style(\"opacity\",1);else{var i=y(r);i.attr(\"d\",P),l.singleLineStyle(f,i)}}}}}var W=A.selectAll(\".js-line\").data(G);y(W.exit()).style(\"opacity\",0).remove(),W.each(Y(!1)),W.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",\"non-scaling-stroke\").call(l.lineGroupStyle).each(Y(!0)),l.setClipUrl(W,r.layerClipId,t),G.length?(E?(E.datum(f),N&&U&&(C?(\"y\"===C?N[1]=U[1]=b.c2p(0,!0):\"x\"===C&&(N[0]=U[0]=x.c2p(0,!0)),y(E).attr(\"d\",\"M\"+U+\"L\"+N+\"L\"+H.substr(1)).call(l.singleFillStyle,t)):y(E).attr(\"d\",H+\"Z\").call(l.singleFillStyle,t))):L&&(\"tonext\"===_.fill.substr(0,6)&&H&&O?(\"tonext\"===_.fill?y(L).attr(\"d\",H+\"Z\"+O+\"Z\").call(l.singleFillStyle,t):y(L).attr(\"d\",H+\"L\"+O.substr(1)+\"Z\").call(l.singleFillStyle,t),_._polygons=_._polygons.concat(z)):(Z(L),_._polygons=null)),_._prevRevpath=q,_._prevPolygons=V):(E?Z(E):L&&Z(L),_._polygons=_._prevRevpath=_._prevPolygons=null),M.datum(f),S.datum(f),function(e,i,a){var o,u=a[0].trace,f=c.hasMarkers(u),h=c.hasText(u),p=tt(u),d=et,m=et;if(f||h){var g=s,_=u.stackgroup,w=_&&\"infer zero\"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?g=w?K:J:_&&!w&&(g=Q),f&&(d=g),h&&(m=g)}var T,k=(o=e.selectAll(\"path.point\").data(d,p)).enter().append(\"path\").classed(\"point\",!0);v&&k.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style(\"opacity\",0).transition().style(\"opacity\",1),o.order(),f&&(T=l.makePointStyleFns(u)),o.each((function(e){var i=n.select(this),a=y(i);l.translatePoint(e,a,x,b)?(l.singlePointStyle(e,a,u,T,t),r.layerClipId&&l.hideOutsideRangePoint(e,a,x,b,u.xcalendar,u.ycalendar),u.customdata&&i.classed(\"plotly-customdata\",null!==e.data&&void 0!==e.data)):a.remove()})),v?o.exit().transition().style(\"opacity\",0).remove():o.exit().remove(),(o=i.selectAll(\"g\").data(m,p)).enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),o.order(),o.each((function(t){var e=n.select(this),i=y(e.select(\"text\"));l.translatePoint(t,i,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()})),o.selectAll(\"text\").call(l.textPointStyle,u,t).each((function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll(\"tspan.line\").each((function(){y(n.select(this)).attr({x:e,y:r})}))})),o.exit().remove()}(M,S,f);var X=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(M,X,t),l.setClipUrl(S,X,t)}function Z(t){y(t).attr(\"d\",\"M0,0Z\")}function J(t){return t.filter((function(t){return!t.gap&&t.vis}))}function K(t){return t.filter((function(t){return t.vis}))}function Q(t){return t.filter((function(t){return!t.gap}))}function $(t){return t.id}function tt(t){if(t.ids)return $}function et(){return!1}}e.exports=function(t,e,r,i,a,c){var u,h,d=!a,m=!!a&&a.duration>0,g=f(t,e,r);((u=i.selectAll(\"g.trace\").data(g,(function(t){return t[0].trace.uid}))).enter().append(\"g\").attr(\"class\",(function(t){return\"trace scatter trace\"+t[0].trace.uid})).style(\"stroke-miterlimit\",2),u.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),\"g\",\"fills\");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,c=[];a._ownfill&&c.push(\"_ownFill\"),a._nexttrace&&c.push(\"_nextFill\");var u=i.selectAll(\"g\").data(c,s);u.enter().append(\"g\"),u.exit().each((function(t){a[t]=null})).remove(),u.order().each((function(t){a[t]=o(n.select(this),\"path\",\"js-fill\")}))}))}(t,u,e),m)?(c&&(h=c()),n.transition().duration(a.duration).ease(a.easing).each(\"end\",(function(){h&&h()})).each(\"interrupt\",(function(){h&&h()})).each((function(){i.selectAll(\"g.trace\").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):u.each((function(r,n){p(t,n,e,r,g,this,a)}));d&&u.exit().remove(),i.selectAll(\"path:not([d])\").remove()}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/polygon\":515,\"../../registry\":638,\"./line_points\":941,\"./link_traces\":943,\"./subtypes\":952,\"@plotly/d3\":58}],949:[function(t,e,r){\"use strict\";var n=t(\"./subtypes\");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r0){var h=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf(\"right\")>-1?1:0}function b(t){return null==t?0:t.indexOf(\"top\")>-1?-1:t.indexOf(\"bottom\")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var m=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f(\"surfacecolor\",h||p);for(var d=[\"x\",\"y\",\"z\"],m=0;m<3;++m){var g=\"projection.\"+d[m];f(g+\".show\")&&(f(g+\".opacity\"),f(g+\".scale\"))}var v=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(t,e,h||p||r,{axis:\"z\"}),v(t,e,h||p||r,{axis:\"y\",inherit:\"z\"}),v(t,e,h||p||r,{axis:\"x\",inherit:\"z\"})}else e.visible=!1}},{\"../../lib\":503,\"../../registry\":638,\"../scatter/line_defaults\":940,\"../scatter/marker_defaults\":946,\"../scatter/subtypes\":952,\"../scatter/text_defaults\":953,\"./attributes\":955}],960:[function(t,e,r){\"use strict\";e.exports={plot:t(\"./convert\"),attributes:t(\"./attributes\"),markerSymbols:t(\"../../constants/gl3d_markers\"),supplyDefaults:t(\"./defaults\"),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:t(\"./calc\"),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../constants/gl3d_markers\":477,\"../../plots/gl3d\":598,\"./attributes\":955,\"./calc\":956,\"./convert\":958,\"./defaults\":959}],961:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../../plots/template_attributes\").texttemplateAttrs,s=t(\"../../components/colorscale/attributes\"),l=t(\"../../lib/extend\").extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:l({},n.mode,{dflt:\"markers\"}),text:l({},n.text,{}),texttemplate:o({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:u.dash,shape:l({},u.shape,{values:[\"linear\",\"spline\"]}),smoothing:u.smoothing,editType:\"calc\"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:f.width,editType:\"calc\"},s(\"marker.line\")),gradient:c.gradient,editType:\"calc\"},s(\"marker\")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:n.hoveron,hovertemplate:a()}},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927}],962:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../scatter/colorscale_calc\"),a=t(\"../scatter/arrays_to_calcdata\"),o=t(\"../scatter/calc_selection\"),s=t(\"../scatter/calc\").calcMarkerSize,l=t(\"../carpet/lookup_carpetid\");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,f,h=e._length,p=new Array(h),d=!1;for(c=0;c\")}return o}function y(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\"\"):t._hovertitle,g.push(r+\": \"+e.toFixed(3)+t.labelsuffix)}}},{\"../../lib\":503,\"../scatter/hover\":938}],967:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../scatter/select\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":568,\"../scatter/marker_colorbar\":945,\"../scatter/select\":949,\"../scatter/style\":951,\"./attributes\":961,\"./calc\":962,\"./defaults\":963,\"./event_data\":964,\"./format_labels\":965,\"./hover\":966,\"./plot\":968}],968:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../components/drawing\");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,f={xaxis:i.getFromId(t,u.xaxis||\"x\"),yaxis:i.getFromId(t,u.yaxis||\"y\"),plot:e.plot};for(n(t,f,r,o),s=0;s\")}(c,m,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{\"../../components/fx\":406,\"../../constants/numerical\":479,\"../../lib\":503,\"../scatter/get_trace_color\":937,\"./attributes\":969}],975:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),calcGeoJSON:t(\"./plot\").calcGeoJSON,plot:t(\"./plot\").plot,style:t(\"./style\"),styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:t(\"../../plots/geo\"),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../plots/geo\":589,\"../scatter/marker_colorbar\":945,\"../scatter/style\":951,\"./attributes\":969,\"./calc\":970,\"./defaults\":971,\"./event_data\":972,\"./format_labels\":973,\"./hover\":974,\"./plot\":976,\"./select\":977,\"./style\":978}],976:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../lib/topojson_utils\").getTopojsonFeatures,o=t(\"../../lib/geojson_utils\"),s=t(\"../../lib/geo_location_utils\"),l=t(\"../../plots/cartesian/autorange\").findExtremes,c=t(\"../../constants/numerical\").BADNUM,u=t(\"../scatter/calc\").calcMarkerSize,f=t(\"../scatter/subtypes\"),h=t(\"./style\");e.exports={calcGeoJSON:function(t,e){var r,n,i=t[0].trace,o=e[i.geo],f=o._subplot,h=i._length;if(Array.isArray(i.locations)){var p=i.locationmode,d=\"geojson-id\"===p?s.extractTraceFeature(t):a(i,f.topojson);for(r=0;r=g,w=2*b,T={},k=l.makeCalcdata(e,\"x\"),A=y.makeCalcdata(e,\"y\"),M=s(e,l,\"x\",k),S=s(e,y,\"y\",A),E=M.vals,L=S.vals;e._x=E,e._y=L,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var C=new Array(w),P=new Array(b);for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n));if(s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel)));return s}(t,0,e,C,E,L),z=d(t,x);return f(o,e),_?O.marker&&(I=O.marker.sizeAvg||Math.max(O.marker.size,3)):I=c(e,b),u(t,e,l,y,E,L,I),O.errorX&&v(e,l,O.errorX),O.errorY&&v(e,y,O.errorY),O.fill&&!z.fill2d&&(z.fill2d=!0),O.marker&&!z.scatter2d&&(z.scatter2d=!0),O.line&&!z.line2d&&(z.line2d=!0),!O.errorX&&!O.errorY||z.error2d||(z.error2d=!0),O.text&&!z.glText&&(z.glText=!0),O.marker&&(O.marker.snap=b),z.lineOptions.push(O.line),z.errorXOptions.push(O.errorX),z.errorYOptions.push(O.errorY),z.fillOptions.push(O.fill),z.markerOptions.push(O.marker),z.markerSelectedOptions.push(O.markerSel),z.markerUnselectedOptions.push(O.markerUnsel),z.textOptions.push(O.text),z.textSelectedOptions.push(O.textSel),z.textUnselectedOptions.push(O.textUnsel),z.selectBatch.push([]),z.unselectBatch.push([]),T._scene=z,T.index=z.count,T.x=E,T.y=L,T.positions=C,z.count++,[{x:!1,y:!1,t:T,trace:e}]}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/align_period\":551,\"../../plots/cartesian/autorange\":553,\"../../plots/cartesian/axis_ids\":558,\"../scatter/calc\":928,\"../scatter/colorscale_calc\":930,\"./constants\":982,\"./convert\":983,\"./scene_update\":991,\"@plotly/point-cluster\":59}],982:[function(t,e,r){\"use strict\";e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},{}],983:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"svg-path-sdf\"),a=t(\"color-normalize\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../components/drawing\"),c=t(\"../../plots/cartesian/axis_ids\"),u=t(\"../../lib/gl_format_color\").formatColor,f=t(\"../scatter/subtypes\"),h=t(\"../scatter/make_bubble_size_func\"),p=t(\"./helpers\"),d=t(\"./constants\"),m=t(\"../../constants/interactions\").DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=t(\"../../components/fx/helpers\").appendArrayPointValue;function y(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,l=e.textposition,c=Array.isArray(l)?l:[l],u=o.color,f=o.size,h=o.family,p={},d=t._context.plotGlPixelRatio,m=e.texttemplate;if(m){p.text=[];var g=i._d3locale,y=Array.isArray(m),x=y?Math.min(m.length,a):a,b=y?function(t){return m[t]}:function(){return m};for(r=0;rd.TOO_MANY_POINTS||f.hasMarkers(e)?\"rect\":\"round\";if(c&&e.connectgaps){var h=n[0],p=n[1];for(i=0;i1?l[i]:l[0]:l,d=Array.isArray(c)?c.length>1?c[i]:c[0]:c,m=g[p],v=g[d],y=u?u/.8+1:0,x=-v*y-.5*v;o.offset[i]=[m*y/h,x/h]}}return o}}},{\"../../components/drawing\":388,\"../../components/fx/helpers\":402,\"../../constants/interactions\":478,\"../../lib\":503,\"../../lib/gl_format_color\":499,\"../../plots/cartesian/axis_ids\":558,\"../../registry\":638,\"../scatter/make_bubble_size_func\":944,\"../scatter/subtypes\":952,\"./constants\":982,\"./helpers\":987,\"color-normalize\":89,\"fast-isnumeric\":190,\"svg-path-sdf\":310}],984:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"./helpers\"),o=t(\"./attributes\"),s=t(\"../scatter/constants\"),l=t(\"../scatter/subtypes\"),c=t(\"../scatter/xy_defaults\"),u=t(\"../scatter/period_defaults\"),f=t(\"../scatter/marker_defaults\"),h=t(\"../scatter/line_defaults\"),p=t(\"../scatter/fillcolor_defaults\"),d=t(\"../scatter/text_defaults\");e.exports=function(t,e,r,m){function g(r,i){return n.coerce(t,e,o,r,i)}var v=!!t.marker&&a.isOpenSymbol(t.marker.symbol),y=l.isBubble(t),x=c(t,e,m,g);if(x){u(t,e,m,g),g(\"xhoverformat\"),g(\"yhoverformat\");var b=x100},r.isDotSymbol=function(t){return\"string\"==typeof t?n.DOT_RE.test(t):t>200}},{\"./constants\":982}],988:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../scatter/get_trace_color\");function o(t,e,r,o){var s=t.xa,l=t.ya,c=t.distance,u=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=Array.isArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=Array.isArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var m=d&&d.line;m&&(h.mlc=Array.isArray(m.color)?m.color[f]:m.color,h.mlw=i.isArrayOrTypedArray(m.width)?m.width[f]:m.width);var g=d&&d.gradient;g&&\"none\"!==g.type&&(h.mgt=Array.isArray(g.type)?g.type[f]:g.type,h.mgc=Array.isArray(g.color)?g.color[f]:g.color);var v=s.c2p(h.x,!0),y=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,h),x0:v-x,x1:v+x,xLabelVal:k?k[f]:h.x,y0:y-x,y1:y+x,yLabelVal:A?A[f]:h.y,cd:T,distance:c,spikeDistance:u,hovertemplate:h.ht});return h.htx?M.text=h.htx:h.tx?M.text=h.tx:o.text&&(M.text=o.text),i.fillText(h,o,M),n.getComponentMethod(\"errorbars\",\"hoverInfo\")(h,o,M),M}e.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,c,u,f,h,p,d,m=t.cd,g=m[0].t,v=m[0].trace,y=t.xa,x=t.ya,b=g.x,_=g.y,w=y.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=y.p2c(w-k),M=y.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i=\"x\"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var L=k;if(\"x\"===n){var C=!!v.xperiodalignment,P=!!v.yperiodalignment;for(u=0;u=Math.min(I,O)&&w<=Math.max(I,O)?0:1/0}if(f=Math.min(z,D)&&T<=Math.max(z,D)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[u]}}}else for(u=i.length-1;u>-1;u--)l=b[a=i[u]],c=_[a],f=y.c2p(l)-w,h=x.c2p(c)-T,(p=Math.sqrt(f*f+h*h))y.glText.length){var T=_-y.glText.length;for(m=0;mr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),y.line2d.update(y.lineOptions)),y.error2d){var A=(y.errorXOptions||[]).concat(y.errorYOptions||[]);y.error2d.update(A)}y.scatter2d&&y.scatter2d.update(y.markerOptions),y.fillOrder=s.repeat(null,_),y.fill2d&&(y.fillOptions=y.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,c=y.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(y.fillOrder[e]=u);var f,h,p=[],d=c&&c.positions||l.positions;if(\"tozeroy\"===s.fill){for(f=0;ff&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if(\"tozerox\"===s.fill){for(f=0;ff&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if(\"toself\"===s.fill||\"tonext\"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(m=0;m<_;m++){var L=r[m][0],C=L.trace,P=L.t,I=P.index,O=C._length,z=P.x,D=P.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var R=y.selectBatch[I]=s.selIndices2selPoints(C),F={};for(g=0;g\")}function u(t){return t+\"\\xb0\"}}e.exports={hoverPoints:function(t,e,r){var o=t.cd,c=o[0].trace,u=t.xa,f=t.ya,h=t.subplot,p=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=h.project([n,a]),l=o.x-u.c2p([d,a]),c=o.y-f.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)}),t),!1!==t.index){var m=o[t.index],g=m.lonlat,v=[i.modHalf(g[0],360)+p,g[1]],y=u.c2p(v),x=f.c2p(v),b=m.mrc||1;t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b;var _={};_[c.subplot]={_subplot:h};var w=c._module.formatLabels(m,c,_);return t.lonLabel=w.lonLabel,t.latLabel=w.latLabel,t.color=a(c,m),t.extraText=l(c,m,o[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}},getExtraText:l}},{\"../../components/fx\":406,\"../../constants/numerical\":479,\"../../lib\":503,\"../scatter/get_trace_color\":937}],999:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"../scattergeo/calc\"),plot:t(\"./plot\"),hoverPoints:t(\"./hover\").hoverPoints,eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:t(\"../../plots/mapbox\"),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../plots/mapbox\":613,\"../scatter/marker_colorbar\":945,\"../scattergeo/calc\":970,\"./attributes\":993,\"./defaults\":995,\"./event_data\":996,\"./format_labels\":997,\"./hover\":998,\"./plot\":1e3,\"./select\":1001}],1e3:[function(t,e,r){\"use strict\";var n=t(\"./convert\"),i=t(\"../../plots/mapbox/constants\").traceLayerPrefix,a=[\"fill\",\"line\",\"circle\",\"symbol\"];function o(t,e){this.type=\"scattermapbox\",this.subplot=t,this.uid=e,this.sourceIds={fill:\"source-\"+e+\"-fill\",line:\"source-\"+e+\"-line\",circle:\"source-\"+e+\"-circle\",symbol:\"source-\"+e+\"-symbol\"},this.layerIds={fill:i+e+\"-fill\",line:i+e+\"-line\",circle:i+e+\"-circle\",symbol:i+e+\"-symbol\"},this.below=null}var s=o.prototype;s.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:\"geojson\",data:e.geojson})},s.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},s.addLayer=function(t,e,r){this.subplot.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint},r)},s.update=function(t){var e,r,i,o=this.subplot,s=o.map,l=n(o.gd,t),c=o.belowLookup[\"trace-\"+this.uid];if(c!==this.below){for(e=a.length-1;e>=0;e--)r=a[e],s.removeLayer(this.layerIds[r]);for(e=0;e=0;e--){var r=a[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=e[0].trace,i=new o(t,r.uid),s=n(t.gd,e),l=i.below=t.belowLookup[\"trace-\"+r.uid],c=0;c\")}}e.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:i}},{\"../scatter/hover\":938}],1007:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:t(\"../../plots/polar\"),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"../scatter/select\"),meta:{}}},{\"../../plots/polar\":622,\"../scatter/marker_colorbar\":945,\"../scatter/select\":949,\"../scatter/style\":951,\"./attributes\":1002,\"./calc\":1003,\"./defaults\":1004,\"./format_labels\":1005,\"./hover\":1006,\"./plot\":1008}],1008:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r){for(var a=e.layers.frontplot.select(\"g.scatterlayer\"),o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},s=e.radialAxis,l=e.angularAxis,c=0;c=c&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&l.extendFlat(y.line,s.linePositions(t,p,_)),y.text&&(l.extendFlat(y.text,{positions:_},s.textPosition(t,p,y.text,y.marker)),l.extendFlat(y.textSel,{positions:_},s.textPosition(t,p,y.text,y.markerSel)),l.extendFlat(y.textUnsel,{positions:_},s.textPosition(t,p,y.text,y.markerUnsel))),y.fill&&!h.fill2d&&(h.fill2d=!0),y.marker&&!h.scatter2d&&(h.scatter2d=!0),y.line&&!h.line2d&&(h.line2d=!0),y.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(y.line),h.fillOptions.push(y.fill),h.markerOptions.push(y.marker),h.markerSelectedOptions.push(y.markerSel),h.markerUnselectedOptions.push(y.markerUnsel),h.textOptions.push(y.text),h.textSelectedOptions.push(y.textSel),h.textUnselectedOptions.push(y.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=v,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}},e.exports.reglPrecompiled={}},{\"../../lib\":503,\"../scattergl/constants\":982,\"../scattergl/convert\":983,\"../scattergl/plot\":990,\"../scattergl/scene_update\":991,\"@plotly/point-cluster\":59,\"fast-isnumeric\":190}],1017:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../plots/template_attributes\").texttemplateAttrs,a=t(\"../../lib/extend\").extendFlat,o=t(\"../scatter/attributes\"),s=t(\"../../plots/attributes\"),l=o.line;e.exports={mode:o.mode,real:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},imag:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:o.text,texttemplate:i({editType:\"plot\"},{keys:[\"real\",\"imag\",\"text\"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,shape:a({},l.shape,{values:[\"linear\",\"spline\"]}),smoothing:l.smoothing,editType:\"calc\"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:a({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:a({},o.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:o.fillcolor,hoverinfo:a({},s.hoverinfo,{flags:[\"real\",\"imag\",\"text\",\"name\"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927}],1018:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../scatter/colorscale_calc\"),o=t(\"../scatter/arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\"),l=t(\"../scatter/calc\").calcMarkerSize;e.exports=function(t,e){for(var r=t._fullLayout,c=e.subplot,u=r[c].realaxis,f=r[c].imaginaryaxis,h=u.makeCalcdata(e,\"real\"),p=f.makeCalcdata(e,\"imag\"),d=e._length,m=new Array(d),g=0;g\")}}e.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:i}},{\"../scatter/hover\":938}],1022:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:t(\"../../plots/smith\"),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"../scatter/select\"),meta:{}}},{\"../../plots/smith\":629,\"../scatter/marker_colorbar\":945,\"../scatter/select\":949,\"../scatter/style\":951,\"./attributes\":1017,\"./calc\":1018,\"./defaults\":1019,\"./format_labels\":1020,\"./hover\":1021,\"./plot\":1023}],1023:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../../plots/smith/helpers\").smith;e.exports=function(t,e,r){for(var o=e.layers.frontplot.select(\"g.scatterlayer\"),s={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},l=0;l\"),o.hovertemplate=h.hovertemplate,a}function x(t,e){v.push(t._hovertitle+\": \"+e)}}},{\"../scatter/hover\":938}],1030:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../scatter/select\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"scatterternary\",basePlotModule:t(\"../../plots/ternary\"),categories:[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../plots/ternary\":634,\"../scatter/marker_colorbar\":945,\"../scatter/select\":949,\"../scatter/style\":951,\"./attributes\":1024,\"./calc\":1025,\"./defaults\":1026,\"./event_data\":1027,\"./format_labels\":1028,\"./hover\":1029,\"./plot\":1031}],1031:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\");e.exports=function(t,e,r){var i=e.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select(\"g.scatterlayer\");n(t,a,r,o)}},{\"../scatter/plot\":948}],1032:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,o=t(\"../../plots/template_attributes\").hovertemplateAttrs,s=t(\"../scattergl/attributes\"),l=t(\"../../plots/cartesian/constants\").idRegex,c=t(\"../../plot_api/plot_template\").templatedArray,u=t(\"../../lib/extend\").extendFlat,f=n.marker,h=f.line,p=u(i(\"marker.line\",{editTypeOverride:\"calc\"}),{width:u({},h.width,{editType:\"calc\"}),editType:\"calc\"}),d=u(i(\"marker\"),{symbol:f.symbol,size:u({},f.size,{editType:\"markerSize\"}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:f.opacity,colorbar:f.colorbar,line:p,editType:\"calc\"});function m(t){return{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"subplotid\",regex:l[t],editType:\"plot\"}}}d.color.editType=d.cmin.editType=d.cmax.editType=\"style\",e.exports={dimensions:c(\"dimension\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},label:{valType:\"string\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},axis:{type:{valType:\"enumerated\",values:[\"linear\",\"log\",\"date\",\"category\"],editType:\"calc+clearAxisTypes\"},matches:{valType:\"boolean\",dflt:!1,editType:\"calc\"},editType:\"calc+clearAxisTypes\"},editType:\"calc+clearAxisTypes\"}),text:u({},s.text,{}),hovertext:u({},s.hovertext,{}),hovertemplate:o(),xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),marker:d,xaxes:m(\"x\"),yaxes:m(\"y\"),diagonal:{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},showupperhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},showlowerhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},selected:{marker:s.selected.marker,editType:\"calc\"},unselected:{marker:s.unselected.marker,editType:\"calc\"},opacity:s.opacity}},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/cartesian/constants\":561,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927,\"../scattergl/attributes\":979}],1033:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../components/grid\");e.exports={moduleType:\"trace\",name:\"splom\",categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),calc:t(\"./calc\"),plot:t(\"./plot\"),hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"./select\"),editStyle:t(\"./edit_style\"),meta:{}},n.register(i)},{\"../../components/grid\":410,\"../../registry\":638,\"../scatter/marker_colorbar\":945,\"./attributes\":1032,\"./calc\":1035,\"./defaults\":1036,\"./edit_style\":1037,\"./hover\":1039,\"./plot\":1041,\"./select\":1043}],1034:[function(t,e,r){\"use strict\";var n=t(\"regl-line2d\"),i=t(\"../../registry\"),a=t(\"../../lib/prepare_regl\"),o=t(\"../../plots/get_data\").getModuleCalcData,s=t(\"../../plots/cartesian\"),l=t(\"../../plots/cartesian/axis_ids\").getFromId,c=t(\"../../plots/cartesian/axes\").shouldShowZeroLine,u={};function f(t,e,r){for(var n=r.matrixOptions.data.length,i=e._visibleDims,a=r.viewOpts.ranges=new Array(n),o=0;oh?b.sizeAvg||Math.max(b.size,3):a(e,x),p=0;pa&&l||i-1,P=!0;if(o(x)||!!p.selectedpoints||C){var I=p._length;if(p.selectedpoints){m.selectBatch=p.selectedpoints;var O=p.selectedpoints,z={};for(l=0;l1&&(u=m[y-1],h=g[y-1],d=v[y-1]),e=0;eu?\"-\":\"+\")+\"x\")).replace(\"y\",(f>h?\"-\":\"+\")+\"y\")).replace(\"z\",(p>d?\"-\":\"+\")+\"z\");var L=function(){y=0,M=[],S=[],E=[]};(!y||y2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,u=e._len,f={};function d(t,e){var n=r[e],o=i[c[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,\"xaxis\"),d(e._v,\"yaxis\"),d(e._w,\"zaxis\"),u),!u)return{positions:[],cells:[]};var m=d(e._Xs,\"xaxis\"),g=d(e._Ys,\"yaxis\"),v=d(e._Zs,\"zaxis\");if(f.meshgrid=[m,g,v],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,\"xaxis\"),d(e._startsY,\"yaxis\"),d(e._startsZ,\"zaxis\"));else{for(var y=g[0],x=h(m),b=h(v),_=new Array(x.length*b.length),w=0,T=0;T=0};v?(r=Math.min(g.length,x.length),l=function(t){return A(g[t])&&M(t)},f=function(t){return String(g[t])}):(r=Math.min(y.length,x.length),l=function(t){return A(y[t])&&M(t)},f=function(t){return String(y[t])}),_&&(r=Math.min(r,b.length));for(var S=0;S1){for(var P=a.randstr(),I=0;I\"),name:A||z(\"name\")?y.name:void 0,color:k(\"hoverlabel.bgcolor\")||x.color,borderColor:k(\"hoverlabel.bordercolor\"),fontFamily:k(\"hoverlabel.font.family\"),fontSize:k(\"hoverlabel.font.size\"),fontColor:k(\"hoverlabel.font.color\"),nameLength:k(\"hoverlabel.namelength\"),textAlign:k(\"hoverlabel.align\"),hovertemplate:A,hovertemplateLabels:P,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?\"left\":\"right\"),v&&(F.x=E,F.idealAlign=E<0?\"left\":\"right\");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(v){var N=t.select(\"path.surface\");h.styleOne(N,i,y,{hovered:!0})}d._hasHoverEvent=!0,r.emit(\"plotly_hover\",{points:l||[f(i,y,h.eventDataKeys)],event:n.event})}})),t.on(\"mouseout\",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit(\"plotly_unhover\",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),v){var l=t.select(\"path.surface\");h.styleOne(l,s,a,{hovered:!1})}})),t.on(\"click\",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(c.isHierarchyRoot(t)||c.isLeaf(t)),u=c.getPtId(t),p=c.isEntry(t)?c.findEntryWithChild(m,u):c.findEntryWithLevel(m,u),v=c.getPtId(p),y={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(y.nextLevel=v);var x=l.triggerHandler(r,\"plotly_\"+d.type+\"click\",y);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call(\"_storeDirectGUIEdit\",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:v}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:\"immediate\",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call(\"animate\",r,b,_)}}))}},{\"../../components/fx\":406,\"../../components/fx/helpers\":402,\"../../lib\":503,\"../../lib/events\":492,\"../../registry\":638,\"../pie/helpers\":906,\"./helpers\":1055,\"@plotly/d3\":58}],1055:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../../lib/setcursor\"),o=t(\"../pie/helpers\");function s(t){return t.data.data.pid}r.findEntryWithLevel=function(t,e){var n;return e&&t.eachAfter((function(t){if(r.getPtId(t)===e)return n=t.copy()})),n||t},r.findEntryWithChild=function(t,e){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},r.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},r.isHeader=function(t,e){return!(r.isLeaf(t)||t.depth===e._maxDepth-1)},r.getParent=function(t,e){return r.findEntryWithLevel(t,s(e))},r.listPath=function(t,e){var n=t.parent;if(!n)return[];var i=e?[n.data[e]]:[n];return r.listPath(n,e).concat(i)},r.getPath=function(t){return r.listPath(t,\"label\").join(\"/\")+\"/\"},r.formatValue=o.formatPieValue,r.formatPercent=function(t,e){var r=n.formatPercent(t,0);return\"0%\"===r&&(r=o.formatPiePercent(t,e)),r}},{\"../../components/color\":366,\"../../lib\":503,\"../../lib/setcursor\":524,\"../pie/helpers\":906}],1056:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:t(\"./base_plot\"),categories:[],animatable:!0,attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\").plot,style:t(\"./style\").style,colorbar:t(\"../scatter/marker_colorbar\"),meta:{}}},{\"../scatter/marker_colorbar\":945,\"./attributes\":1049,\"./base_plot\":1050,\"./calc\":1051,\"./defaults\":1053,\"./layout_attributes\":1057,\"./layout_defaults\":1058,\"./plot\":1059,\"./style\":1060}],1057:[function(t,e,r){\"use strict\";e.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{}],1058:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"sunburstcolorway\",e.colorway),r(\"extendsunburstcolors\")}},{\"../../lib\":503,\"./layout_attributes\":1057}],1059:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-hierarchy\"),a=t(\"d3-interpolate\").interpolate,o=t(\"../../components/drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../bar/uniform_text\"),u=c.recordMinTextSize,f=c.clearMinTextSize,h=t(\"../pie/plot\"),p=t(\"../pie/helpers\").getRotationAngle,d=h.computeTransform,m=h.transformInsideText,g=t(\"./style\").styleOne,v=t(\"../bar/style\").resizeText,y=t(\"./fx\"),x=t(\"./constants\"),b=t(\"./helpers\");function _(t,e,c,f){var h=t._fullLayout,v=!h.uniformtext.mode&&b.hasTransition(f),_=n.select(c).selectAll(\"g.slice\"),T=e[0],k=T.trace,A=T.hierarchy,M=b.findEntryWithLevel(A,k.level),S=b.getMaxDepth(k),E=h._size,L=k.domain,C=E.w*(L.x[1]-L.x[0]),P=E.h*(L.y[1]-L.y[0]),I=.5*Math.min(C,P),O=T.cx=E.l+E.w*(L.x[1]+L.x[0])/2,z=T.cy=E.t+E.h*(1-L.y[0])-P/2;if(!M)return _.remove();var D=null,R={};v&&_.each((function(t){R[b.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!D&&b.isEntry(t)&&(D=t)}));var F=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(M).descendants(),B=M.height+1,N=0,j=S;T.hasMultipleRoots&&b.isHierarchyRoot(M)&&(F=F.slice(1),B-=1,N=1,j+=1),F=F.filter((function(t){return t.y1<=j}));var U=p(k.rotation);U&&F.forEach((function(t){t.x0+=U,t.x1+=U}));var V=Math.min(B,S),H=function(t){return(t-N)/V*I},q=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},G=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,O,z)},Y=function(t){return O+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},W=function(t){return z+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(_=_.data(F,b.getPtId)).enter().append(\"g\").classed(\"slice\",!0),v?_.exit().transition().each((function(){var t=n.select(this);t.select(\"path.surface\").transition().attrTween(\"d\",(function(t){var e=function(t){var e,r=b.getPtId(t),n=R[r],i=R[b.getPtId(M)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+U;e=t.rpx1X?2*Math.PI:0)+U;e={x0:i,x1:i}}else e={rpx0:I,rpx1:I},s.extendFlat(e,K(t));else e={rpx0:0,rpx1:0};else e={x0:U,x1:U};return a(e,n)}(t);return function(t){return G(e(t))}})):f.attr(\"d\",G),c.call(y,M,t,e,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(b.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),f.call(g,i,k);var p=s.ensureSingle(c,\"g\",\"slicetext\"),_=s.ensureSingle(p,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),w=s.ensureUniformFontSize(t,b.determineTextFont(k,i,h.font));_.text(r.formatSliceLabel(i,M,k,e,h)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(o.font,w).call(l.convertToTspans,t);var A=o.bBox(_.node());i.transform=m(A,i,T),i.transform.targetX=Y(i),i.transform.targetY=W(i);var S=function(t,e){var r=t.transform;return d(r,e),r.fontSize=w.size,u(k.type,r,h),s.getTextTransform(r)};v?_.transition().attrTween(\"transform\",(function(t){var e=function(t){var e,r=R[b.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},D)if(t.parent)if(X){var i=t.x1>X?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,K(t));else e.x0=e.x1=U;else e.x0=e.x1=U;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),c=a(e.x0,t.x0),f=a(e.x1,t.x1),p=a(e.transform.scale,n.scale),d=a(e.transform.rotate,n.rotate),m=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,g=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=c(t),i=f(t),a=function(t){return g(Math.pow(t,m))}(t),s={pxmid:q(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return u(k.type,n,h),{transform:{targetX:Y(s),targetY:W(s),scale:p(t),rotate:d(t),rCenter:a}}}}(t);return function(t){return S(e(t),A)}})):_.attr(\"transform\",S(i,A))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}r.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,c=!r,u=!s.uniformtext.mode&&b.hasTransition(r);(f(\"sunburst\",s),(a=l.selectAll(\"g.trace.sunburst\").data(e,(function(t){return t[0].trace.uid}))).enter().append(\"g\").classed(\"trace\",!0).classed(\"sunburst\",!0).attr(\"stroke-linejoin\",\"round\"),a.order(),u)?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){o&&o()})).each(\"interrupt\",(function(){o&&o()})).each((function(){l.selectAll(\"g.trace\").each((function(e){_(t,e,this,r)}))}))):(a.each((function(e){_(t,e,this,r)})),s.uniformtext.mode&&v(t,s._sunburstlayer.selectAll(\".trace\"),\"sunburst\"));c&&a.exit().remove()},r.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&\"none\"!==o))return\"\";var l=i.separators,c=n[0],u=t.data.data,f=c.hierarchy,h=b.isHierarchyRoot(t),p=b.getParent(f,t),d=b.getValue(t);if(!a){var m,g=o.split(\"+\"),v=function(t){return-1!==g.indexOf(t)},y=[];if(v(\"label\")&&u.label&&y.push(u.label),u.hasOwnProperty(\"v\")&&v(\"value\")&&y.push(b.formatValue(u.v,l)),!h){v(\"current path\")&&y.push(b.getPath(t.data));var x=0;v(\"percent parent\")&&x++,v(\"percent entry\")&&x++,v(\"percent root\")&&x++;var _=x>1;if(x){var w,T=function(t){m=b.formatPercent(w,l),_&&(m+=\" of \"+t),y.push(m)};v(\"percent parent\")&&!h&&(w=d/b.getValue(p),T(\"parent\")),v(\"percent entry\")&&(w=d/b.getValue(e),T(\"entry\")),v(\"percent root\")&&(w=d/b.getValue(f),T(\"root\"))}}return v(\"text\")&&(m=s.castOption(r,u.i,\"text\"),s.isValidTextValue(m)&&y.push(m)),y.join(\"
\")}var k=s.castOption(r,u.i,\"texttemplate\");if(!k)return\"\";var A={};u.label&&(A.label=u.label),u.hasOwnProperty(\"v\")&&(A.value=u.v,A.valueLabel=b.formatValue(u.v,l)),A.currentPath=b.getPath(t.data),h||(A.percentParent=d/b.getValue(p),A.percentParentLabel=b.formatPercent(A.percentParent,l),A.parent=b.getPtLabel(p)),A.percentEntry=d/b.getValue(e),A.percentEntryLabel=b.formatPercent(A.percentEntry,l),A.entry=b.getPtLabel(e),A.percentRoot=d/b.getValue(f),A.percentRootLabel=b.formatPercent(A.percentRoot,l),A.root=b.getPtLabel(f),u.hasOwnProperty(\"color\")&&(A.color=u.color);var M=s.castOption(r,u.i,\"text\");return(s.isValidTextValue(M)||\"\"===M)&&(A.text=M),A.customdata=s.castOption(r,u.i,\"customdata\"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../bar/style\":662,\"../bar/uniform_text\":664,\"../pie/helpers\":906,\"../pie/plot\":910,\"./constants\":1052,\"./fx\":1054,\"./helpers\":1055,\"./style\":1060,\"@plotly/d3\":58,\"d3-hierarchy\":115,\"d3-interpolate\":116}],1060:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/color\"),a=t(\"../../lib\"),o=t(\"../bar/uniform_text\").resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=a.castOption(r,s,\"marker.line.color\")||i.defaultLine,c=a.castOption(r,s,\"marker.line.width\")||0;t.style(\"stroke-width\",c).call(i.fill,n.color).call(i.stroke,l).style(\"opacity\",o?r.leaf.opacity:null)}e.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(\".trace\");o(t,e,\"sunburst\"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style(\"opacity\",r.opacity),e.selectAll(\"path.surface\").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},{\"../../components/color\":366,\"../../lib\":503,\"../bar/uniform_text\":664,\"@plotly/d3\":58}],1061:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,o=t(\"../../plots/template_attributes\").hovertemplateAttrs,s=t(\"../../plots/attributes\"),l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/edit_types\").overrideAll;function u(t){return{show:{valType:\"boolean\",dflt:!1},start:{valType:\"number\",dflt:null,editType:\"plot\"},end:{valType:\"number\",dflt:null,editType:\"plot\"},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\"},project:{x:{valType:\"boolean\",dflt:!1},y:{valType:\"boolean\",dflt:!1},z:{valType:\"boolean\",dflt:!1}},color:{valType:\"color\",dflt:n.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:n.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var f=e.exports=c(l({z:{valType:\"data_array\"},x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:o(),xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),zhoverformat:a(\"z\"),connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},surfacecolor:{valType:\"data_array\"}},i(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{contours:{x:u(),y:u(),z:u()},hidesurface:{valType:\"boolean\",dflt:!1},lightposition:{x:{valType:\"number\",min:-1e5,max:1e5,dflt:10},y:{valType:\"number\",min:-1e5,max:1e5,dflt:1e4},z:{valType:\"number\",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:\"number\",min:0,max:1,dflt:.8},diffuse:{valType:\"number\",min:0,max:1,dflt:.8},specular:{valType:\"number\",min:0,max:2,dflt:.05},roughness:{valType:\"number\",min:0,max:1,dflt:.5},fresnel:{valType:\"number\",min:0,max:5,dflt:.2}},opacity:{valType:\"number\",min:0,max:1,dflt:1},opacityscale:{valType:\"any\",editType:\"calc\"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),\"calc\",\"nested\");f.x.editType=f.y.editType=f.z.editType=\"calc+clearAxisTypes\",f.transforms=void 0},{\"../../components/color\":366,\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633}],1062:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:\"\",cLetter:\"c\"}):n(t,e,{vals:e.z,containerStr:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/calc\":374}],1063:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_surface3d,i=t(\"../../../stackgl_modules\").ndarray,a=t(\"../../../stackgl_modules\").ndarray_linear_interpolate.d2,o=t(\"../heatmap/interp2d\"),s=t(\"../heatmap/find_empties\"),l=t(\"../../lib\").isArrayOrTypedArray,c=t(\"../../lib/gl_format_color\").parseColorScale,u=t(\"../../lib/str2rgbarray\"),f=t(\"../../components/colorscale\").extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=t.dataCoordinate[a];null!=o&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return Array.isArray(s)&&s[i]&&void 0!==s[i][n]?t.textLabel=s[i][n]:t.textLabel=s||\"\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function m(t,e){if(t0){r=d[n];break}return r}function y(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;a_;)r--,r/=v(r),++r1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,c=1+a+1,u=i(new Float32Array(l*c),[l,c]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}},{}],1070:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../lib/extend\").extendFlat,a=t(\"fast-isnumeric\");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[\"\"],d=l(d));var m=d.concat(p(r).map((function(){return c((d[0]||[\"\"]).length)}))),g=e.domain,v=Math.floor(t._fullLayout._size.w*(g.x[1]-g.x[0])),y=Math.floor(t._fullLayout._size.h*(g.y[1]-g.y[0])),x=e.header.values.length?m[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],_=x.reduce(s,0),w=h(b,y-_+n.uplift),T=f(h(x,_),[]),k=f(w,T),A={},M=e._fullInput.columnorder.concat(p(r.map((function(t,e){return e})))),S=m.map((function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),E=S.reduce(s,0);S=S.map((function(t){return t/E*v}));var L=Math.max(o(e.header.line.width),o(e.cells.line.width)),C={key:e.uid+t._context.staticPlot,translateX:g.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-g.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:L,height:y,columnOrder:M,groupHeight:y,rowBlocks:k,headerRowBlocks:T,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:m}),gdColumns:m.map((function(t){return t[0]})),gdColumnsOriginalOrder:m.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:m.map((function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+\"__\"+A[t],label:t,specIndex:e,xIndex:M[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}}))};return C.columns.forEach((function(t){t.calcdata=C,t.x=u(t)})),C}},{\"../../lib/extend\":493,\"./constants\":1069,\"fast-isnumeric\":190}],1071:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:\"header\",type:\"header\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:\"cells1\",type:\"cells\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:\"cells2\",type:\"cells\",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+(\"string\"==typeof r&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\"),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},{\"../../lib/extend\":493}],1072:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../plots/domain\").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s(\"columnwidth\"),s(\"header.values\"),s(\"header.format\"),s(\"header.align\"),s(\"header.prefix\"),s(\"header.suffix\"),s(\"header.height\"),s(\"header.line.width\"),s(\"header.line.color\"),s(\"header.fill.color\"),n.coerceFont(s,\"header.font\",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s/i),l=!o||s;t.mayHaveMarkup=o&&i.match(/[<&>]/);var c,u=\"string\"==typeof(c=i)&&c.match(n.latexCheck);t.latex=u;var f,h,p=u?\"\":T(t.calcdata.cells.prefix,e,r)||\"\",d=u?\"\":T(t.calcdata.cells.suffix,e,r)||\"\",m=u?null:T(t.calcdata.cells.format,e,r)||null,g=p+(m?a(m)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(f=w(g)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===f?w(g):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(\" \"===n.wrapSplitCharacter?g.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each((function(t,e){t.page=c[e],t.scrollY=l})),e.attr(\"transform\",(function(t){var e=D(t.rowBlocks,t.page)-t.scrollY;return u(0,e)})),t&&(C(t,r,e,c,n.prevPages,n,0),C(t,r,e,c,n.prevPages,n,1),x(r,t))}}function L(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),c=r||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var f=l.selectAll(\".\"+n.cn.yColumn).selectAll(\".\"+n.cn.columnBlock).filter(A);return E(t,f,l),s.scrollY===u}}function C(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));b(t,e,a,r),i[o]=n[o]})))}function P(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll(\"tspan.line\").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value=\"\";s.length;)c+(i=(r=s.shift()).width+a)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll(\"tspan.line\").remove(),_(o.select(\".\"+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(z)}}function I(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=B(o),c=o.key-l.firstRowIndex,f=l.rows[c].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:f,p=Math.max(h,f);p-l.rows[c].rowHeight&&(l.rows[c].rowHeight=p,t.selectAll(\".\"+n.cn.columnCell).call(z),E(null,t.filter(A),0),x(r,a,!0)),s.attr(\"transform\",(function(){var t=this.parentNode.getBoundingClientRect(),e=i.select(this.parentNode).select(\".\"+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),a=e.top-t.top+(r?r.matrix.f:n.cellPad);return u(O(o,i.select(this.parentNode).select(\".\"+n.cn.cellTextHolder).node().getBoundingClientRect().width),a)})),o.settledY=!0}}}function O(t,e){switch(t.align){case\"left\":return n.cellPad;case\"right\":return t.column.columnWidth-(e||0)-n.cellPad;case\"center\":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function z(t){t.attr(\"transform\",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+R(e,1/0)}),0),r=R(B(t),t.key);return u(0,r+e)})).selectAll(\".\"+n.cn.cellRect).attr(\"height\",(function(t){return(e=B(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function D(t,e){for(var r=0,n=e-1;n>=0;n--)r+=F(t[n]);return r}function R(t,e){for(var r=0,n=0;n\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont:u({},s.textfont,{}),editType:\"calc\"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:\"plot\"},{keys:c.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u({},s.outsidetextfont,{}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"top left\",editType:\"plot\"},sort:s.sort,root:l.root,domain:o({name:\"treemap\",trace:!0,editType:\"calc\"})}},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/domain\":584,\"../../plots/template_attributes\":633,\"../pie/attributes\":901,\"../sunburst/attributes\":1049,\"./constants\":1078}],1076:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"treemap\",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{\"../../plots/plots\":619}],1077:[function(t,e,r){\"use strict\";var n=t(\"../sunburst/calc\");r.calc=function(t,e){return n.calc(t,e)},r.crossTraceCalc=function(t){return n._runCrossTraceCalc(\"treemap\",t)}},{\"../sunburst/calc\":1051}],1078:[function(t,e,r){\"use strict\";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}},{}],1079:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../components/color\"),o=t(\"../../plots/domain\").defaults,s=t(\"../bar/defaults\").handleText,l=t(\"../bar/constants\").TEXTPAD,c=t(\"../../components/colorscale\"),u=c.hasColorscale,f=c.handleDefaults;e.exports=function(t,e,r,c){function h(r,a){return n.coerce(t,e,i,r,a)}var p=h(\"labels\"),d=h(\"parents\");if(p&&p.length&&d&&d.length){var m=h(\"values\");m&&m.length?h(\"branchvalues\"):h(\"count\"),h(\"level\"),h(\"maxdepth\"),\"squarify\"===h(\"tiling.packing\")&&h(\"tiling.squarifyratio\"),h(\"tiling.flip\"),h(\"tiling.pad\");var g=h(\"text\");h(\"texttemplate\"),e.texttemplate||h(\"textinfo\",Array.isArray(g)?\"text+label\":\"label\"),h(\"hovertext\"),h(\"hovertemplate\");var v=h(\"pathbar.visible\");s(t,e,c,h,\"auto\",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),h(\"textposition\");var y=-1!==e.textposition.indexOf(\"bottom\");h(\"marker.line.width\")&&h(\"marker.line.color\",c.paper_bgcolor);var x=h(\"marker.colors\");(e._hasColorscale=u(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis)?f(t,e,c,h,{prefix:\"marker.\",cLetter:\"c\"}):h(\"marker.depthfade\",!(x||[]).length);var b=2*e.textfont.size;h(\"marker.pad.t\",y?b/4:b),h(\"marker.pad.l\",b/4),h(\"marker.pad.r\",b/4),h(\"marker.pad.b\",y?b:b/4),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},v&&(h(\"pathbar.thickness\",e.pathbar.textfont.size+2*l),h(\"pathbar.side\"),h(\"pathbar.edgeshape\")),h(\"sort\"),h(\"root.color\"),o(e,c,h),e._length=null}else e.visible=!1}},{\"../../components/color\":366,\"../../components/colorscale\":378,\"../../lib\":503,\"../../plots/domain\":584,\"../bar/constants\":650,\"../bar/defaults\":652,\"./attributes\":1075}],1080:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../sunburst/helpers\"),a=t(\"../bar/uniform_text\").clearMinTextSize,o=t(\"../bar/style\").resizeText,s=t(\"./plot_one\");e.exports=function(t,e,r,l,c){var u,f,h=c.type,p=c.drawDescendants,d=t._fullLayout,m=d[\"_\"+h+\"layer\"],g=!r;(a(h,d),(u=m.selectAll(\"g.trace.\"+h).data(e,(function(t){return t[0].trace.uid}))).enter().append(\"g\").classed(\"trace\",!0).classed(h,!0),u.order(),!d.uniformtext.mode&&i.hasTransition(r))?(l&&(f=l()),n.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){f&&f()})).each(\"interrupt\",(function(){f&&f()})).each((function(){m.selectAll(\"g.trace\").each((function(e){s(t,e,this,r,p)}))}))):(u.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,m.selectAll(\".trace\"),h));g&&u.exit().remove()}},{\"../bar/style\":662,\"../bar/uniform_text\":664,\"../sunburst/helpers\":1055,\"./plot_one\":1089,\"@plotly/d3\":58}],1081:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"./partition\"),l=t(\"./style\").styleOne,c=t(\"./constants\"),u=t(\"../sunburst/helpers\"),f=t(\"../sunburst/fx\");e.exports=function(t,e,r,h,p){var d=p.barDifY,m=p.width,g=p.height,v=p.viewX,y=p.viewY,x=p.pathSlice,b=p.toMoveInsideSlice,_=p.strTransform,w=p.hasTransition,T=p.handleSlicesExit,k=p.makeUpdateSliceInterpolator,A=p.makeUpdateTextInterpolator,M={},S=t._fullLayout,E=e[0],L=E.trace,C=E.hierarchy,P=m/L._entryDepth,I=u.listPath(r.data,\"id\"),O=s(C.copy(),[m,g],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(O=O.filter((function(t){var e=I.indexOf(t.data.id);return-1!==e&&(t.x0=P*e,t.x1=P*(e+1),t.y0=d,t.y1=d+g,t.onPathbar=!0,!0)}))).reverse(),(h=h.data(O,u.getPtId)).enter().append(\"g\").classed(\"pathbar\",!0),T(h,!0,M,[m,g],x),h.order();var z=h;w&&(z=z.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),z.each((function(s){s._x0=v(s.x0),s._x1=v(s.x1),s._y0=y(s.y0),s._y1=y(s.y1),s._hoverX=v(s.x1-Math.min(m,g)/2),s._hoverY=y(s.y1-g/2);var h=n.select(this),p=i.ensureSingle(h,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",\"all\")}));w?p.transition().attrTween(\"d\",(function(t){var e=k(t,!0,M,[m,g]);return function(t){return x(e(t))}})):p.attr(\"d\",x),h.call(f,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),p.call(l,s,L,{hovered:!1}),s._text=(u.getPtLabel(s)||\"\").split(\"
\").join(\" \")||\"\";var d=i.ensureSingle(h,\"g\",\"slicetext\"),T=i.ensureSingle(d,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),E=i.ensureUniformFontSize(t,u.determineTextFont(L,s,S.font,{onPathbar:!0}));T.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(a.font,E).call(o.convertToTspans,t),s.textBB=a.bBox(T.node()),s.transform=b(s,{fontSize:E.size,onPathbar:!0}),s.transform.fontSize=E.size,w?T.transition().attrTween(\"transform\",(function(t){var e=A(t,!0,M,[m,g]);return function(t){return _(e(t))}})):T.attr(\"transform\",_(s))}))}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../sunburst/fx\":1054,\"../sunburst/helpers\":1055,\"./constants\":1078,\"./partition\":1087,\"./style\":1090,\"@plotly/d3\":58}],1082:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"./partition\"),l=t(\"./style\").styleOne,c=t(\"./constants\"),u=t(\"../sunburst/helpers\"),f=t(\"../sunburst/fx\"),h=t(\"../sunburst/plot\").formatSliceLabel;e.exports=function(t,e,r,p,d){var m=d.width,g=d.height,v=d.viewX,y=d.viewY,x=d.pathSlice,b=d.toMoveInsideSlice,_=d.strTransform,w=d.hasTransition,T=d.handleSlicesExit,k=d.makeUpdateSliceInterpolator,A=d.makeUpdateTextInterpolator,M=d.prevEntry,S=t._fullLayout,E=e[0].trace,L=-1!==E.textposition.indexOf(\"left\"),C=-1!==E.textposition.indexOf(\"right\"),P=-1!==E.textposition.indexOf(\"bottom\"),I=!P&&!E.marker.pad.t||P&&!E.marker.pad.b,O=s(r,[m,g],{packing:E.tiling.packing,squarifyratio:E.tiling.squarifyratio,flipX:E.tiling.flip.indexOf(\"x\")>-1,flipY:E.tiling.flip.indexOf(\"y\")>-1,pad:{inner:E.tiling.pad,top:E.marker.pad.t,left:E.marker.pad.l,right:E.marker.pad.r,bottom:E.marker.pad.b}}).descendants(),z=1/0,D=-1/0;O.forEach((function(t){var e=t.depth;e>=E._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(z=Math.min(z,e),D=Math.max(D,e))})),p=p.data(O,u.getPtId),E._maxVisibleLayers=isFinite(D)?D-z+1:0,p.enter().append(\"g\").classed(\"slice\",!0),T(p,!1,{},[m,g],x),p.order();var R=null;if(w&&M){var F=u.getPtId(M);p.each((function(t){null===R&&u.getPtId(t)===F&&(R={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var B=function(){return R||{x0:0,x1:m,y0:0,y1:g}},N=p;return w&&(N=N.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),N.each((function(s){var p=u.isHeader(s,E);s._x0=v(s.x0),s._x1=v(s.x1),s._y0=y(s.y0),s._y1=y(s.y1),s._hoverX=v(s.x1-E.marker.pad.r),s._hoverY=y(P?s.y1-E.marker.pad.b/2:s.y0+E.marker.pad.t/2);var d=n.select(this),T=i.ensureSingle(d,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",\"all\")}));w?T.transition().attrTween(\"d\",(function(t){var e=k(t,!1,B(),[m,g]);return function(t){return x(e(t))}})):T.attr(\"d\",x),d.call(f,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),T.call(l,s,E,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text=\"\":s._text=p?I?\"\":u.getPtLabel(s)||\"\":h(s,r,E,e,S)||\"\";var M=i.ensureSingle(d,\"g\",\"slicetext\"),O=i.ensureSingle(M,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),z=i.ensureUniformFontSize(t,u.determineTextFont(E,s,S.font));O.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",C?\"end\":L||p?\"start\":\"middle\").call(a.font,z).call(o.convertToTspans,t),s.textBB=a.bBox(O.node()),s.transform=b(s,{fontSize:z.size,isHeader:p}),s.transform.fontSize=z.size,w?O.transition().attrTween(\"transform\",(function(t){var e=A(t,!1,B(),[m,g]);return function(t){return _(e(t))}})):O.attr(\"transform\",_(s))})),R}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../sunburst/fx\":1054,\"../sunburst/helpers\":1055,\"../sunburst/plot\":1059,\"./constants\":1078,\"./partition\":1087,\"./style\":1090,\"@plotly/d3\":58}],1083:[function(t,e,r){\"use strict\";e.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?C+O:-(I+O):0,D={x0:P,x1:P,y0:z,y1:z+I},R=function(t,e,r){var n=v.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[h(t)]:N[h(t)]},V=function(t,e,r,n){if(e)return B[h(x)]||D;var i=N[v.level]||r;return function(t){return t.data.depth-b.data.depth=(n-=(y?g:g.r)-s)){var x=(r+n)/2;r=x,n=x}var b;f?i<(b=a-(y?g:g.b))&&b\"===tt?(l.x-=a,c.x-=a,u.x-=a,f.x-=a):\"/\"===tt?(u.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):\"\\\\\"===tt?(l.x-=a,c.x-=a,o.x-=a/2,s.x-=a/2):\"<\"===tt&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(c),$(u),$(s),\"M\"+K(l.x,l.y)+\"L\"+K(c.x,c.y)+\"L\"+K(s.x,s.y)+\"L\"+K(u.x,u.y)+\"L\"+K(f.x,f.y)+\"L\"+K(o.x,o.y)+\"Z\"},toMoveInsideSlice:et,makeUpdateSliceInterpolator:nt,makeUpdateTextInterpolator:it,handleSlicesExit:at,hasTransition:A,strTransform:ot}):w.remove()}},{\"../../lib\":503,\"../bar/constants\":650,\"../bar/plot\":659,\"../bar/uniform_text\":664,\"../sunburst/helpers\":1055,\"./constants\":1078,\"./draw_ancestors\":1081,\"@plotly/d3\":58,\"d3-interpolate\":116}],1090:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/color\"),a=t(\"../../lib\"),o=t(\"../sunburst/helpers\"),s=t(\"../bar/uniform_text\").resizeText;function l(t,e,r,n){var s,l,c=(n||{}).hovered,u=e.data.data,f=u.i,h=u.color,p=o.isHierarchyRoot(e),d=1;if(c)s=r._hovered.marker.line.color,l=r._hovered.marker.line.width;else if(p&&h===r.root.color)d=100,s=\"rgba(0,0,0,0)\",l=0;else if(s=a.castOption(r,f,\"marker.line.color\")||i.defaultLine,l=a.castOption(r,f,\"marker.line.width\")||0,!r._hasColorscale&&!e.onPathbar){var m=r.marker.depthfade;if(m){var g,v=i.combine(i.addOpacity(r._backgroundColor,.75),h);if(!0===m){var y=o.getMaxDepth(r);g=isFinite(y)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else g=e.data.depth-r._entryDepth,r._atRootLevel||g++;if(g>0)for(var x=0;x0){var x,b,_,w,T,k=t.xa,A=t.ya;\"h\"===p.orientation?(T=e,x=\"y\",_=A,b=\"x\",w=k):(T=r,x=\"x\",_=k,b=\"y\",w=A);var M=h[t.index];if(T>=M.span[0]&&T<=M.span[1]){var S=n.extendFlat({},t),E=w.c2p(T,!0),L=o.getKdeValue(M,p,T),C=o.getPositionOnKdePath(M,p,E),P=_._offset,I=_._length;S[x+\"0\"]=C[0],S[x+\"1\"]=C[1],S[b+\"0\"]=S[b+\"1\"]=E,S[b+\"Label\"]=b+\": \"+i.hoverLabelText(w,T,p[b+\"hoverformat\"])+\", \"+h[0].t.labels.kde+\" \"+L.toFixed(3),S.spikeDistance=y[0].spikeDistance;var O=x+\"Spike\";S[O]=y[0][O],y[0].spikeDistance=void 0,y[0][O]=void 0,S.hovertemplate=!1,v.push(S),(u={stroke:t.color})[x+\"1\"]=n.constrain(P+C[0],P,P+I),u[x+\"2\"]=n.constrain(P+C[1],P,P+I),u[b+\"1\"]=u[b+\"2\"]=w._offset+E}}m&&(v=v.concat(y))}-1!==d.indexOf(\"points\")&&(c=a.hoverOnPoints(t,e,r));var z=f.selectAll(\".violinline-\"+p.uid).data(u?[0]:[]);return z.enter().append(\"line\").classed(\"violinline-\"+p.uid,!0).attr(\"stroke-width\",1.5),z.exit().remove(),z.attr(u),\"closest\"===s?c?[c]:v:c?(v.push(c),v):v}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"../box/hover\":678,\"./helpers\":1095}],1097:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"../box/defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\"),plot:t(\"./plot\"),style:t(\"./style\"),styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../box/select\"),moduleType:\"trace\",name:\"violin\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"violinLayout\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":568,\"../box/defaults\":676,\"../box/select\":683,\"../scatter/style\":951,\"./attributes\":1091,\"./calc\":1092,\"./cross_trace_calc\":1093,\"./defaults\":1094,\"./hover\":1096,\"./layout_attributes\":1098,\"./layout_defaults\":1099,\"./plot\":1100,\"./style\":1101}],1098:[function(t,e,r){\"use strict\";var n=t(\"../box/layout_attributes\"),i=t(\"../../lib\").extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{\"../../lib\":503,\"../box/layout_attributes\":680}],1099:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\"),a=t(\"../box/layout_defaults\");e.exports=function(t,e,r){a._supply(t,e,r,(function(r,a){return n.coerce(t,e,i,r,a)}),\"violin\")}},{\"../../lib\":503,\"../box/layout_defaults\":681,\"./layout_attributes\":1098}],1100:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../box/plot\"),s=t(\"../scatter/line_points\"),l=t(\"./helpers\");e.exports=function(t,e,r,c){var u=t._fullLayout,f=e.xaxis,h=e.yaxis;function p(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0,linearized:!0});return a.smoothopen(e[0],1)}i.makeTraceGroups(c,r,\"trace violins\").each((function(t){var r=n.select(this),a=t[0],s=a.t,c=a.trace;if(!0!==c.visible||s.empty)r.remove();else{var d=s.bPos,m=s.bdPos,g=e[s.valLetter+\"axis\"],v=e[s.posLetter+\"axis\"],y=\"both\"===c.side,x=y||\"positive\"===c.side,b=y||\"negative\"===c.side,_=r.selectAll(\"path.violin\").data(i.identity);_.enter().append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"class\",\"violin\"),_.exit().remove(),_.each((function(t){var e,r,i,a,o,l,f,h,_=n.select(this),w=t.density,T=w.length,k=v.c2l(t.pos+d,!0),A=v.l2p(k);if(c.width)e=s.maxKDE/m;else{var M=u._violinScaleGroupStats[c.scalegroup];e=\"count\"===c.scalemode?M.maxKDE/m*(M.maxCount/t.pts.length):M.maxKDE/m}if(x){for(f=new Array(T),o=0;o\")),u.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;if(i(n))return n;if(i(a)&&o)return a}(h,g),[u]}function k(t){return n(m,t,h[d+\"hoverformat\"])}}},{\"../../components/color\":366,\"../../constants/delta.js\":473,\"../../plots/cartesian/axes\":554,\"../bar/hover\":655}],1113:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\"),plot:t(\"./plot\"),style:t(\"./style\").style,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"../bar/select\"),moduleType:\"trace\",name:\"waterfall\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":568,\"../bar/select\":660,\"./attributes\":1106,\"./calc\":1107,\"./cross_trace_calc\":1109,\"./defaults\":1110,\"./event_data\":1111,\"./hover\":1112,\"./layout_attributes\":1114,\"./layout_defaults\":1115,\"./plot\":1116,\"./style\":1117}],1114:[function(t,e,r){\"use strict\";e.exports={waterfallmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"group\",editType:\"calc\"},waterfallgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},waterfallgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},{}],1115:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=h?\"M\"+f[0]+\",\"+d[1]+\"V\"+d[0]:\"M\"+f[1]+\",\"+d[0]+\"H\"+f[0]),\"between\"!==p&&(r.isSum||s path\").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style(\"opacity\",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(\".lines\").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll(\"path\"),t.width,t.color,t.dash)}))}))}}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../constants/interactions\":478,\"../bar/style\":662,\"../bar/uniform_text\":664,\"@plotly/d3\":58}],1118:[function(t,e,r){\"use strict\";var n=t(\"../plots/cartesian/axes\"),i=t(\"../lib\"),a=t(\"../plot_api/plot_schema\"),o=t(\"./helpers\").pointsAccessorFunction,s=t(\"../constants/numerical\").BADNUM;r.moduleType=\"transform\",r.name=\"aggregate\";var l=r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},aggregations:{_isLinkedToArray:\"aggregation\",target:{valType:\"string\",editType:\"calc\"},func:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"median\",\"mode\",\"rms\",\"stddev\",\"min\",\"max\",\"first\",\"last\",\"change\",\"range\"],dflt:\"first\",editType:\"calc\"},funcmode:{valType:\"enumerated\",values:[\"sample\",\"population\"],dflt:\"sample\",editType:\"calc\"},enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},c=l.aggregations;function u(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case\"count\":return f;case\"first\":return h;case\"last\":return p;case\"sum\":return function(t,e){for(var r=0,i=0;ii&&(i=u,o=c)}}return i?a(o):s};case\"rms\":return function(t,e){for(var r=0,i=0,o=0;o\":return function(t){return h(t)>s};case\">=\":return function(t){return h(t)>=s};case\"[]\":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case\"()\":return function(t){var e=h(t);return e>s[0]&&e=s[0]&&es[0]&&e<=s[1]};case\"][\":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case\")(\":return function(t){var e=h(t);return es[1]};case\"](\":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case\")[\":return function(t){var e=h(t);return e=s[1]};case\"{}\":return function(t){return-1!==s.indexOf(h(t))};case\"}{\":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},v=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},v=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?\"%{group} (%{trace})\":\"%{group}\");var l=t.styles,c=o.styles=[];if(l)for(a=0;a0?o-4:o;for(r=0;r>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[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,i=r%3,a=[],o=0,s=r-i;os?s:o+16383));1===i?(e=t[r-1],a.push(n[e>>2]+n[e<<4&63]+\"==\")):2===i&&(e=(t[r-2]<<8)+t[r-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+\"=\"));return a.join(\"\")};for(var n=[],i=[],a=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,l=o.length;s0)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 i,a,o=[],s=e;s>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join(\"\")}i[\"-\".charCodeAt(0)]=62,i[\"_\".charCodeAt(0)]=63},{}],2:[function(t,e,r){},{}],3:[function(t,e,r){(function(e){(function(){\n", - "/*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh \n", - " * @license MIT\n", - " */\n", - "\"use strict\";var e=t(\"base64-js\"),n=t(\"ieee754\");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(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 l(t)}return o(t,e,r)}function o(t,e,r){if(\"string\"==typeof t)return function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!a.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|f(t,e),n=i(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength=2147483647)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+2147483647..toString(16)+\" bytes\");return 0|t}function f(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(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 r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return D(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return R(t).length;default:if(i)return n?-1:D(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function h(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 M(this,e,r);case\"utf8\":case\"utf-8\":return T(this,e,r);case\"ascii\":return k(this,e,r);case\"latin1\":case\"binary\":return A(this,e,r);case\"base64\":return w(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return S(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),N(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=a.from(e,n)),a.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function m(t,e,r,n,i){var a,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(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function w(t,r,n){return 0===r&&n===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,n))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;ne&&(t+=\" ... \"),\"\"},a.prototype.compare=function(t,e,r,n,i){if(B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),l=Math.min(o,s),c=this.slice(n,i),u=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return g(this,t,e,r);case\"utf8\":case\"utf-8\":return v(this,t,e,r);case\"ascii\":return y(this,t,e,r);case\"latin1\":case\"binary\":return x(this,t,e,r);case\"base64\":return b(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return _(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},a.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function k(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i=\"\",a=e;ar)throw new RangeError(\"Trying to access beyond buffer length\")}function L(t,e,r,n,i,o){if(!a.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError(\"Index out of range\")}function C(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function P(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,4),n.write(t,e,r,i,23,4),r+4}function I(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,8),n.write(t,e,r,i,52,8),r+8}a.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},a.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},a.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},a.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},a.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},a.prototype.readInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},a.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!1,52,8)},a.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||L(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n)||L(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},a.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,255,0),this[e]=255&t,e+1},a.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},a.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},a.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeFloatLE=function(t,e,r){return P(this,t,e,!0,r)},a.prototype.writeFloatBE=function(t,e,r){return P(this,t,e,!1,r)},a.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},a.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},a.prototype.copy=function(t,e,r,n){if(!a.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},a.prototype.fill=function(t,e,r,n){if(\"string\"==typeof t){if(\"string\"==typeof e?(n=e,e=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!a.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===t.length){var i=t.charCodeAt(0);(\"utf8\"===n&&i<128||\"latin1\"===n)&&(t=i)}}else\"number\"==typeof t&&(t&=255);if(e<0||this.length>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function R(t){return e.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(O,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function F(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function N(t){return t!=t}}).call(this)}).call(this,t(\"buffer\").Buffer)},{\"base64-js\":1,buffer:3,ieee754:4}],4:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}},{}],5:[function(t,e,r){var n,i,a=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function s(){throw new Error(\"clearTimeout has not been defined\")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{i=\"function\"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var c,u=[],f=!1,h=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!f){var t=l(p);f=!0;for(var e=u.length;e;){for(c=u,u=[];++h1)for(var r=1;r0?c=c.ushln(f):f<0&&(u=u.ushln(-f));return s(c,u)}},{\"./div\":17,\"./is-rat\":19,\"./lib/is-bn\":23,\"./lib/num-to-bn\":24,\"./lib/rationalize\":25,\"./lib/str-to-bn\":26}],19:[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\":23}],20:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return t.cmp(new n(0))}},{\"bn.js\":33}],21:[function(t,e,r){\"use strict\";var n=t(\"./bn-sign\");e.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20)return 52;return r+32}},{\"bit-twiddle\":32,\"double-bits\":64}],23:[function(t,e,r){\"use strict\";t(\"bn.js\");e.exports=function(t){return t&&\"object\"==typeof t&&Boolean(t.words)}},{\"bn.js\":33}],24:[function(t,e,r){\"use strict\";var n=t(\"bn.js\"),i=t(\"double-bits\");e.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{\"bn.js\":33,\"double-bits\":64}],25:[function(t,e,r){\"use strict\";var n=t(\"./num-to-bn\"),i=t(\"./bn-sign\");e.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<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\":20,\"./num-to-bn\":24}],26:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return new n(t)}},{\"bn.js\":33}],27:[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\":25}],28:[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\":20}],29:[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\":25}],30:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-to-num\"),i=t(\"./lib/ctz\");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4,f=n(l.ushln(u).divRound(r));return c*(s+f*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53;f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):(f*=Math.pow(2,-1023),c*f*Math.pow(2,1023-h))}},{\"./lib/bn-to-num\":21,\"./lib/ctz\":22}],31:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function i(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function a(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function o(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function s(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function l(t,e,r,n,i,a){return\"function\"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}e.exports={ge:function(t,e,r,i,a){return l(t,e,r,i,a,n)},gt:function(t,e,r,n,a){return l(t,e,r,n,a,i)},lt:function(t,e,r,n,i){return l(t,e,r,n,i,a)},le:function(t,e,r,n,i){return l(t,e,r,n,i,o)},eq:function(t,e,r,n,i){return l(t,e,r,n,i,s)}}},{}],32:[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)&-(t65535)<<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 i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|i[t>>>16&255]<<8|i[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}},{}],33:[function(t,e,r){!function(e,r){\"use strict\";function n(t,e){if(!t)throw new Error(e||\"Assertion failed\")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.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=a:r.BN=a,a.BN=a,a.wordSize=26;try{o=\"undefined\"!=typeof window&&void 0!==window.Buffer?window.Buffer:t(\"buffer\").Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function c(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&\"object\"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.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 i=0;\"-\"===(t=t.toString().replace(/\\s+/g,\"\"))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\"le\"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?\"\"};var u=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c>>26,f=67108863&l,h=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=h;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||\"hex\"===t){r=\"\";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?u[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.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 c=f[t],p=h[t];r=\"\";var d=this.clone();for(d.negative=0;!d.isZero();){var m=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?m+r:u[c-m.length]+m+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\")},a.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},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,\"byte array longer than desired length\"),n(a>0,\"Requested array length <= 0\"),this.strip();var o,s,l=\"le\"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s=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},a.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},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.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 i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(\"number\"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.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,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,m=p>>>13,g=0|o[2],v=8191&g,y=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,P=0|o[7],I=8191&P,O=P>>>13,z=0|o[8],D=8191&z,R=z>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,H=0|s[1],q=8191&H,G=H>>>13,Y=0|s[2],W=8191&Y,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,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ft=8191&ut,ht=ut>>>13,pt=0|s[9],dt=8191&pt,mt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(c+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;c=((a=Math.imul(h,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(m,U)|0,a=Math.imul(m,V);var vt=(c+(n=n+Math.imul(f,q)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,q)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,U),i=(i=Math.imul(v,V))+Math.imul(y,U)|0,a=Math.imul(y,V),n=n+Math.imul(d,q)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(m,q)|0,a=a+Math.imul(m,G)|0;var yt=(c+(n=n+Math.imul(f,W)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,W)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(v,q)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,q)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,W)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(m,W)|0,a=a+Math.imul(m,X)|0;var xt=(c+(n=n+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))<<13)|0;c=((a=a+Math.imul(h,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,q)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,q)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(y,W)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(m,J)|0,a=a+Math.imul(m,K)|0;var bt=(c+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))<<13)|0;c=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,q)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,q)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,W)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,W)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(v,J)|0,i=(i=i+Math.imul(v,K)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(m,$)|0,a=a+Math.imul(m,tt)|0;var _t=(c+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=(i=Math.imul(L,V))+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(M,q)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,q)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(k,W)|0,a=a+Math.imul(k,X)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0;var wt=(c+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;c=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),i=(i=Math.imul(I,V))+Math.imul(O,U)|0,a=Math.imul(O,V),n=n+Math.imul(L,q)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,q)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(k,J)|0,a=a+Math.imul(k,K)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0;var Tt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))<<13)|0;c=((a=a+Math.imul(h,ct)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(I,q)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(O,q)|0,a=a+Math.imul(O,G)|0,n=n+Math.imul(L,W)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(C,W)|0,a=a+Math.imul(C,X)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,$)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(v,at)|0,i=(i=i+Math.imul(v,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ct)|0;var kt=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;c=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(D,q)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,q)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(I,W)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(O,W)|0,a=a+Math.imul(O,X)|0,n=n+Math.imul(L,J)|0,i=(i=i+Math.imul(L,K)|0)+Math.imul(C,J)|0,a=a+Math.imul(C,K)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ct)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var At=(c+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,mt)|0)+Math.imul(h,dt)|0))<<13)|0;c=((a=a+Math.imul(h,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,G))+Math.imul(N,q)|0,a=Math.imul(N,G),n=n+Math.imul(D,W)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(R,W)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(I,J)|0,i=(i=i+Math.imul(I,K)|0)+Math.imul(O,J)|0,a=a+Math.imul(O,K)|0,n=n+Math.imul(L,$)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(C,$)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ct)|0,n=n+Math.imul(v,ft)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|0;var Mt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,mt)|0)+Math.imul(m,dt)|0))<<13)|0;c=((a=a+Math.imul(m,mt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,W),i=(i=Math.imul(B,X))+Math.imul(N,W)|0,a=Math.imul(N,X),n=n+Math.imul(D,J)|0,i=(i=i+Math.imul(D,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(O,$)|0,a=a+Math.imul(O,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ct)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((a=a+Math.imul(y,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),i=(i=Math.imul(B,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(O,rt)|0,a=a+Math.imul(O,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,mt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((a=a+Math.imul(_,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,tt))+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(I,at)|0,i=(i=i+Math.imul(I,ot)|0)+Math.imul(O,at)|0,a=a+Math.imul(O,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ct)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ct)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(k,dt)|0))<<13)|0;c=((a=a+Math.imul(k,mt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(I,lt)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(O,lt)|0,a=a+Math.imul(O,ct)|0,n=n+Math.imul(L,ft)|0,i=(i=i+Math.imul(L,ht)|0)+Math.imul(C,ft)|0,a=a+Math.imul(C,ht)|0;var Ct=(c+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ht)|0)+Math.imul(O,ft)|0,a=a+Math.imul(O,ht)|0;var Pt=(c+(n=n+Math.imul(L,dt)|0)|0)+((8191&(i=(i=i+Math.imul(L,mt)|0)+Math.imul(C,dt)|0))<<13)|0;c=((a=a+Math.imul(C,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var It=(c+(n=n+Math.imul(I,dt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(O,dt)|0))<<13)|0;c=((a=a+Math.imul(O,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var Ot=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(i=(i=i+Math.imul(D,mt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var zt=(c+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,mt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,mt))+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,l[0]=gt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Pt,l[16]=It,l[17]=Ot,l[18]=zt,0!==c&&(l[19]=c,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?p(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,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,c=0;c=0&&(0!==u||c>=i);c--){var f=0|this.words[c];this.words[c]=u<<26-a|f>>>a,u=f&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=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 i=67108863^67108863>>>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},a.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>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(\"mod\"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),\"div\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\"mod\"!==e&&(i=s.div.neg()),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\"mod\"!==e&&(i=s.div.neg()),{div:i,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 a(0),mod:this}:1===t.length?\"div\"===e?{div:this.divn(t.words[0]),mod:null}:\"mod\"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,\"div\",!1).div},a.prototype.mod=function(t){return this.divmod(t,\"mod\",!1).mod},a.prototype.umod=function(t){return this.divmod(t,\"mod\",!0).mod},a.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),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.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 i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,m=1;0==(r.words[0]&m)&&d<26;++d,m<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.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 i,o=new a(1),s=new a(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 f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.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 i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n(\"number\"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(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 i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.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)},a.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(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 y(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){y.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function b(){y.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function _(){y.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function w(){y.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function T(t){if(\"string\"==typeof t){var e=a._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){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.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=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(x,y),x.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},x.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>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(v[t])return v[t];var e;if(\"k256\"===t)e=new x;else if(\"p224\"===t)e=new b;else if(\"p192\"===t)e=new _;else{if(\"p25519\"!==t)throw new Error(\"Unknown prime \"+t);e=new w}return v[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,\"red works only with positives\"),n(t.red,\"red works only with red numbers\")},T.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\")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.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)},T.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},T.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)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.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 a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var f=this.pow(u,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var m=p,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var f=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),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),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{buffer:2}],34:[function(t,e,r){\"use strict\";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(u<=0)){var f,h=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,h,p))>0){if(1===u&&n)a.init(s),f=a.sweepComplete(u,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*u*c),m=i.mallocInt32(c);(c=l(e,u,d,m))>0&&(a.init(s+c),f=1===u?a.sweepBipartite(u,r,0,s,h,p,0,c,d,m):o(u,r,n,s,h,p,c,d,m),i.free(d),i.free(m))}i.free(h),i.free(p)}return f}}}function u(t,e){n.push([t,e])}function f(t){return n=[],c(t,t,u,!0),n}function h(t,e){return n=[],c(t,e,u,!1),n}},{\"./lib/intersect\":37,\"./lib/sweep\":41,\"typedarray-pool\":308}],36:[function(t,e,r){\"use strict\";function n(t){return t?function(t,e,r,n,i,a,o,s,l,c,u){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,c,u){for(var f=2*t,h=n,p=f*n;hc-l?n?function(t,e,r,n,i,a,o,s,l,c,u){for(var f=2*t,h=n,p=f*n;h0;){var L=6*(S-=1),C=v[L],P=v[L+1],I=v[L+2],O=v[L+3],z=v[L+4],D=v[L+5],R=2*S,F=y[R],B=y[R+1],N=1&D,j=!!(16&D),U=u,V=w,H=k,q=A;if(N&&(U=k,V=A,H=u,q=w),!(2&D&&(I=p(t,C,P,I,U,V,B),P>=I)||4&D&&(P=d(t,C,P,I,U,V,F))>=I)){var G=I-P,Y=z-O;if(j){if(t*G*(G+Y)<1<<22){if(void 0!==(M=l.scanComplete(t,C,e,P,I,U,V,O,z,H,q)))return M;continue}}else{if(t*Math.min(G,Y)<128){if(void 0!==(M=o(t,C,e,N,P,I,U,V,O,z,H,q)))return M;continue}if(t*G*Y<1<<22){if(void 0!==(M=l.scanBipartite(t,C,e,N,P,I,U,V,O,z,H,q)))return M;continue}}var W=f(t,C,P,I,U,V,F,B);if(P=p0)&&!(p1>=hi)\"),h=u(\"lo===p0\"),p=u(\"lo>>1,f=2*t,h=u,p=o[f*u+e];for(;l=y?(h=v,p=y):g>=b?(h=m,p=g):(h=x,p=b):y>=b?(h=v,p=y):b>=g?(h=m,p=g):(h=x,p=b);for(var _=f*(c-1),w=f*h,T=0;Tr&&i[f+e]>c;--u,f-=o){for(var h=f,p=f+o,d=0;dh;++h,l+=s){if(i[l+f]===o)if(u===h)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[h];a[h]=a[u],a[u++]=m}}return u},\"loh;++h,l+=s){if(i[l+f]p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[h];a[h]=a[u],a[u++]=m}}return u},\"lo<=p0\":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,f=t+e,h=r;n>h;++h,l+=s){if(i[l+f]<=o)if(u===h)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[h];a[h]=a[u],a[u++]=m}}return u},\"hi<=p0\":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,f=t+e,h=r;n>h;++h,l+=s){if(i[l+f]<=o)if(u===h)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[h];a[h]=a[u],a[u++]=m}}return u},\"lop;++p,l+=s){var d=i[l+f],m=i[l+h];if(dg;++g){var v=i[l+g];i[l+g]=i[c],i[c++]=v}var y=a[p];a[p]=a[u],a[u++]=y}}return u},\"lo<=p0&&p0<=hi\":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],m=i[l+h];if(d<=o&&o<=m)if(u===p)u+=1,c+=s;else{for(var g=0;s>g;++g){var v=i[l+g];i[l+g]=i[c],i[c++]=v}var y=a[p];a[p]=a[u],a[u++]=y}}return u},\"!(lo>=p0)&&!(p1>=hi)\":function(t,e,r,n,i,a,o,s){for(var l=2*t,c=l*r,u=c,f=r,h=e,p=t+e,d=r;n>d;++d,c+=l){var m=i[c+h],g=i[c+p];if(!(m>=o||s>=g))if(f===d)f+=1,u+=l;else{for(var v=0;l>v;++v){var y=i[c+v];i[c+v]=i[u],i[u++]=y}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},{}],40:[function(t,e,r){\"use strict\";e.exports=function(t,e){e<=128?n(0,e-1,t):function t(e,r,u){var f=(r-e+1)/6|0,h=e+f,p=r-f,d=e+r>>1,m=d-f,g=d+f,v=h,y=m,x=d,b=g,_=p,w=e+1,T=r-1,k=0;l(v,y,u)&&(k=v,v=y,y=k);l(b,_,u)&&(k=b,b=_,_=k);l(v,x,u)&&(k=v,v=x,x=k);l(y,x,u)&&(k=y,y=x,x=k);l(v,b,u)&&(k=v,v=b,b=k);l(x,b,u)&&(k=x,x=b,b=k);l(y,_,u)&&(k=y,y=_,_=k);l(y,x,u)&&(k=y,y=x,x=k);l(b,_,u)&&(k=b,b=_,_=k);for(var A=u[2*y],M=u[2*y+1],S=u[2*b],E=u[2*b+1],L=2*v,C=2*x,P=2*_,I=2*h,O=2*d,z=2*p,D=0;D<2;++D){var R=u[L+D],F=u[C+D],B=u[P+D];u[I+D]=R,u[O+D]=F,u[z+D]=B}a(m,e,u),a(g,r,u);for(var N=w;N<=T;++N)if(c(N,A,M,u))N!==w&&i(N,w,u),++w;else if(!c(N,S,E,u))for(;;){if(c(T,S,E,u)){c(T,A,M,u)?(o(N,w,T,u),++w,--T):(i(N,T,u),--T);break}if(--Tt;){var c=r[l-2],u=r[l-1];if(cr[e+1])}function c(t,e,r,n){var i=n[t*=2];return i>>1;a(h,M);var S=0,E=0;for(w=0;w=1<<28)p(l,c,E--,L=L-(1<<28)|0);else if(L>=0)p(o,s,S--,L);else if(L<=-(1<<28)){L=-L-(1<<28)|0;for(var C=0;C>>1;a(h,E);var L=0,C=0,P=0;for(k=0;k>1==h[2*k+3]>>1&&(O=2,k+=1),I<0){for(var z=-(I>>1)-1,D=0;D>1)-1;0===O?p(o,s,L--,z):1===O?p(l,c,C--,z):2===O&&p(u,f,P--,z)}}},scanBipartite:function(t,e,r,n,i,l,c,u,f,m,g,v){var y=0,x=2*t,b=e,_=e+t,w=1,T=1;n?T=1<<28:w=1<<28;for(var k=i;k>>1;a(h,E);var L=0;for(k=0;k=1<<28?(P=!n,A-=1<<28):(P=!!n,A-=1),P)d(o,s,L++,A);else{var I=v[A],O=x*A,z=g[O+e+1],D=g[O+e+1+t];t:for(var R=0;R>>1;a(h,w);var T=0;for(y=0;y=1<<28)o[T++]=x-(1<<28);else{var A=p[x-=1],M=m*x,S=f[M+e+1],E=f[M+e+1+t];t:for(var L=0;L=0;--L)if(o[L]===x){for(O=L+1;O0;){for(var p=r.pop(),d=(s=r.pop(),u=-1,f=-1,l=o[s],1);d=0||(e.flip(s,p),i(t,e,r,u,s,f),i(t,e,r,s,f,u),i(t,e,r,f,p,u),i(t,e,r,p,u,f)))}}},{\"binary-search-bounds\":31,\"robust-in-sphere\":282}],44:[function(t,e,r){\"use strict\";var n,i=t(\"binary-search-bounds\");function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,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,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i;u[p];for(var d=0;d<3;++d){var m=h[3*p+d];m>=0&&0===c[m]&&(f[3*p+d]?l.push(m):(s.push(m),c[m]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var v=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function u(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var m=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([m,1],[m,0],-1,[],[],[],[])],v=[],y=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function v(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[u=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,_,A]):e.push([M,_])}return h}(t,e,h,g,r));return v(e,y,r),!!y||(h.length>0||g.length>0)}},{\"./lib/rat-seg-intersect\":51,\"big-rat\":18,\"big-rat/cmp\":16,\"big-rat/to-float\":30,\"box-intersect\":35,nextafter:260,\"rat-vec\":273,\"robust-segment-intersect\":287,\"union-find\":309}],51:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=u(a,f);if(0===o(h))return null;var p=s(t,r),d=u(f,p),m=i(d,h),g=c(a,m);return l(t,g)};var n=t(\"big-rat/mul\"),i=t(\"big-rat/div\"),a=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 a(n(t[0],e[1]),n(t[1],e[0]))}},{\"big-rat/div\":17,\"big-rat/mul\":27,\"big-rat/sign\":28,\"big-rat/sub\":29,\"rat-vec/add\":272,\"rat-vec/muls\":274,\"rat-vec/sub\":275}],52:[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]}],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]}]}},{}],53:[function(t,e,r){\"use strict\";var n=t(\"./colorScale\"),i=t(\"lerp\");function a(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,f,h,p,d,m;t||(t={});p=(t.nshades||72)-1,h=t.format||\"hex\",(f=t.colormap)||(f=\"jet\");if(\"string\"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+\" not a supported colorscale\");u=n[f]}else{if(!Array.isArray(f))throw Error(\"unsupported colormap option\",f);u=f.slice()}if(u.length>p+1)throw new Error(f+\" 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 g=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[3]=d[0]+(d[1]-d[0])*r),n})),v=[];for(m=0;m0||l(t,e,a)?-1:1:0===s?c>0||l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);return h>0?o>0&&n(t,e,a)>0?1:-1:h<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=t(\"robust-orientation\"),i=t(\"signum\"),a=t(\"two-sum\"),o=t(\"robust-product\"),s=t(\"robust-sum\");function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},{\"robust-orientation\":284,\"robust-product\":285,\"robust-sum\":289,signum:55,\"two-sum\":307}],55:[function(t,e,r){\"use strict\";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],56:[function(t,e,r){e.exports=function(t,e){var r=t.length,a=t.length-e.length;if(a)return a;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(a=o+t[2]-(s+e[2]))return a;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],f=t[1],h=t[2],p=t[3],d=e[0],m=e[1],g=e[2],v=e[3];return u+f+h+p-(d+m+g+v)||n(u,f,h,p)-n(d,m,g,v,d)||n(u+f,u+h,u+p,f+h,f+p,h+p)-n(d+m,d+g,d+v,m+g,m+v,g+v)||n(u+f+h,u+f+p,u+h+p,f+h+p)-n(d+m+g,d+m+v,d+g+v,m+g+v);default:for(var y=t.slice().sort(i),x=e.slice().sort(i),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},{}],60:[function(t,e,r){\"use strict\";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=t(\"incremental-convex-hull\"),i=t(\"affine-hull\")},{\"affine-hull\":10,\"incremental-convex-hull\":233}],62:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+f*r[p]+h*n[p];return a}return c*t+u*e+f*r+h*n},e.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},{}],63:[function(t,e,r){\"use strict\";var n=t(\"incremental-convex-hull\"),i=t(\"uniq\");function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=v[t[e]];if(r<0)return!1;t[e]=r}return!0}));if(1&s)for(u=0;u<_.length;++u){h=(b=_[u])[0];b[0]=b[1],b[1]=h}return _}},{\"incremental-convex-hull\":233,uniq:310}],64:[function(t,e,r){(function(t){(function(){var r=!1;if(\"undefined\"!=typeof Float64Array){var n=new Float64Array(1),i=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===i[1]){e.exports=function(t){return n[0]=t,[i[0],i[1]]},e.exports.pack=function(t,e){return i[0]=t,i[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[0]},e.exports.hi=function(t){return n[0]=t,i[1]}}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]},e.exports.pack=function(t,e){return i[1]=t,i[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[1]},e.exports.hi=function(t){return n[0]=t,i[0]}}else r=!1}if(!r){var a=new t(8);e.exports=function(t){return a.writeDoubleLE(t,0,!0),[a.readUInt32LE(0,!0),a.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return a.writeUInt32LE(t,0,!0),a.writeUInt32LE(e,4,!0),a.readDoubleLE(0,!0)},e.exports.lo=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(0,!0)},e.exports.hi=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this)}).call(this,t(\"buffer\").Buffer)},{buffer:3}],65:[function(t,e,r){\"use strict\";e.exports=function(t,e){switch(void 0===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=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var u=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],c[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(c[h-1],u[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(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,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],c[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],c[f],n[o]+u*i[o])),i.push(0),o+=1}}},{\"binary-search-bounds\":31,\"cubic-hermite\":62}],69:[function(t,e,r){\"use strict\";e.exports=function(t){return new s(t||m,null)};function n(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function i(t){return new n(t._color,t.key,t.value,t.left,t.right,t._count)}function a(t,e){return new n(t,e.key,e.value,e.left,e.right,e._count)}function o(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function s(t,e){this._compare=t,this.root=e}var l=s.prototype;function c(t,e){var r;if(e.left&&(r=c(t,e.left)))return r;return(r=t(e.key,e.value))||(e.right?c(t,e.right):void 0)}function u(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left)if(i=u(t,e,r,n.left))return i;if(i=r(n.key,n.value))return i}if(n.right)return u(t,e,r,n.right)}function f(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=f(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return f(t,e,r,n,i.right)}function h(t,e){this.tree=t,this._stack=e}Object.defineProperty(l,\"keys\",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(l,\"values\",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(l,\"length\",{get:function(){return this.root?this.root._count:0}}),l.insert=function(t,e){for(var r=this._compare,i=this.root,l=[],c=[];i;){var u=r(t,i.key);l.push(i),c.push(u),i=u<=0?i.left:i.right}l.push(new n(0,t,e,null,null,1));for(var f=l.length-2;f>=0;--f){i=l[f];c[f]<=0?l[f]=new n(i._color,i.key,i.value,l[f+1],i.right,i._count+1):l[f]=new n(i._color,i.key,i.value,i.left,l[f+1],i._count+1)}for(f=l.length-1;f>1;--f){var h=l[f-1];i=l[f];if(1===h._color||1===i._color)break;var p=l[f-2];if(p.left===h)if(h.left===i){if(!(d=p.right)||0!==d._color){if(p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=i,o(p),o(h),f>=3)(m=l[f-3]).left===p?m.left=h:m.right=h;break}h._color=1,p.right=a(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){if(h.right=i.left,p._color=0,p.left=i.right,i._color=1,i.left=h,i.right=p,l[f-2]=i,l[f-1]=h,o(p),o(h),o(i),f>=3)(m=l[f-3]).left===p?m.left=i:m.right=i;break}h._color=1,p.right=a(1,d),p._color=0,f-=1}else if(h.right===i){if(!(d=p.left)||0!==d._color){if(p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=i,o(p),o(h),f>=3)(m=l[f-3]).right===p?m.right=h:m.left=h;break}h._color=1,p.left=a(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var m;if(h.left=i.right,p._color=0,p.right=i.left,i._color=1,i.right=h,i.left=p,l[f-2]=i,l[f-1]=h,o(p),o(h),o(i),f>=3)(m=l[f-3]).right===p?m.right=i:m.left=i;break}h._color=1,p.left=a(1,d),p._color=0,f-=1}}return l[0]._color=1,new s(r,l[0])},l.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return c(t,this.root);case 2:return u(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return f(e,r,this._compare,t,this.root)}},Object.defineProperty(l,\"begin\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(l,\"end\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),l.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.right._count)break;e=e.right}return new h(this,[])},l.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},l.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},l.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},l.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},l.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new h(this,n);r=i<=0?r.left:r.right}return new h(this,[])},l.remove=function(t){var e=this.find(t);return e?e.remove():this},l.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 p=h.prototype;function d(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 m(t,e){return te?1:0}Object.defineProperty(p,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(p,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),p.clone=function(){return new h(this.tree,this._stack.slice())},p.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 n(r._color,r.key,r.value,r.left,r.right,r._count);for(var l=t.length-2;l>=0;--l){(r=t[l]).left===t[l+1]?e[l]=new n(r._color,r.key,r.value,e[l+1],r.right,r._count):e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count)}if((r=e[e.length-1]).left&&r.right){var c=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var u=e[c-1];e.push(new n(r._color,u.key,u.value,r.left,r.right,r._count)),e[c-1].key=r.key,e[c-1].value=r.value;for(l=e.length-2;l>=c;--l)r=e[l],e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count);e[c-1].left=e[c]}if(0===(r=e[e.length-1])._color){var f=e[e.length-2];f.left===r?f.left=null:f.right===r&&(f.right=null),e.pop();for(l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((r=t[l-1]).left===e){if((n=r.right).right&&0===n.right._color){if(s=(n=r.right=i(n)).right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=1,r._color=1,s._color=1,o(r),o(n),l>1)(c=t[l-2]).left===r?c.left=n:c.right=n;return void(t[l-1]=n)}if(n.left&&0===n.left._color){if(s=(n=r.right=i(n)).left=i(n.left),r.right=s.left,n.left=s.right,s.left=r,s.right=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).left===r?c.left=s:c.right=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.right=a(0,n));r.right=a(0,n);continue}n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).left===r?c.left=n:c.right=n),t[l-1]=n,t[l]=r,l+11)(c=t[l-2]).right===r?c.right=n:c.left=n;return void(t[l-1]=n)}if(n.right&&0===n.right._color){if(s=(n=r.left=i(n)).right=i(n.right),r.left=s.right,n.right=s.left,s.right=r,s.left=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).right===r?c.right=s:c.left=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.left=a(0,n));r.left=a(0,n);continue}var c;n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).right===r?c.right=n:c.left=n),t[l-1]=n,t[l]=r,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(p,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(p,\"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}),p.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(p,\"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}}),p.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),i=e[e.length-1];r[r.length-1]=new n(i._color,i.key,t,i.left,i.right,i._count);for(var a=e.length-2;a>=0;--a)(i=e[a]).left===e[a+1]?r[a]=new n(i._color,i.key,i.value,r[a+1],i.right,i._count):r[a]=new n(i._color,i.key,i.value,i.left,r[a+1],i._count);return new s(this.tree._compare,r[0])},p.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(p,\"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}})},{}],70:[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\"),i=t(\"./lib/lines.js\"),a=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=a(t)}var f=u.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=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,f=!1;if(\"bounds\"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if(\"ticks\"in t){r=t.ticks,u=!0,this.autoTicks=!1;for(p=0;p<3;++p)this.tickSpacing[p]=0}else a(\"tickSpacing\")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&(\"ticks\"in t||\"tickSpacing\"in t||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&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),a(\"tickSize\"),a(\"tickAngle\"),a(\"tickPad\"),c(\"tickColor\");var m=l(\"labels\");l(\"labelFont\")&&(m=!0),o(\"labelEnable\"),a(\"labelSize\"),a(\"labelPad\"),c(\"labelColor\"),o(\"lineEnable\"),o(\"lineMirror\"),a(\"lineWidth\"),c(\"lineColor\"),o(\"lineTickEnable\"),o(\"lineTickMirror\"),a(\"lineTickLength\"),a(\"lineTickWidth\"),c(\"lineTickColor\"),o(\"gridEnable\"),a(\"gridWidth\"),c(\"gridColor\"),o(\"zeroEnable\"),c(\"zeroLineColor\"),a(\"zeroLineWidth\"),o(\"backgroundEnable\"),c(\"backgroundColor\"),this._text?this._text&&(m||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=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var f=a,h=s,p=o,d=l;c&1<0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var m=[0,0,0],g={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,u=o(r,n,i,a,s),f=u.cubeEdges,h=u.axis,b=n[12],_=n[13],w=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*b+i[7]*_+i[11]*w+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=f[A],this.lastCubeProps.axis[A]=h[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,f,h);e=this.gl;var S,E=m;for(A=0;A<3;++A)this.backgroundEnable[A]?E[A]=h[A]:E[A]=0;this._background.draw(r,n,i,a,E,this.backgroundColor),this._lines.bind(r,n,i,this);for(A=0;A<3;++A){var L=[0,0,0];h[A]>0?L[A]=a[1][A]:L[A]=a[0][A];for(var C=0;C<2;++C){var P=(A+1+C)%3,I=(A+1+(1^C))%3;this.gridEnable[P]&&this._lines.drawGrid(P,I,this.bounds,L,this.gridColor[P],this.gridWidth[P]*this.pixelRatio)}for(C=0;C<2;++C){P=(A+1+C)%3,I=(A+1+(1^C))%3;this.zeroEnable[I]&&Math.min(a[0][I],a[1][I])<=0&&Math.max(a[0][I],a[1][I])>=0&&this._lines.drawZero(P,I,this.bounds,L,this.zeroLineColor[I],this.zeroLineWidth[I]*this.pixelRatio)}}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var O=c(v,M[A].primalMinor),z=c(y,M[A].mirrorMinor),D=this.lineTickLength;for(C=0;C<3;++C){var R=k/r[5*C];O[C]*=D[C]*R,z[C]*=D[C]*R}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,O,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);var F,B;function N(t){(B=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,H=c(x,M[A].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[A]&&(H[C]+=k*U[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);var q=[0,0,0];if(q[A]=1,this.tickEnable[A]){-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]=\"auto\"):this.tickAlign[A]=-1,F=1,\"auto\"===(S=[this.tickAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]),B=[0,0,0],j(A,U,V);for(C=0;C<3;++C)H[C]+=k*U[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],H,this.tickColor[A],q,B,S)}if(this.labelEnable[A]){F=0,B=[0,0,0],this.labels[A].length>4&&(N(A),F=1),\"auto\"===(S=[this.labelAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]);for(C=0;C<3;++C)H[C]+=k*U[C]*this.labelPad[C]/r[5*C];H[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],H,this.labelColor[A],[0,0,0],B,S)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{\"./lib/background.js\":71,\"./lib/cube.js\":72,\"./lib/lines.js\":73,\"./lib/text.js\":75,\"./lib/ticks.js\":76}],71:[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,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[c]=d;for(var m=-1;m<=1;m+=2)f[u]=m,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=c;c=u,u=g}var v=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=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,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\"./shaders\":74,\"gl-buffer\":78,\"gl-vao\":150}],72:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var y=0,x=0;x<2;++x){u[2]=a[x][2];for(var b=0;b<2;++b){u[1]=a[b][1];for(var _=0;_<2;++_)u[0]=a[_][0],h(l[y],u,s),y+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)c[x][k]=l[x][k]/T;p&&(c[x][2]*=-1),T<0&&(w<0||c[x][2]E&&(w|=1<E&&(w|=1<c[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x){if((N=R^1<c[B][0]&&(B=N)}var j=m;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===D?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,H=w;for(A=0;A<3;++A)V[A]=H&1< 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 i(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 i(t,c,u,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},{\"gl-shader\":132,glslify:231}],75:[function(t,e,r){(function(r){(function(){\"use strict\";e.exports=function(t,e,r,a,s,l){var u=n(t),f=i(t,[{buffer:u,size:3}]),h=o(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,a,s,l),p};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=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,f=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,i){var o=[];function s(t,e,r,n,i,s){var c=l[r];c||(c=l[r]={});var u=c[e];u||(u=c[e]=function(t,e){try{return a(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:i,styletags:s}));for(var f=(n||12)/12,h=u.positions,p=u.cells,d=0,m=p.length;d=0;--v){var y=h[g[v]];o.push(f*y[0],-f*y[1],t)}}for(var c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=o.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(o.length/3|0)-f[d],c[d]=o.length/3|0;for(var m=0;m=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\"\";if(s.indexOf(\"e\")>=0)return s;var l=o/a,c=o%a;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),i){for(var f=\"\"+c;f.length=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}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;nr)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=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=a(s,t.shape);i.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 f;f=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?f:f.subarray(0,t.length),e),n.free(f)}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 i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},{ndarray:259,\"ndarray-ops\":254,\"typedarray-pool\":308}],79:[function(t,e,r){\"use strict\";var n=t(\"gl-vec3\");e.exports=function(t,e){var r=t.positions,i=t.vectors,a={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]),a;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,f=1/0,h=-1/0,p=null,d=null,m=[],g=1/0,v=!1,y=0;yo&&(o=n.length(b)),y){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(g=Math.min(g,_),v=!1):v=!0}v||(p=x,d=b),m.push(b)}var w=[s,c,f],T=[l,u,h];e&&(e[0]=w,e[1]=T),0===o&&(o=1);var k=1/o;isFinite(g)||(g=1),a.vectorScale=g;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*k),a.coneScale=A;y=0;for(var M=0;y=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 i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,m=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],m=+t.vertexIntensityBounds[1];else for(var g=0;g0){var m=this.triShader;m.bind(),m.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||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),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),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return\"cone\"===this.traceType?i.index=Math.floor(r[1]/48):\"streamtube\"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},e.exports=function(t,e,r){var n=r.shaders;1===arguments.length&&(t=(e=t).gl);var s=d(t,n),l=m(t,n),u=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));u.generateMipmap(),u.minFilter=t.LINEAR_MIPMAP_LINEAR,u.magFilter=t.LINEAR;var f=i(t),p=i(t),g=i(t),v=i(t),y=i(t),x=a(t,[{buffer:f,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:v,type:t.FLOAT,size:2},{buffer:p,type:t.FLOAT,size:4}]),b=new h(t,u,s,l,f,p,y,g,v,x,r.traceType||\"cone\");return b.update(e),b}},{colormap:53,\"gl-buffer\":78,\"gl-mat4/invert\":98,\"gl-mat4/multiply\":100,\"gl-shader\":132,\"gl-texture2d\":146,\"gl-vao\":150,ndarray:259}],81:[function(t,e,r){var n=t(\"glslify\"),i=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n // Return up-vector for only-z vector.\\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n// segment + 0 top vertex\\n// segment + 1 perimeter vertex a+1\\n// segment + 2 perimeter vertex a\\n// segment + 3 center base vertex\\n// segment + 4 perimeter vertex a\\n// segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\\n\\n const float segmentCount = 8.0;\\n\\n float index = rawIndex - floor(rawIndex /\\n (segmentCount * 6.0)) *\\n (segmentCount * 6.0);\\n\\n float segment = floor(0.001 + index/6.0);\\n float segmentIndex = index - (segment*6.0);\\n\\n normal = -normalize(d);\\n\\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\\n return mix(vec3(0.0), -d, coneOffset);\\n }\\n\\n float nextAngle = (\\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\\n (segmentIndex > 4.99 && segmentIndex < 5.01)\\n ) ? 1.0 : 0.0;\\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n vec3 v2 = v1 - d;\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d)*0.25;\\n vec3 y = v * sin(angle) * length(d)*0.25;\\n vec3 v3 = v2 + x + y;\\n if (segmentIndex < 3.0) {\\n vec3 tx = u * sin(angle);\\n vec3 ty = v * -cos(angle);\\n vec3 tangent = tx + ty;\\n normal = normalize(cross(v3 - v1, tangent));\\n }\\n\\n if (segmentIndex == 0.0) {\\n return mix(d, vec3(0.0), coneOffset);\\n }\\n return v3;\\n}\\n\\nattribute vec3 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\n\\nuniform float vectorScale, coneScale, coneOffset;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 eyePosition, lightPosition;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n // Scale the vector magnitude to stay constant with\\n // model & view changes.\\n vec3 normal;\\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * conePosition;\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n // vec4 m_position = model * vec4(conePosition, 1.0);\\n vec4 t_position = view * conePosition;\\n gl_Position = projection * t_position;\\n\\n f_color = color;\\n f_data = conePosition.xyz;\\n f_position = position.xyz;\\n f_uv = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n // Return up-vector for only-z vector.\\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n// segment + 0 top vertex\\n// segment + 1 perimeter vertex a+1\\n// segment + 2 perimeter vertex a\\n// segment + 3 center base vertex\\n// segment + 4 perimeter vertex a\\n// segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\\n\\n const float segmentCount = 8.0;\\n\\n float index = rawIndex - floor(rawIndex /\\n (segmentCount * 6.0)) *\\n (segmentCount * 6.0);\\n\\n float segment = floor(0.001 + index/6.0);\\n float segmentIndex = index - (segment*6.0);\\n\\n normal = -normalize(d);\\n\\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\\n return mix(vec3(0.0), -d, coneOffset);\\n }\\n\\n float nextAngle = (\\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\\n (segmentIndex > 4.99 && segmentIndex < 5.01)\\n ) ? 1.0 : 0.0;\\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n vec3 v2 = v1 - d;\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d)*0.25;\\n vec3 y = v * sin(angle) * length(d)*0.25;\\n vec3 v3 = v2 + x + y;\\n if (segmentIndex < 3.0) {\\n vec3 tx = u * sin(angle);\\n vec3 ty = v * -cos(angle);\\n vec3 tangent = tx + ty;\\n normal = normalize(cross(v3 - v1, tangent));\\n }\\n\\n if (segmentIndex == 0.0) {\\n return mix(d, vec3(0.0), coneOffset);\\n }\\n return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float vectorScale, coneScale, coneOffset;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n vec3 normal;\\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n gl_Position = projection * view * conePosition;\\n f_id = id;\\n f_position = position.xyz;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},{glslify:231}],82:[function(t,e,r){e.exports={0:\"NONE\",1:\"ONE\",2:\"LINE_LOOP\",3:\"LINE_STRIP\",4:\"TRIANGLES\",5:\"TRIANGLE_STRIP\",6:\"TRIANGLE_FAN\",256:\"DEPTH_BUFFER_BIT\",512:\"NEVER\",513:\"LESS\",514:\"EQUAL\",515:\"LEQUAL\",516:\"GREATER\",517:\"NOTEQUAL\",518:\"GEQUAL\",519:\"ALWAYS\",768:\"SRC_COLOR\",769:\"ONE_MINUS_SRC_COLOR\",770:\"SRC_ALPHA\",771:\"ONE_MINUS_SRC_ALPHA\",772:\"DST_ALPHA\",773:\"ONE_MINUS_DST_ALPHA\",774:\"DST_COLOR\",775:\"ONE_MINUS_DST_COLOR\",776:\"SRC_ALPHA_SATURATE\",1024:\"STENCIL_BUFFER_BIT\",1028:\"FRONT\",1029:\"BACK\",1032:\"FRONT_AND_BACK\",1280:\"INVALID_ENUM\",1281:\"INVALID_VALUE\",1282:\"INVALID_OPERATION\",1285:\"OUT_OF_MEMORY\",1286:\"INVALID_FRAMEBUFFER_OPERATION\",2304:\"CW\",2305:\"CCW\",2849:\"LINE_WIDTH\",2884:\"CULL_FACE\",2885:\"CULL_FACE_MODE\",2886:\"FRONT_FACE\",2928:\"DEPTH_RANGE\",2929:\"DEPTH_TEST\",2930:\"DEPTH_WRITEMASK\",2931:\"DEPTH_CLEAR_VALUE\",2932:\"DEPTH_FUNC\",2960:\"STENCIL_TEST\",2961:\"STENCIL_CLEAR_VALUE\",2962:\"STENCIL_FUNC\",2963:\"STENCIL_VALUE_MASK\",2964:\"STENCIL_FAIL\",2965:\"STENCIL_PASS_DEPTH_FAIL\",2966:\"STENCIL_PASS_DEPTH_PASS\",2967:\"STENCIL_REF\",2968:\"STENCIL_WRITEMASK\",2978:\"VIEWPORT\",3024:\"DITHER\",3042:\"BLEND\",3088:\"SCISSOR_BOX\",3089:\"SCISSOR_TEST\",3106:\"COLOR_CLEAR_VALUE\",3107:\"COLOR_WRITEMASK\",3317:\"UNPACK_ALIGNMENT\",3333:\"PACK_ALIGNMENT\",3379:\"MAX_TEXTURE_SIZE\",3386:\"MAX_VIEWPORT_DIMS\",3408:\"SUBPIXEL_BITS\",3410:\"RED_BITS\",3411:\"GREEN_BITS\",3412:\"BLUE_BITS\",3413:\"ALPHA_BITS\",3414:\"DEPTH_BITS\",3415:\"STENCIL_BITS\",3553:\"TEXTURE_2D\",4352:\"DONT_CARE\",4353:\"FASTEST\",4354:\"NICEST\",5120:\"BYTE\",5121:\"UNSIGNED_BYTE\",5122:\"SHORT\",5123:\"UNSIGNED_SHORT\",5124:\"INT\",5125:\"UNSIGNED_INT\",5126:\"FLOAT\",5386:\"INVERT\",5890:\"TEXTURE\",6401:\"STENCIL_INDEX\",6402:\"DEPTH_COMPONENT\",6406:\"ALPHA\",6407:\"RGB\",6408:\"RGBA\",6409:\"LUMINANCE\",6410:\"LUMINANCE_ALPHA\",7680:\"KEEP\",7681:\"REPLACE\",7682:\"INCR\",7683:\"DECR\",7936:\"VENDOR\",7937:\"RENDERER\",7938:\"VERSION\",9728:\"NEAREST\",9729:\"LINEAR\",9984:\"NEAREST_MIPMAP_NEAREST\",9985:\"LINEAR_MIPMAP_NEAREST\",9986:\"NEAREST_MIPMAP_LINEAR\",9987:\"LINEAR_MIPMAP_LINEAR\",10240:\"TEXTURE_MAG_FILTER\",10241:\"TEXTURE_MIN_FILTER\",10242:\"TEXTURE_WRAP_S\",10243:\"TEXTURE_WRAP_T\",10497:\"REPEAT\",10752:\"POLYGON_OFFSET_UNITS\",16384:\"COLOR_BUFFER_BIT\",32769:\"CONSTANT_COLOR\",32770:\"ONE_MINUS_CONSTANT_COLOR\",32771:\"CONSTANT_ALPHA\",32772:\"ONE_MINUS_CONSTANT_ALPHA\",32773:\"BLEND_COLOR\",32774:\"FUNC_ADD\",32777:\"BLEND_EQUATION_RGB\",32778:\"FUNC_SUBTRACT\",32779:\"FUNC_REVERSE_SUBTRACT\",32819:\"UNSIGNED_SHORT_4_4_4_4\",32820:\"UNSIGNED_SHORT_5_5_5_1\",32823:\"POLYGON_OFFSET_FILL\",32824:\"POLYGON_OFFSET_FACTOR\",32854:\"RGBA4\",32855:\"RGB5_A1\",32873:\"TEXTURE_BINDING_2D\",32926:\"SAMPLE_ALPHA_TO_COVERAGE\",32928:\"SAMPLE_COVERAGE\",32936:\"SAMPLE_BUFFERS\",32937:\"SAMPLES\",32938:\"SAMPLE_COVERAGE_VALUE\",32939:\"SAMPLE_COVERAGE_INVERT\",32968:\"BLEND_DST_RGB\",32969:\"BLEND_SRC_RGB\",32970:\"BLEND_DST_ALPHA\",32971:\"BLEND_SRC_ALPHA\",33071:\"CLAMP_TO_EDGE\",33170:\"GENERATE_MIPMAP_HINT\",33189:\"DEPTH_COMPONENT16\",33306:\"DEPTH_STENCIL_ATTACHMENT\",33635:\"UNSIGNED_SHORT_5_6_5\",33648:\"MIRRORED_REPEAT\",33901:\"ALIASED_POINT_SIZE_RANGE\",33902:\"ALIASED_LINE_WIDTH_RANGE\",33984:\"TEXTURE0\",33985:\"TEXTURE1\",33986:\"TEXTURE2\",33987:\"TEXTURE3\",33988:\"TEXTURE4\",33989:\"TEXTURE5\",33990:\"TEXTURE6\",33991:\"TEXTURE7\",33992:\"TEXTURE8\",33993:\"TEXTURE9\",33994:\"TEXTURE10\",33995:\"TEXTURE11\",33996:\"TEXTURE12\",33997:\"TEXTURE13\",33998:\"TEXTURE14\",33999:\"TEXTURE15\",34e3:\"TEXTURE16\",34001:\"TEXTURE17\",34002:\"TEXTURE18\",34003:\"TEXTURE19\",34004:\"TEXTURE20\",34005:\"TEXTURE21\",34006:\"TEXTURE22\",34007:\"TEXTURE23\",34008:\"TEXTURE24\",34009:\"TEXTURE25\",34010:\"TEXTURE26\",34011:\"TEXTURE27\",34012:\"TEXTURE28\",34013:\"TEXTURE29\",34014:\"TEXTURE30\",34015:\"TEXTURE31\",34016:\"ACTIVE_TEXTURE\",34024:\"MAX_RENDERBUFFER_SIZE\",34041:\"DEPTH_STENCIL\",34055:\"INCR_WRAP\",34056:\"DECR_WRAP\",34067:\"TEXTURE_CUBE_MAP\",34068:\"TEXTURE_BINDING_CUBE_MAP\",34069:\"TEXTURE_CUBE_MAP_POSITIVE_X\",34070:\"TEXTURE_CUBE_MAP_NEGATIVE_X\",34071:\"TEXTURE_CUBE_MAP_POSITIVE_Y\",34072:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",34073:\"TEXTURE_CUBE_MAP_POSITIVE_Z\",34074:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",34076:\"MAX_CUBE_MAP_TEXTURE_SIZE\",34338:\"VERTEX_ATTRIB_ARRAY_ENABLED\",34339:\"VERTEX_ATTRIB_ARRAY_SIZE\",34340:\"VERTEX_ATTRIB_ARRAY_STRIDE\",34341:\"VERTEX_ATTRIB_ARRAY_TYPE\",34342:\"CURRENT_VERTEX_ATTRIB\",34373:\"VERTEX_ATTRIB_ARRAY_POINTER\",34466:\"NUM_COMPRESSED_TEXTURE_FORMATS\",34467:\"COMPRESSED_TEXTURE_FORMATS\",34660:\"BUFFER_SIZE\",34661:\"BUFFER_USAGE\",34816:\"STENCIL_BACK_FUNC\",34817:\"STENCIL_BACK_FAIL\",34818:\"STENCIL_BACK_PASS_DEPTH_FAIL\",34819:\"STENCIL_BACK_PASS_DEPTH_PASS\",34877:\"BLEND_EQUATION_ALPHA\",34921:\"MAX_VERTEX_ATTRIBS\",34922:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",34930:\"MAX_TEXTURE_IMAGE_UNITS\",34962:\"ARRAY_BUFFER\",34963:\"ELEMENT_ARRAY_BUFFER\",34964:\"ARRAY_BUFFER_BINDING\",34965:\"ELEMENT_ARRAY_BUFFER_BINDING\",34975:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",35040:\"STREAM_DRAW\",35044:\"STATIC_DRAW\",35048:\"DYNAMIC_DRAW\",35632:\"FRAGMENT_SHADER\",35633:\"VERTEX_SHADER\",35660:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",35661:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",35663:\"SHADER_TYPE\",35664:\"FLOAT_VEC2\",35665:\"FLOAT_VEC3\",35666:\"FLOAT_VEC4\",35667:\"INT_VEC2\",35668:\"INT_VEC3\",35669:\"INT_VEC4\",35670:\"BOOL\",35671:\"BOOL_VEC2\",35672:\"BOOL_VEC3\",35673:\"BOOL_VEC4\",35674:\"FLOAT_MAT2\",35675:\"FLOAT_MAT3\",35676:\"FLOAT_MAT4\",35678:\"SAMPLER_2D\",35680:\"SAMPLER_CUBE\",35712:\"DELETE_STATUS\",35713:\"COMPILE_STATUS\",35714:\"LINK_STATUS\",35715:\"VALIDATE_STATUS\",35716:\"INFO_LOG_LENGTH\",35717:\"ATTACHED_SHADERS\",35718:\"ACTIVE_UNIFORMS\",35719:\"ACTIVE_UNIFORM_MAX_LENGTH\",35720:\"SHADER_SOURCE_LENGTH\",35721:\"ACTIVE_ATTRIBUTES\",35722:\"ACTIVE_ATTRIBUTE_MAX_LENGTH\",35724:\"SHADING_LANGUAGE_VERSION\",35725:\"CURRENT_PROGRAM\",36003:\"STENCIL_BACK_REF\",36004:\"STENCIL_BACK_VALUE_MASK\",36005:\"STENCIL_BACK_WRITEMASK\",36006:\"FRAMEBUFFER_BINDING\",36007:\"RENDERBUFFER_BINDING\",36048:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",36049:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",36050:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",36051:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",36053:\"FRAMEBUFFER_COMPLETE\",36054:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",36055:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",36057:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",36061:\"FRAMEBUFFER_UNSUPPORTED\",36064:\"COLOR_ATTACHMENT0\",36096:\"DEPTH_ATTACHMENT\",36128:\"STENCIL_ATTACHMENT\",36160:\"FRAMEBUFFER\",36161:\"RENDERBUFFER\",36162:\"RENDERBUFFER_WIDTH\",36163:\"RENDERBUFFER_HEIGHT\",36164:\"RENDERBUFFER_INTERNAL_FORMAT\",36168:\"STENCIL_INDEX8\",36176:\"RENDERBUFFER_RED_SIZE\",36177:\"RENDERBUFFER_GREEN_SIZE\",36178:\"RENDERBUFFER_BLUE_SIZE\",36179:\"RENDERBUFFER_ALPHA_SIZE\",36180:\"RENDERBUFFER_DEPTH_SIZE\",36181:\"RENDERBUFFER_STENCIL_SIZE\",36194:\"RGB565\",36336:\"LOW_FLOAT\",36337:\"MEDIUM_FLOAT\",36338:\"HIGH_FLOAT\",36339:\"LOW_INT\",36340:\"MEDIUM_INT\",36341:\"HIGH_INT\",36346:\"SHADER_COMPILER\",36347:\"MAX_VERTEX_UNIFORM_VECTORS\",36348:\"MAX_VARYING_VECTORS\",36349:\"MAX_FRAGMENT_UNIFORM_VECTORS\",37440:\"UNPACK_FLIP_Y_WEBGL\",37441:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",37442:\"CONTEXT_LOST_WEBGL\",37443:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",37444:\"BROWSER_DEFAULT_WEBGL\"}},{}],83:[function(t,e,r){var n=t(\"./1.0/numbers\");e.exports=function(t){return n[t]}},{\"./1.0/numbers\":82}],84:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders/index\"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=(t._ortho||!1?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*u,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=u[n],a=0;a0)(m=u.slice())[s]+=p[1][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,m[0],m[1],m[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,m),o+=2+f(i,m,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{\"./shaders/index\":85,\"gl-buffer\":78,\"gl-vao\":150}],85:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, offset;\\nattribute vec4 color;\\nuniform mat4 model, view, projection;\\nuniform float capSize;\\nvarying vec4 fragColor;\\nvarying vec3 fragPosition;\\n\\nvoid main() {\\n vec4 worldPosition = model * vec4(position, 1.0);\\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\\n gl_Position = projection * view * worldPosition;\\n fragColor = color;\\n fragPosition = position;\\n}\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float opacity;\\nvarying vec3 fragPosition;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (\\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\\n fragColor.a * opacity == 0.\\n ) discard;\\n\\n gl_FragColor = opacity * fragColor;\\n}\"]);e.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},{\"gl-shader\":132,glslify:231}],86:[function(t,e,r){\"use strict\";var n=t(\"gl-texture2d\");e.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension(\"WEBGL_draw_buffers\");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;au||r<0||r>u)throw new Error(\"gl-fbo: Parameters are too large for FBO\");var f=1;if(\"color\"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(f>1){if(!c)throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\");if(f>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+f+\" draw buffers\")}}var h=t.UNSIGNED_BYTE,p=t.getExtension(\"OES_texture_float\");if(n.float&&f>0){if(!p)throw new Error(\"gl-fbo: Context does not support floating point textures\");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var m=!0;\"depth\"in n&&(m=!!n.depth);var g=!1;\"stencil\"in n&&(g=!!n.stencil);return new d(t,e,r,h,f,m,g,c)};var i,a,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error(\"gl-fbo: Framebuffer unsupported\");case a:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case o:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case s:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension(\"WEBGL_depth_texture\");y?d?t.depth=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):m&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null);for(v=0;vi||r<0||r>i)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");t._shape[0]=e,t._shape[1]=r;for(var a=c(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var m=i.attributes;return this.positionBuffer.bind(),m.position.pointer(),this.weightBuffer.bind(),m.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),m.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var c,u,f,p,d=t.colorLevels||[0],m=t.colorValues||[0,0,0,1],g=d.length,v=this.bounds;l?(c=v[0]=r[0],u=v[1]=o[0],f=v[2]=r[r.length-1],p=v[3]=o[o.length-1]):(c=v[0]=r[0]+(r[1]-r[0])/2,u=v[1]=o[0]+(o[1]-o[0])/2,f=v[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=v[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var y=1/(f-c),x=1/(p-u),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?b-1:b,L=l?_-1:_,C=0;C max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D dashTexture;\\nuniform float dashScale;\\nuniform float opacity;\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (\\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\\n fragColor.a * opacity == 0.\\n ) discard;\\n\\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\\n if(dashWeight < 0.5) {\\n discard;\\n }\\n gl_FragColor = fragColor * opacity;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\n#define FLOAT_MAX 1.70141184e38\\n#define FLOAT_MIN 1.17549435e-38\\n\\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\\nvec4 packFloat(float v) {\\n float av = abs(v);\\n\\n //Handle special cases\\n if(av < FLOAT_MIN) {\\n return vec4(0.0, 0.0, 0.0, 0.0);\\n } else if(v > FLOAT_MAX) {\\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\\n } else if(v < -FLOAT_MAX) {\\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\\n }\\n\\n vec4 c = vec4(0,0,0,0);\\n\\n //Compute exponent and mantissa\\n float e = floor(log2(av));\\n float m = av * pow(2.0, -e) - 1.0;\\n\\n //Unpack mantissa\\n c[1] = floor(128.0 * m);\\n m -= c[1] / 128.0;\\n c[2] = floor(32768.0 * m);\\n m -= c[2] / 32768.0;\\n c[3] = floor(8388608.0 * m);\\n\\n //Unpack exponent\\n float ebias = e + 127.0;\\n c[0] = floor(ebias / 2.0);\\n ebias -= c[0] * 2.0;\\n c[1] += floor(ebias) * 128.0;\\n\\n //Unpack sign bit\\n c[0] += 128.0 * step(0.0, -v);\\n\\n //Scale back to range\\n return c / 255.0;\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform float pickId;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\\n\\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\\n}\"]),l=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];r.createShader=function(t){return i(t,a,o,null,l)},r.createPickShader=function(t){return i(t,a,s,null,l)}},{\"gl-shader\":132,glslify:231}],91:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),u=c(new Array(1024),[256,1,4]),p=0;p<1024;++p)u.data[p]=255;var d=a(e,u);d.wrap=e.REPEAT;var m=new v(e,r,o,s,l,d);return m.update(t),m};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"gl-texture2d\"),o=new Uint8Array(4),s=new Float32Array(o.buffer);var l=t(\"binary-search-bounds\"),c=t(\"ndarray\"),u=t(\"./lib/shaders\"),f=u.createShader,h=u.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function m(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function v(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var y=v.prototype;y.isTransparent=function(){return this.hasAlpha},y.isOpaque=function(){return!this.hasAlpha},y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.drawTransparent=y.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:m(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:m(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;\"dashScale\"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,u=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],m=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);u+=2,g=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(v=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],y=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):v=y=p,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&v[3]<1&&(this.hasAlpha=!0),x=Array.isArray(m)?m.length>e-1?m[e-1]:m.length>0?m[m.length-1]:[0,0,0,1]:m;var T=s;if(s+=d(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3]);u+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,y[0],y[1],y[2],y[3]),u+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=u,this.points=o,this.arcLength=a,\"dashes\"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;v+=g[f]}if(Math.abs(v-1)>.001)return null;return[h,s(t,g),g]}},{barycentric:14,\"polytope-closest-point/lib/closest_point_2d.js\":270}],111:[function(t,e,r){var n=t(\"glslify\"),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, normal;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model\\n , view\\n , projection\\n , inverseModel;\\nuniform vec3 eyePosition\\n , lightPosition;\\n\\nvarying vec3 f_normal\\n , f_lightDirection\\n , f_eyeDirection\\n , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvec4 project(vec3 p) {\\n return projection * view * model * vec4(p, 1.0);\\n}\\n\\nvoid main() {\\n gl_Position = project(position);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * vec4(position , 1.0);\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n f_color = color;\\n f_data = position;\\n f_uv = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n , fresnel\\n , kambient\\n , kdiffuse\\n , kspecular;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n , f_lightDirection\\n , f_eyeDirection\\n , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (f_color.a == 0.0 ||\\n outOfRange(clipBounds[0], clipBounds[1], f_data)\\n ) discard;\\n\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\\n\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * f_color.a;\\n}\\n\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n f_color = color;\\n f_data = position;\\n f_uv = uv;\\n}\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\\n\\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),l=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\nattribute float pointSize;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\\n } else {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n }\\n gl_PointSize = pointSize;\\n f_color = color;\\n f_uv = uv;\\n}\"]),c=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\\n if(dot(pointR, pointR) > 0.25) {\\n discard;\\n }\\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),u=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n f_id = id;\\n f_position = position;\\n}\"]),f=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]),h=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute float pointSize;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\\n } else {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n gl_PointSize = pointSize;\\n }\\n f_id = id;\\n f_position = position;\\n}\"]),p=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n}\"]),d=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n gl_FragColor = vec4(contourColor, 1.0);\\n}\\n\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},r.pickShader={vertex:u,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},r.pointPickShader={vertex:h,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:\"position\",type:\"vec3\"}]}},{glslify:231}],112:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"normals\"),l=t(\"gl-mat4/multiply\"),c=t(\"gl-mat4/invert\"),u=t(\"ndarray\"),f=t(\"colormap\"),h=t(\"simplicial-complex-contour\"),p=t(\"typedarray-pool\"),d=t(\"./lib/shaders\"),m=t(\"./lib/closest-point\"),g=d.meshShader,v=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=v,this.edgeIds=m,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,g.vertex,g.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function S(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function E(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function C(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function P(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=g[t],r.uniforms.angle=v[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),y[t]&&T&&(u[1^t]-=M*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),u[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=M*p*m[t+2],ki[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=g[t+2],r.uniforms.angle=v[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),y[t+2]&&T&&(u[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),m.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),m.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],f=a[o],m=a[o+2]-f,g=i[o],v=i[o+2]-g;p[o]=2*l/u*m/v,h[o]=2*(s-c)/u*m/v}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),m.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e=0){var m=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(m,e[1],m,e[3],p[d],h[d]):o.drawLine(e[0],m,e[2],m,p[d],h[d])}}for(d=0;d=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=t(\"right-now\"),i=t(\"3d-view\"),a=t(\"mouse-change\"),o=t(\"mouse-wheel\"),s=t(\"mouse-event-offset\"),l=t(\"has-passive-events\")},{\"3d-view\":7,\"has-passive-events\":232,\"mouse-change\":247,\"mouse-event-offset\":248,\"mouse-wheel\":250,\"right-now\":278}],120:[function(t,e,r){var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\nattribute vec2 position;\\nvarying vec2 uv;\\nvoid main() {\\n uv = position;\\n gl_Position = vec4(position, 0, 1);\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D accumBuffer;\\nvarying vec2 uv;\\n\\nvoid main() {\\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\\n gl_FragColor = min(vec4(1,1,1,1), accum);\\n}\"]);e.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec2\"}])}},{\"gl-shader\":132,glslify:231}],121:[function(t,e,r){\"use strict\";var n=t(\"./camera.js\"),i=t(\"gl-axes3d\"),a=t(\"gl-axes3d/properties\"),o=t(\"gl-spikes3d\"),s=t(\"gl-select-static\"),l=t(\"gl-fbo\"),c=t(\"a-big-triangle\"),u=t(\"mouse-change\"),f=t(\"gl-mat4/perspective\"),h=t(\"gl-mat4/ortho\"),p=t(\"./lib/shader\"),d=t(\"is-mobile\")({tablet:!0,featureDetect:!0});function m(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function v(t){return\"boolean\"!=typeof t||t}e.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;if(!e){if(e=document.createElement(\"canvas\"),t.container)t.container.appendChild(e);else document.body.appendChild(e)}var r=t.gl;r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext(\"webgl\",e))||(r=t.getContext(\"experimental-webgl\",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d}));if(!r)throw new Error(\"webgl not supported\");var y=t.bounds||[[-10,-10,-10],[10,10,10]],x=new m,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&\"orthographic\"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||\"turntable\",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],L=[],C=[],P=[],I=!0,O=!0,z=new Array(16),D=new Array(16),R={view:null,projection:z,model:D,_ortho:!1},F=(O=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),B=t.cameraObject||n(e,T),N={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:B,axes:A,axesPixels:null,spikes:S,bounds:y,objects:E,shape:F,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:v(t.autoResize),autoBounds:v(t.autoBounds),autoScale:!!t.autoScale,autoCenter:v(t.autoCenter),clipToBounds:v(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:R,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,O=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},j=[r.drawingBufferWidth/N.pixelRatio|0,r.drawingBufferHeight/N.pixelRatio|0];function U(){if(!N._stopped&&N.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*N.pixelRatio),a=0|Math.ceil(n*N.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||\"absolute\",o.left=\"0px\",o.top=\"0px\",o.width=r+\"px\",o.height=n+\"px\",I=!0}}}N.autoResize&&U();function V(){for(var t=E.length,e=P.length,n=0;n0&&0===C[e-1];)C.pop(),P.pop().dispose()}function H(){if(N.contextLost)return!0;r.isContextLost()&&(N.contextLost=!0,N.mouseListener.enabled=!1,N.selection.object=null,N.oncontextloss&&N.oncontextloss())}window.addEventListener(\"resize\",U),N.update=function(t){N._stopped||(t=t||{},I=!0,O=!0)},N.add=function(t){N._stopped||(t.axes=A,E.push(t),L.push(-1),I=!0,O=!0,V())},N.remove=function(t){if(!N._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),I=!0,O=!0,V())}},N.dispose=function(){if(!N._stopped&&(N._stopped=!0,window.removeEventListener(\"resize\",U),e.removeEventListener(\"webglcontextlost\",H),N.mouseListener.enabled=!1,!N.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var c=0;c 1.0) {\\n discard;\\n }\\n baseColor = mix(borderColor, color, step(radius, centerFraction));\\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\\n }\\n}\\n\"]),r.pickVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform vec4 pickOffset;\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n vec3 hgPosition = matrix * vec3(position, 1);\\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\\n gl_PointSize = pointSize;\\n\\n vec4 id = pickId + pickOffset;\\n id.y += floor(id.x / 256.0);\\n id.x -= floor(id.x / 256.0) * 256.0;\\n\\n id.z += floor(id.y / 256.0);\\n id.y -= floor(id.y / 256.0) * 256.0;\\n\\n id.w += floor(id.z / 256.0);\\n id.z -= floor(id.z / 256.0) * 256.0;\\n\\n fragId = id;\\n}\\n\"]),r.pickFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n if(radius > 1.0) {\\n discard;\\n }\\n gl_FragColor = fragId / 255.0;\\n}\\n\"])},{glslify:231}],123:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"typedarray-pool\"),o=t(\"./lib/shader\");function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,a=i(r),l=i(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),f=new s(t,a,l,c,u);return f.update(e),t.addObject(f),f};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r(\"sizeMin\",.5),this.sizeMax=r(\"sizeMax\",20),this.color=r(\"color\",[1,0,0,1]).slice(),this.areaRatio=r(\"areaRatio\",1),this.borderColor=r(\"borderColor\",[0,0,0,1]).slice(),this.blend=r(\"blend\",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{\"./lib/shader\":122,\"gl-buffer\":78,\"gl-shader\":132,\"typedarray-pool\":308}],124:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],p=r[0],d=r[1],m=r[2],g=r[3];(a=c*p+u*d+f*m+h*g)<0&&(a=-a,p=-p,d=-d,m=-m,g=-g);1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*f+l*m,t[3]=s*h+l*g,t}},{}],125:[function(t,e,r){\"use strict\";e.exports=function(t){return t||0===t?t.toString():\"\"}},{}],126:[function(t,e,r){\"use strict\";var n=t(\"vectorize-text\");e.exports=function(t,e,r){var a=i[e];a||(a=i[e]={});if(t in a)return a[t];var o={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,c,u=n(t,o);if(r&&1!==r){for(l=0;l max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform vec4 highlightId;\\nuniform float highlightScale;\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float scale = 1.0;\\n if(distance(highlightId, id) < 0.0001) {\\n scale = highlightScale;\\n }\\n\\n vec4 worldPosition = model * vec4(position, 1);\\n vec4 viewPosition = view * worldPosition;\\n viewPosition = viewPosition / viewPosition.w;\\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\\n\\n gl_Position = clipPosition;\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = position;\\n }\\n}\"]),o=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float highlightScale, pixelRatio;\\nuniform vec4 highlightId;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float scale = pixelRatio;\\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\\n scale *= highlightScale;\\n }\\n\\n vec4 worldPosition = model * vec4(position, 1.0);\\n vec4 viewPosition = view * worldPosition;\\n vec4 clipPosition = projection * viewPosition;\\n clipPosition /= clipPosition.w;\\n\\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = position;\\n }\\n}\"]),s=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform float highlightScale;\\nuniform vec4 highlightId;\\nuniform vec3 axes[2];\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float scale, pixelRatio;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float lscale = pixelRatio * scale;\\n if(distance(highlightId, id) < 0.0001) {\\n lscale *= highlightScale;\\n }\\n\\n vec4 clipCenter = projection * view * model * vec4(position, 1);\\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\\n\\n gl_Position = clipPosition;\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = dataPosition;\\n }\\n}\\n\"]),l=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float opacity;\\n\\nvarying vec4 interpColor;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (\\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\\n interpColor.a * opacity == 0.\\n ) discard;\\n gl_FragColor = interpColor * opacity;\\n}\\n\"]),c=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float pickGroup;\\n\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\\n\\n gl_FragColor = vec4(pickGroup, pickId.bgr);\\n}\"]),u=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],f={vertex:a,fragment:l,attributes:u},h={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,fragment:c,attributes:u},m={vertex:o,fragment:c,attributes:u},g={vertex:s,fragment:c,attributes:u};function v(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}r.createPerspective=function(t){return v(t,f)},r.createOrtho=function(t){return v(t,h)},r.createProject=function(t){return v(t,p)},r.createPickPerspective=function(t){return v(t,d)},r.createPickOrtho=function(t){return v(t,m)},r.createPickProject=function(t){return v(t,g)}},{\"gl-shader\":132,glslify:231}],128:[function(t,e,r){\"use strict\";var n=t(\"is-string-blank\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"typedarray-pool\"),s=t(\"gl-mat4/multiply\"),l=t(\"./lib/shaders\"),c=t(\"./lib/glyphs\"),u=t(\"./lib/get-simple-string\"),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function p(t,e,r,n){return h(n,n),h(n,n),h(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function m(t){return!0===t||t>1?1:t}function g(t,e,r,n,i,a,o,s,l,c,u,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=f,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),c=l.createPickOrtho(e),u=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),m=a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),v=new g(e,r,n,o,f,h,p,d,m,s,c,u);return v.update(t),v};var v=g.prototype;v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},v.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var y=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],T=f.slice(),k=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function L(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||f,u=r.view||f,h=r.projection||f,d=e.axesBounds,m=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=h,l.screenSize=y,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=m,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var g=0;g<3;++g)if(a[g]){l.scale=e.projectScale[g],l.opacity=e.projectOpacity[g];for(var v=T,L=0;L<16;++L)v[L]=0;for(L=0;L<4;++L)v[5*L]=1;v[5*g]=0,i[g]<0?v[12+g]=d[0][g]:v[12+g]=d[1][g],s(v,c,v),l.model=v;var C=(g+1)%3,P=(g+2)%3,I=M(x),O=M(b);I[C]=1,O[P]=1;var z=p(0,0,0,S(_,I)),D=p(0,0,0,S(w,O));if(Math.abs(z[1])>Math.abs(D[1])){var R=z;z=D,D=R,R=I,I=O,O=R;var F=C;C=P,P=F}z[0]<0&&(I[C]=-1),D[1]>0&&(O[P]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(c[4*C+L],2),N+=Math.pow(c[4*P+L],2);I[C]/=Math.sqrt(B),O[P]/=Math.sqrt(N),l.axes[0]=I,l.axes[1]=O,l.fragClipBounds[0]=E(k,m[0],g,-1e8),l.fragClipBounds[1]=E(k,m[1],g,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}var C=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function P(t,e,r,n,i,a,o){var s=r.gl;if((a===r.projectHasAlpha||o)&&L(e,r,n,i),a===r.hasAlpha||o){t.bind();var l=t.uniforms;l.model=n.model||f,l.view=n.view||f,l.projection=n.projection||f,y[0]=2/s.drawingBufferWidth,y[1]=2/s.drawingBufferHeight,l.screenSize=y,l.highlightId=r.highlightId,l.highlightScale=r.highlightScale,l.fragClipBounds=C,l.clipBounds=r.axes.bounds,l.opacity=r.opacity,l.pickGroup=r.pickId/255,l.pixelRatio=i,r.vao.bind(),r.vao.draw(s.TRIANGLES,r.vertexCount),r.lineWidth>0&&(s.lineWidth(r.lineWidth*i),r.vao.draw(s.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function I(t,e,r,i){var a;a=Array.isArray(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},v.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},v.update=function(t){if(\"perspective\"in(t=t||{})&&(this.useOrtho=!t.perspective),\"orthographic\"in t&&(this.useOrtho=!!t.orthographic),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"project\"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if(\"projectScale\"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,\"projectOpacity\"in t){if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=m(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=m(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l=t.font||\"normal\",c=t.alignment||[0,0];if(2===c.length)i=c[0],a=c[1];else{i=[],a=[];for(n=0;n0){var O=0,z=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(v)&&Array.isArray(v[0]);t:for(n=0;n<_;++n){y+=1;for(w=s[n],T=0;T<3;++T){if(isNaN(w[T])||!isFinite(w[T]))continue t;f[T]=Math.max(f[T],w[T]),u[T]=Math.min(u[T],w[T])}k=(N=I(h,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(U=F?n0?1-M[0][0]:Y<0?1+M[1][0]:1,W*=W>0?1-M[0][1]:W<0?1+M[1][1]:1],Z=k.cells||[],J=k.positions||[];for(T=0;T0){var v=r*u;o.drawBox(f-v,h-v,p+v,h+v,a),o.drawBox(f-v,d-v,p+v,d+v,a),o.drawBox(f-v,h-v,f+v,d+v,a),o.drawBox(p-v,h-v,p+v,d+v,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{\"./lib/shaders\":129,\"gl-buffer\":78,\"gl-shader\":132}],131:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=e[0],a=e[1],o=n(t,r,a,{}),s=i.mallocUint8(r*a*4);return new l(t,o,s)};var n=t(\"gl-fbo\"),i=t(\"typedarray-pool\"),a=t(\"ndarray\"),o=t(\"bit-twiddle\").nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var c=l.prototype;Object.defineProperty(c,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;_[y]=M}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+f+\": \"+h);s(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf(\"mat\")>=0))throw new n(\"\",\"Unknown data type for attribute \"+f+\": \"+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+f+\": \"+h);l(t,e,p,i,d,a,f)}}}return a};var n=t(\"./GLError\");function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(t,e,r,n){var i=this._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,\"location\",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}});var o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var c=o[a],u=new i(t,e,r,n,a,c);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),c(t,n[r],e),e},get:function(){return u},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),c=new Array(i),u=0;u4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+v);t[\"uniformMatrix\"+g+\"fv\"](s[u],!1,f);break}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+v)}if((g=v.charCodeAt(v.length-1)-48)<2||g>4)throw new i(\"\",\"Invalid data type\");switch(v.charAt(0)){case\"b\":case\"i\":t[\"uniform\"+g+\"iv\"](s[u],f);break;case\"v\":t[\"uniform\"+g+\"fv\"](s[u],f);break;default:throw new i(\"\",\"Unrecognized data type for vector \"+name+\": \"+v)}}}}}}function c(t,e,n){if(\"object\"==typeof n){var c=u(n);Object.defineProperty(t,e,{get:a(c),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(f=n,function(t,e,r){return t.getUniform(e.program,r[f])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=function(t){switch(t){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":case\"float\":return 0;default:var e=t.indexOf(\"vec\");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i(\"\",\"Invalid data type\");return\"b\"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf(\"mat\")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+t);return o(r*r,0)}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+t)}}(r[n].type);var f}function u(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n float segmentCount = 8.0;\\n\\n float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d);\\n vec3 y = v * sin(angle) * length(d);\\n vec3 v3 = x + y;\\n\\n normal = normalize(v3);\\n\\n return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\n\\nuniform float vectorScale, tubeScale;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 eyePosition, lightPosition;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n // Scale the vector magnitude to stay constant with\\n // model & view changes.\\n vec3 normal;\\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * tubePosition;\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n // vec4 m_position = model * vec4(tubePosition, 1.0);\\n vec4 t_position = view * tubePosition;\\n gl_Position = projection * t_position;\\n\\n f_color = color;\\n f_data = tubePosition.xyz;\\n f_position = position.xyz;\\n f_uv = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n // Return up-vector for only-z vector.\\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n float segmentCount = 8.0;\\n\\n float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d);\\n vec3 y = v * sin(angle) * length(d);\\n vec3 v3 = x + y;\\n\\n normal = normalize(v3);\\n\\n return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float tubeScale;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n vec3 normal;\\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n gl_Position = projection * view * tubePosition;\\n f_id = id;\\n f_position = position.xyz;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},{glslify:231}],143:[function(t,e,r){\"use strict\";var n=t(\"gl-vec3\"),i=t(\"gl-vec4\"),a=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],o=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;c.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(y,v,v,v,y,y),d.push(m,g,g,g,m,m);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=h;h=p,p=M;var S=y;y=v,v=S;var E=m;m=g,g=E}return{positions:c,cells:u,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;se)return r-1}return r},l=function(t,e,r){return tr?r:t},c=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nf-1||y>h-1||x>p-1)return n.create();var b,_,w,T,k,A,M=a[0][d],S=a[0][v],E=a[1][m],L=a[1][y],C=a[2][g],P=(o-M)/(S-M),I=(c-E)/(L-E),O=(u-C)/(a[2][x]-C);switch(isFinite(P)||(P=.5),isFinite(I)||(I=.5),isFinite(O)||(O=.5),r.reversedX&&(d=f-1-d,v=f-1-v),r.reversedY&&(m=h-1-m,y=h-1-y),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=m*p,T=y*p,b=d*p*h,_=v*p*h;break;case 4:k=g,A=x,b=d*p,_=v*p,w=m*p*f,T=y*p*f;break;case 3:w=m,T=y,k=g*h,A=x*h,b=d*h*p,_=v*h*p;break;case 2:w=m,T=y,b=d*h,_=v*h,k=g*h*f,A=x*h*f;break;case 1:b=d,_=v,k=g*f,A=x*f,w=m*f*p,T=y*f*p;break;default:b=d,_=v,w=m*f,T=y*f,k=g*f*h,A=x*f*h}var z=i[b+w+k],D=i[b+w+A],R=i[b+T+k],F=i[b+T+A],B=i[_+w+k],N=i[_+w+A],j=i[_+T+k],U=i[_+T+A],V=n.create(),H=n.create(),q=n.create(),G=n.create();n.lerp(V,z,B,P),n.lerp(H,D,N,P),n.lerp(q,R,j,P),n.lerp(G,F,U,P);var Y=n.create(),W=n.create();n.lerp(Y,V,q,I),n.lerp(W,H,G,I);var X=n.create();return n.lerp(X,Y,W,O),X}(e,t,p)},m=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],v=e[0][0],y=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(eb||r_||nw)},k=10*n.distance(e[0],e[1])/i,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,l=0;lS&&(S=F),D.push(F),g.push({points:P,velocities:I,divergences:D});for(var B=0;B<100*i&&P.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,C),O=d(N),n.squaredDistance(z,N)-A>-1e-4*A){P.push(N),z=N,I.push(O);R=m(N,O),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F)}C=N}}var U=o(g,t.colormap,S,M);return f?U.tubeScale=f:(0===S&&(S=1),U.tubeScale=.5*u*M/S),U};var u=t(\"./lib/shaders\"),f=t(\"gl-cone3d\").createMesh;e.exports.createTubeMesh=function(t,e){return f(t,e,{shaders:u,traceType:\"streamtube\"})}},{\"./lib/shaders\":142,\"gl-cone3d\":79,\"gl-vec3\":169,\"gl-vec4\":205}],144:[function(t,e,r){var n=t(\"gl-shader\"),i=t(\"glslify\"),a=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute vec3 f;\\nattribute vec3 normal;\\n\\nuniform vec3 objectOffset;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 lightPosition, eyePosition;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n vec3 localCoordinate = vec3(uv.zw, f.x);\\n worldCoordinate = objectOffset + localCoordinate;\\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n vec4 clipPosition = projection * view * worldPosition;\\n gl_Position = clipPosition;\\n kill = f.y;\\n value = f.z;\\n planeCoordinate = uv.xy;\\n\\n vColor = texture2D(colormap, vec2(value, value));\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * worldPosition;\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n lightDirection = lightPosition - cameraCoordinate.xyz;\\n eyeDirection = eyePosition - cameraCoordinate.xyz;\\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\\n}\\n\"]),o=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat beckmannSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness) {\\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 lowerBound, upperBound;\\nuniform float contourTint;\\nuniform vec4 contourColor;\\nuniform sampler2D colormap;\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform float vertexColor;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n if (\\n kill > 0.0 ||\\n vColor.a == 0.0 ||\\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\\n ) discard;\\n\\n vec3 N = normalize(surfaceNormal);\\n vec3 V = normalize(eyeDirection);\\n vec3 L = normalize(lightDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n //decide how to interpolate color \\u2014 in vertex or in fragment\\n vec4 surfaceColor =\\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\\n step(.5, vertexColor) * vColor;\\n\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\\n}\\n\"]),s=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute float f;\\n\\nuniform vec3 objectOffset;\\nuniform mat3 permutation;\\nuniform mat4 model, view, projection;\\nuniform float height, zOffset;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\\n worldCoordinate = objectOffset + dataCoordinate;\\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n\\n vec4 clipPosition = projection * view * worldPosition;\\n clipPosition.z += zOffset;\\n\\n gl_Position = clipPosition;\\n value = f + objectOffset.z;\\n kill = -1.0;\\n planeCoordinate = uv.zw;\\n\\n vColor = texture2D(colormap, vec2(value, value));\\n\\n //Don't do lighting for contours\\n surfaceNormal = vec3(1,0,0);\\n eyeDirection = vec3(0,1,0);\\n lightDirection = vec3(0,0,1);\\n}\\n\"]),l=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec2 shape;\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 surfaceNormal;\\n\\nvec2 splitFloat(float v) {\\n float vh = 255.0 * v;\\n float upper = floor(vh);\\n float lower = fract(vh);\\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\\n}\\n\\nvoid main() {\\n if ((kill > 0.0) ||\\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\\n\\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\\n}\\n\"]);r.createShader=function(t){var e=n(t,a,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,a,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{\"gl-shader\":132,glslify:231}],145:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=i(e),u=a(e,[{buffer:c,size:4,stride:40,offset:0},{buffer:c,size:3,stride:40,offset:16},{buffer:c,size:3,stride:40,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),m=o(e,1,256,e.RGBA,e.UNSIGNED_BYTE);m.minFilter=e.LINEAR,m.magFilter=e.LINEAR;var g=new M(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,m,s,l,f,h,p,d,[0,0,0]),v={levels:[[],[],[]]};for(var w in t)v[w]=t[w];return v.colormap=v.colormap||\"jet\",g.update(v),g};var n=t(\"bit-twiddle\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"typedarray-pool\"),l=t(\"colormap\"),c=t(\"ndarray-ops\"),u=t(\"ndarray-pack\"),f=t(\"ndarray\"),h=t(\"surface-nets\"),p=t(\"gl-mat4/multiply\"),d=t(\"gl-mat4/invert\"),m=t(\"binary-search-bounds\"),g=t(\"ndarray-gradient\"),v=t(\"./lib/shaders\"),y=v.createShader,x=v.createContourShader,b=v.createPickShader,_=v.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],k=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function A(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=k[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();function M(t,e,r,n,i,a,o,l,c,u,h,p,d,m,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new A([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=m,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var S=M.prototype;S.genColormap=function(t,e){var r=!1,n=u([l({colormap:t,nshades:256,format:\"rgba\"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return c.divseq(n,255),this.hasAlphaScale=r,n},S.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},S.isOpaque=function(){return!this.isTransparent()},S.pickSlots=1,S.setPickBase=function(t){this.pickId=t};var E=[0,0,0],L={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function C(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||E,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=L.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var c=L.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return L.showSurface=o,L.showContour=s,L}var P={model:w,view:w,projection:w,inverseModel:w.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},I=w.slice(),O=[1,0,0,0,1,0,0,0,1];function z(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=P;n.model=t.model||w,n.view=t.view||w,n.projection=t.projection||w,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=O,n.vertexColor=this.vertexColor;var s=I;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=C(n,this);if(u.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=k[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var f=u?a:1-a,h=0;h<2;++h)for(var p=i+u,d=s+h,g=f*(h?l:1-l),v=0;v<3;++v)c[v]+=this._field[v].get(p,d)*g;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=m.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},S.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},S.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in t&&(this.contourWidth=R(t.contourWidth,Number)),\"showContour\"in t&&(this.showContour=R(t.showContour,Boolean)),\"showSurface\"in t&&(this.showSurface=!!t.showSurface),\"contourTint\"in t&&(this.contourTint=R(t.contourTint,Boolean)),\"contourColor\"in t&&(this.contourColor=B(t.contourColor)),\"contourProject\"in t&&(this.contourProject=R(t.contourProject,(function(t){return R(t,Boolean)}))),\"surfaceProject\"in t&&(this.surfaceProject=t.surfaceProject),\"dynamicColor\"in t&&(this.dynamicColor=B(t.dynamicColor)),\"dynamicTint\"in t&&(this.dynamicTint=R(t.dynamicTint,Number)),\"dynamicWidth\"in t&&(this.dynamicWidth=R(t.dynamicWidth,Number)),\"opacity\"in t&&(this.opacity=t.opacity),\"opacityscale\"in t&&(this.opacityscale=t.opacityscale),\"colorBounds\"in t&&(this.colorBounds=t.colorBounds),\"vertexColor\"in t&&(this.vertexColor=t.vertexColor?1:0),\"colormap\"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),\"field\"in t||\"coords\"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(o=0;o<2;++o){var c=l[o];for(v=0;v<2;++v)if(c.shape[v]!==a[v])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[o],c)}}else if(t.ticks){var u=t.ticks;if(!Array.isArray(u)||2!==u.length)throw new Error(\"gl-surface: invalid ticks\");for(o=0;o<2;++o){var p=u[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error(\"gl-surface: invalid tick length\");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var m=[0,0];m[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],m,0)}this._field[0].set(0,0,0);for(var v=0;v0){for(var xt=0;xt<5;++xt)Q.pop();U-=1}continue t}Q.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[$]=et,this._contourCounts[$]=rt}var bt=s.mallocFloat(Q.length);for(o=0;oi||r<0||r>i)throw new Error(\"gl-texture2d: Invalid texture size\");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function p(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var d=p.prototype;function m(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function g(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function v(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\"gl-texture2d: Invalid texture shape\");if(i===t.FLOAT&&!t.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new p(t,o,e,r,n,i)}function y(t,e,r,n,i,a){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new p(t,o,r,n,i,a)}function x(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error(\"gl-texture2d: Invalid texture size\");var l=m(o,e.stride.slice()),c=0;\"float32\"===r?c=t.FLOAT:\"float64\"===r?(c=t.FLOAT,l=!1,r=\"float32\"):\"uint8\"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r=\"uint8\");var u,h,d=0;if(2===o.length)d=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===o[2])d=t.ALPHA;else if(2===o[2])d=t.LUMINANCE_ALPHA;else if(3===o[2])d=t.RGB;else{if(4!==o[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");d=t.RGBA}}c!==t.FLOAT||t.getExtension(\"OES_texture_float\")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)u=0===e.offset&&e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[o[2],o[2]*o[0],1];h=a.malloc(v,r);var x=n(h,o,y,0);\"float32\"!==r&&\"float64\"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):f(x,e),u=h.subarray(0,v)}var b=g(t);return t.texImage2D(t.TEXTURE_2D,0,d,o[0],o[1],0,d,c,u),l||a.free(h),new p(t,b,o[0],o[1],d,c)}Object.defineProperties(d,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error(\"gl-texture2d: Invalid texture shape\")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),d.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},d.dispose=function(){this.gl.deleteTexture(this.handle)},d.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},d.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=u(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error(\"gl-texture2d: Unsupported data type\");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");!function(t,e,r,o,s,l,c,u){var h=u.dtype,p=u.shape.slice();if(p.length<2||p.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var d=0,g=0,v=m(p,u.stride.slice());\"float32\"===h?d=t.FLOAT:\"float64\"===h?(d=t.FLOAT,v=!1,h=\"float32\"):\"uint8\"===h?d=t.UNSIGNED_BYTE:(d=t.UNSIGNED_BYTE,v=!1,h=\"uint8\");if(2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],u=n(u.data,p,[u.stride[0],u.stride[1],1],u.offset);else{if(3!==p.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");g=t.RGBA}p[2]}g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s);if(g!==s)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var y=u.size,x=c.indexOf(o)<0;x&&c.push(o);if(d===l&&v)0===u.offset&&u.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data.subarray(u.offset,u.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data.subarray(u.offset,u.offset+y));else{var b;b=l===t.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);d===t.FLOAT&&l===t.UNSIGNED_BYTE?f(_,u):i.assign(_,u),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:259,\"ndarray-ops\":254,\"typedarray-pool\":308}],147:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error(\"gl-vao: Too many vertex attributes\");for(var i=0;i1?0:Math.acos(s)};var n=t(\"./fromValues\"),i=t(\"./normalize\"),a=t(\"./dot\")},{\"./dot\":162,\"./fromValues\":168,\"./normalize\":179}],153:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],154:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],155:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],156:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],157:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},{}],158:[function(t,e,r){e.exports=t(\"./distance\")},{\"./distance\":159}],159:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},{}],160:[function(t,e,r){e.exports=t(\"./divide\")},{\"./divide\":161}],161:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],162:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],163:[function(t,e,r){e.exports=1e-6},{}],164:[function(t,e,r){e.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=t(\"./epsilon\")},{\"./epsilon\":163}],165:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],166:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],167:[function(t,e,r){e.exports=function(t,e,r,i,a,o){var s,l;e||(e=3);r||(r=0);l=i?Math.min(i*e+r,t.length):t.length;for(s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],180:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},{}],181:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=i+o*c-s*l,t[2]=a+o*l+s*c,t}},{}],182:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+s*l+o*c,t[1]=e[1],t[2]=a+s*c-o*l,t}},{}],183:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+o*c-s*l,t[1]=a+o*l+s*c,t[2]=e[2],t}},{}],184:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],185:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],186:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],187:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],188:[function(t,e,r){e.exports=t(\"./squaredDistance\")},{\"./squaredDistance\":190}],189:[function(t,e,r){e.exports=t(\"./squaredLength\")},{\"./squaredLength\":191}],190:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},{}],191:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],192:[function(t,e,r){e.exports=t(\"./subtract\")},{\"./subtract\":193}],193:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],194:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},{}],195:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},{}],196:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t}},{}],197:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],198:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],199:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],200:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],201:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},{}],202:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],203:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],204:[function(t,e,r){e.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},{}],205:[function(t,e,r){e.exports={create:t(\"./create\"),clone:t(\"./clone\"),fromValues:t(\"./fromValues\"),copy:t(\"./copy\"),set:t(\"./set\"),add:t(\"./add\"),subtract:t(\"./subtract\"),multiply:t(\"./multiply\"),divide:t(\"./divide\"),min:t(\"./min\"),max:t(\"./max\"),scale:t(\"./scale\"),scaleAndAdd:t(\"./scaleAndAdd\"),distance:t(\"./distance\"),squaredDistance:t(\"./squaredDistance\"),length:t(\"./length\"),squaredLength:t(\"./squaredLength\"),negate:t(\"./negate\"),inverse:t(\"./inverse\"),normalize:t(\"./normalize\"),dot:t(\"./dot\"),lerp:t(\"./lerp\"),random:t(\"./random\"),transformMat4:t(\"./transformMat4\"),transformQuat:t(\"./transformQuat\")}},{\"./add\":197,\"./clone\":198,\"./copy\":199,\"./create\":200,\"./distance\":201,\"./divide\":202,\"./dot\":203,\"./fromValues\":204,\"./inverse\":206,\"./length\":207,\"./lerp\":208,\"./max\":209,\"./min\":210,\"./multiply\":211,\"./negate\":212,\"./normalize\":213,\"./random\":214,\"./scale\":215,\"./scaleAndAdd\":216,\"./set\":217,\"./squaredDistance\":218,\"./squaredLength\":219,\"./subtract\":220,\"./transformMat4\":221,\"./transformQuat\":222}],206:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],207:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},{}],208:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],209:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],210:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],211:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],212:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],213:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o);return t}},{}],214:[function(t,e,r){var n=t(\"./normalize\"),i=t(\"./scale\");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},{\"./normalize\":213,\"./scale\":215}],215:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],216:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],217:[function(t,e,r){e.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},{}],218:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},{}],219:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},{}],220:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],221:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},{}],222:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t[3]=e[3],t}},{}],223:[function(t,e,r){var n=t(\"glsl-tokenizer\"),i=t(\"atob-lite\");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join(\"\")}return A(r),v+=r.length,(p=p.slice(r.length)).length}}function I(){return/[^a-fA-F0-9]/.test(e)?(A(p.join(\"\")),h=999,u):(p.push(e),r=e,u+1)}function O(){return\".\"===e||/[eE]/.test(e)?(p.push(e),h=5,r=e,u+1):\"x\"===e&&1===p.length&&\"0\"===p[0]?(h=11,p.push(e),r=e,u+1):/[^\\d]/.test(e)?(A(p.join(\"\")),h=999,u):(p.push(e),r=e,u+1)}function z(){return\"f\"===e&&(p.push(e),r=e,u+=1),/[eE]/.test(e)?(p.push(e),r=e,u+1):(\"-\"!==e&&\"+\"!==e||!/[eE]/.test(r))&&/[^\\d]/.test(e)?(A(p.join(\"\")),h=999,u):(p.push(e),r=e,u+1)}function D(){if(/[^\\d\\w_]/.test(e)){var t=p.join(\"\");return h=k[t]?8:T[t]?7:6,A(p.join(\"\")),h=999,u}return p.push(e),r=e,u+1}};var n=t(\"./lib/literals\"),i=t(\"./lib/operators\"),a=t(\"./lib/builtins\"),o=t(\"./lib/literals-300es\"),s=t(\"./lib/builtins-300es\"),l=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"]},{\"./lib/builtins\":226,\"./lib/builtins-300es\":225,\"./lib/literals\":228,\"./lib/literals-300es\":227,\"./lib/operators\":229}],225:[function(t,e,r){var n=t(\"./builtins\");n=n.slice().filter((function(t){return!/^(gl\\_|texture)/.test(t)})),e.exports=n.concat([\"gl_VertexID\",\"gl_InstanceID\",\"gl_Position\",\"gl_PointSize\",\"gl_FragCoord\",\"gl_FrontFacing\",\"gl_FragDepth\",\"gl_PointCoord\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexUniformVectors\",\"gl_MaxVertexOutputVectors\",\"gl_MaxFragmentInputVectors\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxTextureImageUnits\",\"gl_MaxFragmentUniformVectors\",\"gl_MaxDrawBuffers\",\"gl_MinProgramTexelOffset\",\"gl_MaxProgramTexelOffset\",\"gl_DepthRangeParameters\",\"gl_DepthRange\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"])},{\"./builtins\":226}],226:[function(t,e,r){e.exports=[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]},{}],227:[function(t,e,r){var n=t(\"./literals\");e.exports=n.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\"])},{\"./literals\":228}],228:[function(t,e,r){e.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"uint\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"]},{}],229:[function(t,e,r){e.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},{}],230:[function(t,e,r){var n=t(\"./index\");e.exports=function(t,e){var r=n(e),i=[];return i=(i=i.concat(r(t))).concat(r(null))}},{\"./index\":224}],231:[function(t,e,r){e.exports=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,f=0;f<=r;++f){var h=u[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var f=c[u];if(!(f.lastVisited>=r)){var h=a[u];a[u]=t;var p=this.orient();if(a[u]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,m=p.indexOf(r);if(!(m<0))for(var g=0;g<=n;++g)if(g!==m){var v=d[g];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=i[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);u.push(k);var A=_.indexOf(e);if(!(A<0)){_[A]=k,T[m]=v,w[g]=-1,T[g]=e,d[g]=k,k.flip();for(b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}h.push(new o(S,k,b))}}}}}}h.sort(s);for(g=0;g+1=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{\"robust-orientation\":284,\"simplicial-complex\":293}],234:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\");function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new v(null);return new v(g(t))};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=g(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function c(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function u(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,m);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?c(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?c(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return f(this.rightPoints,t,e)}return h(this.leftPoints,e)},a.queryInterval=function(t,e,r){var n;if(tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return ethis.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var y=v.prototype;y.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},y.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},y.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},y.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(y,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(y,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}})},{\"binary-search-bounds\":31}],235:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=new Array(t),r=0;r\n", - " * @license MIT\n", - " */\n", - "e.exports=function(t){return null!=t&&(n(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],238:[function(t,e,r){\"use strict\";e.exports=a,e.exports.isMobile=a,e.exports.default=a;var n=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,i=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function a(t){t||(t={});var e=t.ua;if(e||\"undefined\"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&\"string\"==typeof e.headers[\"user-agent\"]&&(e=e.headers[\"user-agent\"]),\"string\"!=typeof e)return!1;var r=t.tablet?i.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf(\"Macintosh\")&&-1!==e.indexOf(\"Safari\")&&(r=!0),r}},{}],239:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],240:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],241:[function(t,e,r){var n=t(\"./normalize\"),i=t(\"gl-mat4/create\"),a=t(\"gl-mat4/clone\"),o=t(\"gl-mat4/determinant\"),s=t(\"gl-mat4/invert\"),l=t(\"gl-mat4/transpose\"),c={length:t(\"gl-vec3/length\"),normalize:t(\"gl-vec3/normalize\"),dot:t(\"gl-vec3/dot\"),cross:t(\"gl-vec3/cross\")},u=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function m(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}e.exports=function(t,e,r,i,g,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),v||(v=[0,0,0,1]),!n(u,t))return!1;if(a(f,u),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var y,x,b,_,w,T,k,A=u[3],M=u[7],S=u[11],E=u[12],L=u[13],C=u[14],P=u[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=P,!s(f,f))return!1;l(f,f),y=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],y[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,y[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,y[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,y[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),m(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),m(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),m(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var I=0;I<3;I++)r[I]*=-1,p[I][0]*=-1,p[I][1]*=-1,p[I][2]*=-1;return v[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),v[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),v[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),v[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{\"./normalize\":242,\"gl-mat4/clone\":92,\"gl-mat4/create\":93,\"gl-mat4/determinant\":94,\"gl-mat4/invert\":98,\"gl-mat4/transpose\":109,\"gl-vec3/cross\":157,\"gl-vec3/dot\":162,\"gl-vec3/length\":172,\"gl-vec3/normalize\":179}],242:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],243:[function(t,e,r){var n=t(\"gl-vec3/lerp\"),i=t(\"mat4-recompose\"),a=t(\"mat4-decompose\"),o=t(\"gl-mat4/determinant\"),s=t(\"quat-slerp\"),l=f(),c=f(),u=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!h||!p)&&(n(u.translate,l.translate,c.translate,f),n(u.skew,l.skew,c.skew,f),n(u.scale,l.scale,c.scale,f),n(u.perspective,l.perspective,c.perspective,f),s(u.quaternion,l.quaternion,c.quaternion,f),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),!0)}},{\"gl-mat4/determinant\":94,\"gl-vec3/lerp\":173,\"mat4-decompose\":241,\"mat4-recompose\":244,\"quat-slerp\":271}],244:[function(t,e,r){var n={identity:t(\"gl-mat4/identity\"),translate:t(\"gl-mat4/translate\"),multiply:t(\"gl-mat4/multiply\"),create:t(\"gl-mat4/create\"),scale:t(\"gl-mat4/scale\"),fromRotationTranslation:t(\"gl-mat4/fromRotationTranslation\")},i=(n.create(),n.create());e.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{\"gl-mat4/create\":93,\"gl-mat4/fromRotationTranslation\":96,\"gl-mat4/identity\":97,\"gl-mat4/multiply\":100,\"gl-mat4/scale\":107,\"gl-mat4/translate\":108}],245:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),i=t(\"mat4-interpolate\"),a=t(\"gl-mat4/invert\"),o=t(\"gl-mat4/rotateX\"),s=t(\"gl-mat4/rotateY\"),l=t(\"gl-mat4/rotateZ\"),c=t(\"gl-mat4/lookAt\"),u=t(\"gl-mat4/translate\"),f=(t(\"gl-mat4/scale\"),t(\"gl-vec3/normalize\")),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)h[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&h[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=h[c];else i(o,h,d,(t-e[r])/u)}var m=this.computedUp;m[0]=o[1],m[1]=o[5],m[2]=o[9],f(m,m);var g=this.computedInverse;a(g,o);var v=this.computedEye,y=g[15];v[0]=g[12]/y,v[1]=g[13]/y,v[2]=g[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=v[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i0;--p)r[f++]=s[p];return r};var n=t(\"robust-orientation\")[3]},{\"robust-orientation\":284}],247:[function(t,e,r){\"use strict\";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);\"buttons\"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function m(t){c(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener(\"mousemove\",p),t.addEventListener(\"mousedown\",d),t.addEventListener(\"mouseup\",m),t.addEventListener(\"mouseleave\",u),t.addEventListener(\"mouseenter\",u),t.addEventListener(\"mouseout\",u),t.addEventListener(\"mouseover\",u),t.addEventListener(\"blur\",f),t.addEventListener(\"keyup\",h),t.addEventListener(\"keydown\",h),t.addEventListener(\"keypress\",h),t!==window&&(window.addEventListener(\"blur\",f),window.addEventListener(\"keyup\",h),window.addEventListener(\"keydown\",h),window.addEventListener(\"keypress\",h)))}g();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?g():function(){if(!s)return;s=!1,t.removeEventListener(\"mousemove\",p),t.removeEventListener(\"mousedown\",d),t.removeEventListener(\"mouseup\",m),t.removeEventListener(\"mouseleave\",u),t.removeEventListener(\"mouseenter\",u),t.removeEventListener(\"mouseout\",u),t.removeEventListener(\"mouseover\",u),t.removeEventListener(\"blur\",f),t.removeEventListener(\"keyup\",h),t.removeEventListener(\"keydown\",h),t.removeEventListener(\"keypress\",h),t!==window&&(window.removeEventListener(\"blur\",f),window.removeEventListener(\"keyup\",h),window.removeEventListener(\"keydown\",h),window.removeEventListener(\"keypress\",h))}()},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t(\"mouse-event\")},{\"mouse-event\":249}],248:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],249:[function(t,e,r){\"use strict\";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0\");\"function\"!=typeof t.vertex&&e(\"Must specify vertex creation function\");\"function\"!=typeof t.cell&&e(\"Must specify cell creation function\");\"function\"!=typeof t.phase&&e(\"Must specify phase function\");for(var s=t.getters||[],l=new Array(a),c=0;c=0?l[c]=!0:l[c]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(\",\");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,l)};var i={\"false,0,1\":function(t,e,r,n,i){return function(a,o,s,l){var c,u=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],m=0|a.stride[1],g=p,v=0|-d,y=0,x=0|-m,b=0,_=-d-m|0,w=0,T=0|d,k=m-d*u|0,A=0,M=0,S=0,E=2*u|0,L=n(E),C=n(E),P=0,I=0,O=-1,z=-1,D=0,R=0|-u,F=0|u,B=0,N=-u-1|0,j=u-1|0,U=0,V=0,H=0;for(A=0;A0){if(M=1,L[P++]=r(h[g],o,s,l),g+=T,u>0)for(A=1,c=h[g],I=L[P]=r(c,o,s,l),D=L[P+O],B=L[P+R],U=L[P+N],I===D&&I===B&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,D,B,U,o,s,l),V=C[P]=S++),P+=1,g+=T,A=2;A0)for(A=1,c=h[g],I=L[P]=r(c,o,s,l),D=L[P+O],B=L[P+R],U=L[P+N],I===D&&I===B&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,D,B,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,b,w,B,U,o,s,l)),P+=1,g+=T,A=2;A0){if(A=1,L[P++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,c=h[g],I=L[P]=r(c,o,s,l),B=L[P+R],D=L[P+O],U=L[P+N],I===B&&I===D&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,B,D,U,o,s,l),V=C[P]=S++),P+=1,g+=T,M=2;M0)for(M=1,c=h[g],I=L[P]=r(c,o,s,l),B=L[P+R],D=L[P+O],U=L[P+N],I===B&&I===D&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,B,D,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,w,y,U,B,o,s,l)),P+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}e.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,\"string\"==typeof r?r:\"clamp\")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=u[e])return a;for(var r=t.length,n=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return u[e]=a,a}(r)(t,e)}},{dup:65}],253:[function(t,e,r){\"use strict\";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|t[1];b>0;){b<64?(c=b,b=0):(c=64,b-=64),n=v+x*f+b*h,o=y+x*d+b*m;var _=0,w=0,T=0,k=p,A=f-u*p,M=h-l*f,S=g,E=d-u*g,L=m-l*d;for(T=0;T0;){m<64?(l=m,m=0):(l=64,m-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+m*u+g*c,o=d+m*h+g*f;var v=0,y=0,x=u,b=c-l*u,_=h,w=f-l*h;for(y=0;y0;){y<64?(c=y,y=0):(c=64,y-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|t[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+y*h+x*u+b*f,o=v+y*m+x*p+b*d;var _=0,w=0,T=0,k=h,A=u-c*h,M=f-s*u,S=m,E=p-c*m,L=d-s*p;for(T=0;Tr;){v=0,y=m-o;e:for(g=0;gb)break e;y+=f,v+=h}for(v=m,y=m-o,g=0;g>1,q=H-j,G=H+j,Y=U,W=q,X=H,Z=G,J=V,K=i+1,Q=a-1,$=!0,tt=0,et=0,rt=0,nt=f,it=e(nt),at=e(nt);A=l*Y,M=l*W,N=s;t:for(k=0;k0){g=Y,Y=W,W=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*J,N=s;t:for(k=0;k0){g=Z,Z=J,J=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*X,N=s;t:for(k=0;k0){g=W,W=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*Z,N=s;t:for(k=0;k0){g=Y,Y=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*Z,N=s;t:for(k=0;k0){g=X,X=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*J,N=s;t:for(k=0;k0){g=W,W=J,J=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*X,N=s;t:for(k=0;k0){g=W,W=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*J,N=s;t:for(k=0;k0){g=Z,Z=J,J=g;break t}if(rt<0)break t;N+=p}for(A=l*Y,M=l*W,S=l*X,E=l*Z,L=l*J,C=l*U,P=l*H,I=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*b,M=l*K,S=l*Q,N=s,k=0;k0)for(;;){_=s+Q*l,B=0;t:for(k=0;k0)){_=s+Q*l,B=0;t:for(k=0;kV){t:for(;;){for(_=s+K*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,c)}},{\"typedarray-pool\":308}],258:[function(t,e,r){\"use strict\";var n=t(\"./lib/compile_sort.js\"),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(\":\"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{\"./lib/compile_sort.js\":257}],259:[function(t,e,r){var n=t(\"is-buffer\"),i=\"undefined\"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return\"number\"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return\"number\"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return\"number\"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),\"number\"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,c=Math.ceil;return\"number\"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=c(-r/l)):r=c(r/l),a*=l),\"number\"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=c(-i/l)):i=c(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return\"number\"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),\"number\"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,\"order\",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,\"number\"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.stride[0],u=this.stride[1],f=this.stride[2];return\"number\"==typeof t&&t>=0&&(i+=c*(a=0|t),o-=a),\"number\"==typeof e&&e>=0&&(i+=u*(a=0|e),s-=a),\"number\"==typeof r&&r>=0&&(i+=f*(a=0|r),l-=a),new n(this.data,o,s,l,c,u,f,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],c=this.stride[2],u=this.offset,f=0,h=Math.ceil;return\"number\"==typeof t&&((f=0|t)<0?(u+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),\"number\"==typeof e&&((f=0|e)<0?(u+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),\"number\"==typeof r&&((f=0|r)<0?(u+=c*(o-1),o=h(-o/f)):o=h(o/f),c*=f),new n(this.data,i,a,o,s,l,c,u)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return\"number\"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),\"number\"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),\"number\"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,c){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|c}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,\"order\",{get:r}),i.set=function(e,r,n,i,a){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,\"number\"!=typeof r||r<0?this.shape[2]:0|r,\"number\"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],c=this.shape[2],u=this.shape[3],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3];return\"number\"==typeof t&&t>=0&&(a+=f*(o=0|t),s-=o),\"number\"==typeof e&&e>=0&&(a+=h*(o=0|e),l-=o),\"number\"==typeof r&&r>=0&&(a+=p*(o=0|r),c-=o),\"number\"==typeof i&&i>=0&&(a+=d*(o=0|i),u-=o),new n(this.data,s,l,c,u,f,h,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],c=this.stride[0],u=this.stride[1],f=this.stride[2],h=this.stride[3],p=this.offset,d=0,m=Math.ceil;return\"number\"==typeof t&&((d=0|t)<0?(p+=c*(a-1),a=m(-a/d)):a=m(a/d),c*=d),\"number\"==typeof e&&((d=0|e)<0?(p+=u*(o-1),o=m(-o/d)):o=m(o/d),u*=d),\"number\"==typeof r&&((d=0|r)<0?(p+=f*(s-1),s=m(-s/d)):s=m(s/d),f*=d),\"number\"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=m(-l/d)):l=m(l/d),h*=d),new n(this.data,a,o,s,l,c,u,f,h,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return\"number\"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),\"number\"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),\"number\"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),\"number\"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,c,u,f){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,c,u],this.offset=0|f}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,\"order\",{get:r}),i.set=function(e,r,n,i,a,o){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,\"number\"!=typeof r||r<0?this.shape[2]:0|r,\"number\"!=typeof i||i<0?this.shape[3]:0|i,\"number\"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],c=this.shape[1],u=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],m=this.stride[2],g=this.stride[3],v=this.stride[4];return\"number\"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),\"number\"==typeof e&&e>=0&&(o+=d*(s=0|e),c-=s),\"number\"==typeof r&&r>=0&&(o+=m*(s=0|r),u-=s),\"number\"==typeof i&&i>=0&&(o+=g*(s=0|i),f-=s),\"number\"==typeof a&&a>=0&&(o+=v*(s=0|a),h-=s),new n(this.data,l,c,u,f,h,p,d,m,g,v,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.shape[3],u=this.shape[4],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],m=this.stride[4],g=this.offset,v=0,y=Math.ceil;return\"number\"==typeof t&&((v=0|t)<0?(g+=f*(o-1),o=y(-o/v)):o=y(o/v),f*=v),\"number\"==typeof e&&((v=0|e)<0?(g+=h*(s-1),s=y(-s/v)):s=y(s/v),h*=v),\"number\"==typeof r&&((v=0|r)<0?(g+=p*(l-1),l=y(-l/v)):l=y(l/v),p*=v),\"number\"==typeof i&&((v=0|i)<0?(g+=d*(c-1),c=y(-c/v)):c=y(c/v),d*=v),\"number\"==typeof a&&((v=0|a)<0?(g+=m*(u-1),u=y(-u/v)):u=y(u/v),m*=v),new n(this.data,o,s,l,c,u,f,h,p,d,m,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return\"number\"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),\"number\"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),\"number\"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),\"number\"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),\"number\"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?\"T\":String(e),n=s[r];return-1===e?n(t):0===e?n(t,c[t][0]):n(t,c[t],o)}var c={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};e.exports=function(t,e,r,a){if(void 0===t)return(0,c.array[0])([]);\"number\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===a){a=0;for(s=0;st==t>0?a===-1>>>0?(r+=1,a=0):a+=1:0===a?(a=-1>>>0,r-=1):a-=1;return n.pack(a,r)}},{\"double-bits\":64}],261:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[c],_=1/Math.sqrt(g*y);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(v[w]*m[T]-v[T]*m[w])}}}for(o=0;oa)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0;for(c=0;c<3;++c)h[c]*=p;i[o]=h}return i}},{}],262:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f>0){var f=Math.sqrt(u+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,c);f=Math.sqrt(2*h-u+1);e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},{}],263:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),(\"eye\"in t||\"up\"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};var n=t(\"filtered-vector\"),i=t(\"gl-mat4/lookAt\"),a=t(\"gl-mat4/fromQuat\"),o=t(\"gl-mat4/invert\"),s=t(\"./lib/quatFromFrame\");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,f=0;f<3;++f)c+=r[l+4*f]*i[f];r[12+l]=-c}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=l(u-=a*p,f-=o*p,h-=s*p);u/=d,f/=d,h/=d;var m=i[2],g=i[6],v=i[10],y=m*a+g*o+v*s,x=m*u+g*f+v*h,b=l(m-=y*a+x*u,g-=y*o+x*f,v-=y*s+x*h);m/=b,g/=b,v/=b;var _=u*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],f=i[5],h=i[9],p=i[2],d=i[6],m=i[10],g=e*a+r*u,v=e*o+r*f,y=e*s+r*h,x=-(d*y-m*v),b=-(m*g-p*y),_=-(p*v-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=c(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,P=S*w+E*_+A*b-M*x,I=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=m;var O=Math.sin(n)/l(x,b,_);x*=O,b*=O,_*=O,I=I*(w=Math.cos(e))-(L=L*w+I*x+C*_-P*b)*x-(C=C*w+I*b+P*x-L*_)*b-(P=P*w+I*_+L*b-C*x)*_}var z=c(L,C,P,I);z>1e-6?(L/=z,C/=z,P/=z,I/=z):(L=C=P=0,I=1),this.rotation.set(t,L,C,P,I)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,c-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{\"./lib/quatFromFrame\":262,\"filtered-vector\":68,\"gl-mat4/fromQuat\":95,\"gl-mat4/invert\":98,\"gl-mat4/lookAt\":99}],264:[function(t,e,r){\n", - "/*!\n", - " * pad-left \n", - " *\n", - " * Copyright (c) 2014-2015, Jon Schlinkert.\n", - " * Licensed under the MIT license.\n", - " */\n", - "\"use strict\";var n=t(\"repeat-string\");e.exports=function(t,e,r){return n(r=void 0!==r?r+\"\":\" \",e)+t}},{\"repeat-string\":277}],265:[function(t,e,r){e.exports=function(t,e){e||(e=[0,\"\"]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",e}},{}],266:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p0&&(o=d,s=m,l=f)}return i||o&&c(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var m=f(o,p);h(0,m)?d.push.apply(d,m):(d.length>0&&l.push(d),d=m)}d.length>0&&l.push(d)}return l};var n=t(\"compare-angle\")},{\"compare-angle\":54}],267:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){var c=o.pop();i[c]=!1;var u=r[c];for(s=0;s0}))).length,g=new Array(m),v=new Array(m);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];if(0===V){var H=d[B];j=[H]}for(p=0;p=0))if(F[q]=1^V,R.push(q),0===V)D(H=d[q])||(H.reverse(),j.push(H))}0===V&&r.push(j)}return r};var n=t(\"edges-to-adjacency-list\"),i=t(\"planar-dual\"),a=t(\"point-in-big-polygon\"),o=t(\"two-product\"),s=t(\"robust-sum\"),l=t(\"uniq\"),c=t(\"./lib/trim-leaves\");function u(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(v.slabs,v.coordinates);return 0===a.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),y)};var n=t(\"robust-orientation\")[3],i=t(\"slab-decomposition\"),a=t(\"interval-tree-1d\"),o=t(\"binary-search-bounds\");function s(){return!0}function l(t){for(var e={},r=0;r=c?(k=1,y=c+2*h+d):y=h*(k=-h/c)+d):(k=0,p>=0?(A=0,y=d):-p>=f?(A=1,y=f+2*p+d):y=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(k=0,y=d):-h>=c?(k=1,y=c+2*h+d):y=h*(k=-h/c)+d;else{var M=1/T;y=(k*=M)*(c*k+u*(A*=M)+2*h)+A*(u*k+f*A+2*p)+d}else k<0?(b=f+p)>(x=u+h)?(_=b-x)>=(w=c-2*u+f)?(k=1,A=0,y=c+2*h+d):y=(k=_/w)*(c*k+u*(A=1-k)+2*h)+A*(u*k+f*A+2*p)+d:(k=0,b<=0?(A=1,y=f+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/f)+d):A<0?(b=c+h)>(x=u+p)?(_=b-x)>=(w=c-2*u+f)?(A=1,k=0,y=f+2*p+d):y=(k=1-(A=_/w))*(c*k+u*A+2*h)+A*(u*k+f*A+2*p)+d:(A=0,b<=0?(k=1,y=c+2*h+d):h>=0?(k=0,y=d):y=h*(k=-h/c)+d):(_=f+p-u-h)<=0?(k=0,A=1,y=f+2*p+d):_>=(w=c-2*u+f)?(k=1,A=0,y=c+2*h+d):y=(k=_/w)*(c*k+u*(A=1-k)+2*h)+A*(u*k+f*A+2*p)+d;var S=1-k-A;for(l=0;l0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{\"cell-orientation\":47,\"compare-cell\":56,\"compare-oriented-cell\":57}],277:[function(t,e,r){\n", - "/*!\n", - " * repeat-string \n", - " *\n", - " * Copyright (c) 2014-2015, Jon Schlinkert.\n", - " * Licensed under the MIT License.\n", - " */\n", - "\"use strict\";var n,i=\"\";e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"expected a string\");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||void 0===n)n=t,i=\"\";else if(i.length>=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],278:[function(t,e,r){(function(t){(function(){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this)}).call(this,void 0!==n?n:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],279:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];(l=o-((r=a+o)-a))&&(t[--n]=r,r=l)}var s=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],f=e[2]-n[2],p=r[2]-n[2],d=a*c,m=o*l,g=o*s,v=i*c,y=i*l,x=a*s,b=u*(d-m)+f*(g-v)+p*(y-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(m))*Math.abs(u)+(Math.abs(g)+Math.abs(v))*Math.abs(f)+(Math.abs(y)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=u(t.length)),e.apply(void 0,t)}function m(t,e,r,n,i,a,o){return function(e,r,s,l,c){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,c)}for(var u=new Array(arguments.length),f=0;f0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===a&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],f=Math.min(c,u);if(Math.max(c,u)=n?(i=f,(l+=1)=n?(i=f,(l+=1)>1,c=e[2*l+1];if(c===a)return l;a>1,c=e[2*l+1];if(c===a)return l;a>1,c=e[2*l+1];if(c===a)return l;a>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>u&1&&c.push(i[u]);e.push(c)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=v(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=y(t);if(r>=0)if(e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((M+=1)-1))}function T(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],m(e)),A[r]>=0&&w(A[r],m(r))}}var k=[],A=new Array(a);for(f=0;f>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||c[S]>r)break;T(S)}var E=[];for(f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&C.push([n,i])}})),i.unique(i.normalize(C)),{positions:E,edges:C}};var n=t(\"robust-orientation\"),i=t(\"simplicial-complex\")},{\"robust-orientation\":284,\"simplicial-complex\":295}],298:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=t(\"robust-orientation\");function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return lu?s-u:l-u}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},{\"./lib/order-segments\":298,\"binary-search-bounds\":31,\"functional-red-black-tree\":69,\"robust-orientation\":284}],300:[function(t,e,r){\"use strict\";var n=t(\"robust-dot-product\"),i=t(\"robust-sum\");function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&u<0){var f=o(s,u,l,i);r.push(f),n.push(f.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{\"robust-dot-product\":281,\"robust-sum\":289}],301:[function(t,e,r){!function(){\"use strict\";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function e(t){return i(o(t),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}function i(r,n){var i,a,o,s,l,c,u,f,h,p=1,d=r.length,m=\"\";for(a=0;a=0),s.type){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,s.width?parseInt(s.width):0);break;case\"e\":i=s.precision?parseFloat(i).toExponential(s.precision):parseFloat(i).toExponential();break;case\"f\":i=s.precision?parseFloat(i).toFixed(s.precision):parseFloat(i);break;case\"g\":i=s.precision?String(Number(i.toPrecision(s.precision))):parseFloat(i);break;case\"o\":i=(parseInt(i,10)>>>0).toString(8);break;case\"s\":i=String(i),i=s.precision?i.substring(0,s.precision):i;break;case\"t\":i=String(!!i),i=s.precision?i.substring(0,s.precision):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s.precision?i.substring(0,s.precision):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=s.precision?i.substring(0,s.precision):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s.type)?m+=i:(!t.number.test(s.type)||f&&!s.sign?h=\"\":(h=f?\"+\":\"-\",i=i.toString().replace(t.sign,\"\")),c=s.pad_char?\"0\"===s.pad_char?\"0\":s.pad_char.charAt(1):\" \",u=s.width-(h+i).length,l=s.width&&u>0?c.repeat(u):\"\",m+=s.align?h+i+l:\"0\"===c?h+l+i:l+h+i)}return m}var a=Object.create(null);function o(e){if(a[e])return a[e];for(var r,n=e,i=[],o=0;n;){if(null!==(r=t.text.exec(n)))i.push(r[0]);else if(null!==(r=t.modulo.exec(n)))i.push(\"%\");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(s.push(c[1]);\"\"!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");i.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}n=n.substring(r[0].length)}return a[e]=i}void 0!==r&&(r.sprintf=e,r.vsprintf=n),\"undefined\"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],302:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,c,u,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(c<<3)|0;if(0!==p&&15!==p)switch(p){case 0:u.push([t-.5,e-.5]);break;case 1:u.push([t-.25-.25*(n+r-2*h)/(r-n),e-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:u.push([t-.75-.25*(-n-r+2*h)/(n-r),e-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:u.push([t-.5,e-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:u.push([t-.25-.25*(a+i-2*h)/(i-a),e-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:u.push([t-.5-.5*(n+r+a+i-4*h)/(r-n+i-a),e-.5]);break;case 6:u.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:u.push([t-.75-.25*(a+i-2*h)/(i-a),e-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:u.push([t-.75-.25*(-a-i+2*h)/(a-i),e-.75-.25*(-a-n+2*h)/(a-n)]);break;case 9:u.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:u.push([t-.5-.5*(-n-r-a-i+4*h)/(n-r+a-i),e-.5]);break;case 11:u.push([t-.25-.25*(-a-i+2*h)/(a-i),e-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:u.push([t-.5,e-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:u.push([t-.75-.25*(n+r-2*h)/(r-n),e-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:u.push([t-.25-.25*(-n-r+2*h)/(n-r),e-.25-.25*(-i-r+2*h)/(i-r)]);break;case 15:u.push([t-.5,e-.5])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}};var o={}},{\"ndarray-extract-contour\":251,\"zero-crossings\":318}],303:[function(t,e,r){(function(r){(function(){\"use strict\";e.exports=function t(e,r,i){i=i||{};var o=a[e];o||(o=a[e]={\" \":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(f+=.02);var p=new Float32Array(u),d=0,m=-.5*f;for(h=0;hMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(d),v=Math.sin(d),y=Math.cos(m),x=Math.sin(m),b=this.computedCenter,_=g*y,w=v*y,T=x,k=-g*x,A=-v*x,M=y,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var L=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+A*h[a]+M*e[a],E[4*a+2]=L,E[4*a+3]=0}var C=E[1],P=E[5],I=E[9],O=E[2],z=E[6],D=E[10],R=P*D-I*z,F=I*O-C*D,B=C*z-P*O,N=c(R,F,B);R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B;for(a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=E[a+4*j]*S[j];E[12+a]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];a(i,i,n,d);for(c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=c(u-=a*p,f-=o*p,h-=s*p),m=(u/=d)*e+a*r,g=(f/=d)*e+o*r,v=(h/=d)*e+s*r;this.center.move(t,m,g,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;\"number\"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),m=Math.max(h,p,d);h===m?(s=s<0?-1:1,l=f=0):d===m?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=c(s,l,f);s/=g,l/=g,f/=g}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=c(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),A=f*(x/=T)-s*_,M=s*b-l*x,S=c(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,q,G,Y),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],L=e[5],C=e[9],P=E*x+L*b+C*_,I=E*k+L*A+C*M;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(I,P)}else{var O=e[2],z=e[6],D=e[10],R=O*s+z*l+D*f,F=O*x+z*b+D*_,B=O*k+z*A+D*M;v=Math.asin(u(R)),y=Math.atan2(B,F)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var H=V[15],q=V[12]/H,G=V[13]/H,Y=V[14]/H,W=Math.exp(this.computedRadius[0]);this.center.jump(t,q-N*W,G-j*W,Y-U*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=c(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,m=d[0],g=d[1],v=d[2],y=i*m+a*g+o*v,x=c(m-=y*i,g-=y*a,v-=y*o);if(!(x<.01&&(x=c(m=a*h-o*f,g=o*l-i*h,v=i*f-a*l))<1e-6)){m/=x,g/=x,v/=x,this.up.set(t,i,a,o),this.right.set(t,m,g,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*v-o*g,_=o*m-i*v,w=i*g-a*m,T=c(b,_,w),k=i*l+a*f+o*h,A=m*l+g*f+v*h,M=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(u(k)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],P=L[L.length-2];C%=2*Math.PI;var I=Math.abs(C+2*Math.PI-E),O=Math.abs(C-E),z=Math.abs(C-2*Math.PI-E);I0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function m(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function v(t){return new Int8Array(p(t),0,t)}function y(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}r.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeBigUint64=r.freeInt8=r.freeInt16=r.freeInt32=r.freeBigInt64=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){h(t.buffer)},r.freeArrayBuffer=h,r.freeBuffer=function(t){f[n.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return p(t);switch(e){case\"uint8\":return d(t);case\"uint16\":return m(t);case\"uint32\":return g(t);case\"int8\":return v(t);case\"int16\":return y(t);case\"int32\":return x(t);case\"float\":case\"float32\":return b(t);case\"double\":case\"float64\":return _(t);case\"uint8_clamped\":return w(t);case\"bigint64\":return k(t);case\"biguint64\":return T(t);case\"buffer\":return M(t);case\"data\":case\"dataview\":return A(t);default:return null}return null},r.mallocArrayBuffer=p,r.mallocUint8=d,r.mallocUint16=m,r.mallocUint32=g,r.mallocInt8=v,r.mallocInt16=y,r.mallocInt32=x,r.mallocFloat32=r.mallocFloat=b,r.mallocFloat64=r.mallocDouble=_,r.mallocUint8Clamped=w,r.mallocBigUint64=T,r.mallocBigInt64=k,r.mallocDataView=A,r.mallocBuffer=M,r.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,f[t].length=0}}).call(this)}).call(this,void 0!==n?n:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"bit-twiddle\":32,buffer:3,dup:65}],309:[function(t,e,r){\"use strict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts));return r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+\"px\",n.font].filter((function(t){return t})).join(\" \"),r.textAlign=\"start\",r.textBaseline=\"alphabetic\",r.direction=\"ltr\",h(function(t,e,r,n,a,o){r=r.replace(/\\n/g,\"\"),r=!0===o.breaklines?r.replace(/\\/g,\"\\n\"):r.replace(/\\/g,\" \");var s=\"\",l=[];for(p=0;p-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(S(),\"?px \"),g*=Math.pow(.75,l-s),n=n.replace(\"?px \",S())),m+=.25*x*(l-s)}if(!0===o.superscripts){var c=t.indexOf(\"+\"),u=r.indexOf(\"+\"),f=c>-1?parseInt(t[1+c]):0,h=u>-1?parseInt(r[1+u]):0;f!==h&&(n=n.replace(S(),\"?px \"),g*=Math.pow(.75,h-f),n=n.replace(\"?px \",S())),m-=.25*x*(h-f)}if(!0===o.bolds){var p=t.indexOf(\"b|\")>-1,d=r.indexOf(\"b|\")>-1;!p&&d&&(n=v?n.replace(\"italic \",\"italic bold \"):\"bold \"+n),p&&!d&&(n=n.replace(\"bold \",\"\"))}if(!0===o.italics){var v=t.indexOf(\"i|\")>-1,y=r.indexOf(\"i|\")>-1;!v&&y&&(n=\"italic \"+n),v&&!y&&(n=n.replace(\"italic \",\"\"))}e.font=n}for(h=0;h\",a=\"\",o=i.length,s=a.length,l=\"+\"===e[0]||\"-\"===e[0],c=0,u=-s;c>-1&&-1!==(c=r.indexOf(i,c))&&-1!==(u=r.indexOf(a,c+o))&&!(u<=c);){for(var f=c;f=u)n[f]=null,r=r.substr(0,f)+\" \"+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=c+o,d=r.substr(p,u-p).indexOf(i);c=-1!==d?d:u+s}return n}function u(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function f(t,e,r,n){var i=u(t,n),a=function(t,e,r){for(var n=e.textAlign||\"start\",i=e.textBaseline||\"alphabetic\",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i}))},has___:{value:y((function(e){var n=v(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:y((function(n,i){var a,o=v(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:y((function(n){var i,a,o=v(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0)&&(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,!0)}))}})};d.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),\"function\"==typeof r?function(){function n(){this instanceof d||x();var e,n=new r,i=void 0,a=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new d),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new d),i.set___(t,e)}else n.set(t,e);return this},Object.create(d.prototype,{get___:{value:y((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:y((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:y(e)},delete___:{value:y((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:y((function(t){if(t!==m)throw new Error(\"bogus call to permitHostObjects___\");a=!0}))}})}t&&\"undefined\"!=typeof Proxy&&(Proxy=void 0),n.prototype=d.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\"undefined\"!=typeof Proxy&&(Proxy=void 0),e.exports=d)}function m(t){t.permitHostObjects___&&t.permitHostObjects___(m)}function g(t){return!(\"weakmap:\"==t.substr(0,\"weakmap:\".length)&&\"___\"===t.substr(t.length-3))}function v(t){if(t!==Object(t))throw new TypeError(\"Not an object: \"+t);var e=t[l];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,l,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function y(t){return t.prototype=null,Object.freeze(t)}function x(){h||\"undefined\"==typeof console||(h=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}}()},{}],314:[function(t,e,r){var n=t(\"./hidden-store.js\");e.exports=function(){var t={};return function(e){if((\"object\"!=typeof e||null===e)&&\"function\"!=typeof e)throw new Error(\"Weakmap-shim: Key must be object\");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{\"./hidden-store.js\":315}],315:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,\"valueOf\",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],316:[function(t,e,r){var n=t(\"./create-store.js\");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty(\"value\")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return\"value\"in t(e)},delete:function(e){return delete t(e).value}}}},{\"./create-store.js\":314}],317:[function(t,e,r){\"use strict\";var n,i=function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],c=s;n|=0;var u=0,f=s;for(u=0;u=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}};e.exports=(n={funcName:{funcName:\"zeroCrossings\"}.funcName},function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(i.bind(void 0,n)))},{}],318:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t(\"./lib/zc-core\")},{\"./lib/zc-core\":317}]},{},[6])(6)}))}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[27])(27)}));\n", + "/*! For license information please see plotly.min.js.LICENSE.txt */\n", + "!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.Plotly=e():t.Plotly=e()}(self,(function(){return function(){var t={6713:function(t,e,r){\"use strict\";var n=r(34809),i={\"X,X div\":'direction:ltr;font-family:\"Open Sans\",verdana,arial,sans-serif;margin:0;padding:0;',\"X input,X button\":'font-family:\"Open Sans\",verdana,arial,sans-serif;',\"X input:focus,X button:focus\":\"outline:none;\",\"X a\":\"text-decoration:none;\",\"X a:hover\":\"text-decoration:none;\",\"X .crisp\":\"shape-rendering:crispEdges;\",\"X .user-select-none\":\"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\"X svg\":\"overflow:hidden;\",\"X svg a\":\"fill:#447adb;\",\"X svg a:hover\":\"fill:#3c6dc5;\",\"X .main-svg\":\"position:absolute;top:0;left:0;pointer-events:none;\",\"X .main-svg .draglayer\":\"pointer-events:all;\",\"X .cursor-default\":\"cursor:default;\",\"X .cursor-pointer\":\"cursor:pointer;\",\"X .cursor-crosshair\":\"cursor:crosshair;\",\"X .cursor-move\":\"cursor:move;\",\"X .cursor-col-resize\":\"cursor:col-resize;\",\"X .cursor-row-resize\":\"cursor:row-resize;\",\"X .cursor-ns-resize\":\"cursor:ns-resize;\",\"X .cursor-ew-resize\":\"cursor:ew-resize;\",\"X .cursor-sw-resize\":\"cursor:sw-resize;\",\"X .cursor-s-resize\":\"cursor:s-resize;\",\"X .cursor-se-resize\":\"cursor:se-resize;\",\"X .cursor-w-resize\":\"cursor:w-resize;\",\"X .cursor-e-resize\":\"cursor:e-resize;\",\"X .cursor-nw-resize\":\"cursor:nw-resize;\",\"X .cursor-n-resize\":\"cursor:n-resize;\",\"X .cursor-ne-resize\":\"cursor:ne-resize;\",\"X .cursor-grab\":\"cursor:-webkit-grab;cursor:grab;\",\"X .modebar\":\"position:absolute;top:2px;right:2px;\",\"X .ease-bg\":\"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;\",\"X .modebar--hover>:not(.watermark)\":\"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;\",\"X:hover .modebar--hover .modebar-group\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar.vertical\":\"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\"X .modebar.vertical svg\":\"top:-1px;\",\"X .modebar.vertical .modebar-group\":\"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\"X .modebar.vertical .modebar-group .modebar-btn\":\"display:block;text-align:center;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":'content:\"\";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\"X .vertical [data-title]:before,X .vertical [data-title]:after\":\"top:0%;right:200%;\",\"X .vertical [data-title]:before\":\"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",Y:'font-family:\"Open Sans\",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',\"Y p\":\"margin:0;\",\"Y .notifier-note\":\"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\"Y .notifier-close\":\"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\"Y .notifier-close:hover\":\"color:#444;text-decoration:none;cursor:pointer;\"};for(var a in i){var o=a.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");n.addStyleRule(o,i[a])}},14187:function(t,e,r){\"use strict\";t.exports=r(47908)},20273:function(t,e,r){\"use strict\";t.exports=r(58218)},6457:function(t,e,r){\"use strict\";t.exports=r(89362)},15849:function(t,e,r){\"use strict\";t.exports=r(53794)},38847:function(t,e,r){\"use strict\";t.exports=r(29698)},7659:function(t,e,r){\"use strict\";t.exports=r(51252)},60089:function(t,e,r){\"use strict\";t.exports=r(48050)},22084:function(t,e,r){\"use strict\";t.exports=r(58075)},35892:function(t,e,r){\"use strict\";t.exports=r(9419)},81204:function(t,e,r){\"use strict\";t.exports=r(28128)},55857:function(t,e,r){\"use strict\";t.exports=r(47050)},12862:function(t,e,r){\"use strict\";t.exports=r(91405)},97629:function(t,e,r){\"use strict\";t.exports=r(34406)},67549:function(t,e,r){\"use strict\";t.exports=r(17430)},2660:function(t,e,r){\"use strict\";t.exports=r(91995)},86071:function(t,e,r){\"use strict\";t.exports=r(81264)},66200:function(t,e,r){\"use strict\";t.exports=r(42849)},53446:function(t,e,r){\"use strict\";t.exports=r(52213)},86899:function(t,e,r){\"use strict\";t.exports=r(91132)},13430:function(t,e,r){\"use strict\";t.exports=r(50453)},21548:function(t,e,r){\"use strict\";t.exports=r(29251)},53939:function(t,e,r){\"use strict\";t.exports=r(72892)},1902:function(t,e,r){\"use strict\";t.exports=r(74461)},29096:function(t,e,r){\"use strict\";t.exports=r(66143)},23820:function(t,e,r){\"use strict\";t.exports=r(81955)},82017:function(t,e,r){\"use strict\";t.exports=r(36858)},113:function(t,e,r){\"use strict\";t.exports=r(92106)},20260:function(t,e,r){\"use strict\";var n=r(67549);n.register([r(20273),r(15849),r(21548),r(1902),r(29096),r(23820),r(12862),r(1639),r(10067),r(53446),r(31014),r(113),r(78170),r(8202),r(92382),r(82017),r(86899),r(54357),r(66903),r(90594),r(71680),r(7412),r(55857),r(784),r(74221),r(22084),r(44001),r(97281),r(12345),r(53939),r(29117),r(5410),r(5057),r(81204),r(86071),r(14226),r(35892),r(2660),r(96599),r(28573),r(76832),r(60089),r(51469),r(97629),r(27700),r(7659),r(11780),r(27195),r(6457),r(84639),r(14187),r(66200),r(13430),r(90590),r(38847)]),t.exports=n},28573:function(t,e,r){\"use strict\";t.exports=r(25638)},90594:function(t,e,r){\"use strict\";t.exports=r(75297)},7412:function(t,e,r){\"use strict\";t.exports=r(58859)},27700:function(t,e,r){\"use strict\";t.exports=r(12683)},5410:function(t,e,r){\"use strict\";t.exports=r(6305)},29117:function(t,e,r){\"use strict\";t.exports=r(83910)},78170:function(t,e,r){\"use strict\";t.exports=r(49913)},12345:function(t,e,r){\"use strict\";t.exports=r(15186)},96599:function(t,e,r){\"use strict\";t.exports=r(71760)},54357:function(t,e,r){\"use strict\";t.exports=r(17822)},51469:function(t,e,r){\"use strict\";t.exports=r(56534)},74221:function(t,e,r){\"use strict\";t.exports=r(18070)},44001:function(t,e,r){\"use strict\";t.exports=r(52378)},14226:function(t,e,r){\"use strict\";t.exports=r(30929)},5057:function(t,e,r){\"use strict\";t.exports=r(83866)},11780:function(t,e,r){\"use strict\";t.exports=r(66939)},27195:function(t,e,r){\"use strict\";t.exports=r(23748)},84639:function(t,e,r){\"use strict\";t.exports=r(73304)},1639:function(t,e,r){\"use strict\";t.exports=r(12864)},90590:function(t,e,r){\"use strict\";t.exports=r(99855)},97281:function(t,e,r){\"use strict\";t.exports=r(91450)},784:function(t,e,r){\"use strict\";t.exports=r(51943)},8202:function(t,e,r){\"use strict\";t.exports=r(80809)},66903:function(t,e,r){\"use strict\";t.exports=r(95984)},76832:function(t,e,r){\"use strict\";t.exports=r(51671)},92382:function(t,e,r){\"use strict\";t.exports=r(47181)},10067:function(t,e,r){\"use strict\";t.exports=r(37276)},71680:function(t,e,r){\"use strict\";t.exports=r(75703)},31014:function(t,e,r){\"use strict\";t.exports=r(38261)},11645:function(t){\"use strict\";t.exports=[{path:\"\",backoff:0},{path:\"M-2.4,-3V3L0.6,0Z\",backoff:.6},{path:\"M-3.7,-2.5V2.5L1.3,0Z\",backoff:1.3},{path:\"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z\",backoff:1.55},{path:\"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z\",backoff:1.6},{path:\"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z\",backoff:2},{path:\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\",backoff:0,noRotate:!0},{path:\"M2,2V-2H-2V2Z\",backoff:0,noRotate:!0}]},50222:function(t,e,r){\"use strict\";var n=r(11645),i=r(80337),a=r(54826),o=r(78032).templatedArray;r(35081),t.exports=o(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:i({editType:\"calc+arraydraw\",colorEditType:\"arraydraw\"}),width:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},height:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"center\",editType:\"arraydraw\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"arraydraw\"},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},borderpad:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},showarrow:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},arrowcolor:{valType:\"color\",editType:\"arraydraw\"},arrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},arrowside:{valType:\"flaglist\",flags:[\"end\",\"start\"],extras:[\"none\"],dflt:\"end\",editType:\"arraydraw\"},arrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},startarrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},arrowwidth:{valType:\"number\",min:.1,editType:\"calc+arraydraw\"},standoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},startstandoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},ax:{valType:\"any\",editType:\"calc+arraydraw\"},ay:{valType:\"any\",editType:\"calc+arraydraw\"},axref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.x.toString()],editType:\"calc\"},x:{valType:\"any\",editType:\"calc+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calc+arraydraw\"},xshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.y.toString()],editType:\"calc\"},y:{valType:\"any\",editType:\"calc+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"calc+arraydraw\"},yshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},clicktoshow:{valType:\"enumerated\",values:[!1,\"onoff\",\"onout\"],dflt:!1,editType:\"arraydraw\"},xclick:{valType:\"any\",editType:\"arraydraw\"},yclick:{valType:\"any\",editType:\"arraydraw\"},hovertext:{valType:\"string\",editType:\"arraydraw\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",editType:\"arraydraw\"},font:i({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\",_deprecated:{ref:{valType:\"string\",editType:\"calc\"}}})},60317:function(t,e,r){\"use strict\";var n=r(34809),i=r(29714),a=r(3377).draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},\"range\"===a&&s(e,r),\"range\"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t[\"a\"+a],l=t[a+\"ref\"],c=t[\"a\"+a+\"ref\"],u=t[\"_\"+a+\"padplus\"],h=t[\"_\"+a+\"padminus\"],f={x:1,y:-1}[a]*t[a+\"shift\"],p=3*t.arrowsize*t.arrowwidth||0,d=p+f,m=p-f,g=3*t.startarrowsize*t.arrowwidth||0,y=g+f,v=g-f;if(c===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:m}),_=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,y),ppadminus:Math.max(h,v)});r={min:[x.min[0],_.min[0]],max:[x.max[0],_.max[0]]}}else y=s?y+s:y,v=s?v-s:v,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,y),ppadminus:Math.max(h,m,v)});t._extremes[n]=r}t.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},6035:function(t,e,r){\"use strict\";var n=r(34809),i=r(33626),a=r(78032).arrayEditor;function o(t,e){var r,n,i,a,o,l,c,u=t._fullLayout.annotations,h=[],f=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),h={},f=t._fullLayout.annotations;if(c.length||u.length){for(r=0;r2/3?\"right\":\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var W=!1,Y=[\"x\",\"y\"],X=0;X1)&&(nt===rt?((pt=it.r2fraction(e[\"a\"+et]))<0||pt>1)&&(W=!0):W=!0),$=it._offset+it.r2p(e[et]),Q=.5}else{var dt=\"domain\"===ft;\"x\"===et?(K=e[et],$=dt?it._offset+it._length*K:$=T.l+T.w*K):(K=1-e[et],$=dt?it._offset+it._length*K:$=T.t+T.h*K),Q=e.showarrow?.5:K}if(e.showarrow){ht.head=$;var mt=e[\"a\"+et];if(tt=ot*H(.5,e.xanchor)-st*H(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);\"domain\"===gt?(\"y\"===et&&(mt=1-mt),ht.tail=it._offset+it._length*mt):\"paper\"===gt?\"y\"===et?(mt=1-mt,ht.tail=T.t+T.h*mt):ht.tail=T.l+T.w*mt:ht.tail=it._offset+it.r2p(mt),J=tt}else ht.tail=$+mt,J=tt+mt;ht.text=ht.tail+tt;var yt=w[\"x\"===et?\"width\":\"height\"];if(\"paper\"===rt&&(ht.head=o.constrain(ht.head,1,yt-1)),\"pixel\"===nt){var vt=-Math.max(ht.tail-3,ht.text),xt=Math.min(ht.tail+3,ht.text)-yt;vt>0?(ht.tail+=vt,ht.text+=vt):xt>0&&(ht.tail-=xt,ht.text-=xt)}ht.tail+=ut,ht.head+=ut}else J=tt=lt*H(Q,ct),ht.text=$+tt;ht.text+=ut,tt+=ut,J+=ut,e[\"_\"+et+\"padplus\"]=lt/2+J,e[\"_\"+et+\"padminus\"]=lt/2-J,e[\"_\"+et+\"size\"]=lt,e[\"_\"+et+\"shift\"]=tt}if(W)R.remove();else{var _t=0,bt=0;if(\"left\"!==e.align&&(_t=(A-_)*(\"center\"===e.align?.5:1)),\"top\"!==e.valign&&(bt=(D-b)*(\"middle\"===e.valign?.5:1)),h)n.select(\"svg\").attr({x:N+_t-1,y:N+bt}).call(u.setClipUrl,U?C:null,t);else{var wt=N+bt-m.top,Tt=N+_t-m.left;G.call(f.positionText,Tt,wt).call(u.setClipUrl,U?C:null,t)}V.select(\"rect\").call(u.setRect,N,N,A,D),j.call(u.setRect,F/2,F/2,B-F,q-F),R.call(u.setTranslate,Math.round(L.x.text-B/2),Math.round(L.y.text-q/2)),z.attr({transform:\"rotate(\"+I+\",\"+L.x.text+\",\"+L.y.text+\")\"});var kt,At=function(r,n){P.selectAll(\".annotation-arrow-g\").remove();var l=L.x.head,h=L.y.head,f=L.x.tail+r,p=L.y.tail+n,m=L.x.text+r,_=L.y.text+n,b=o.rotationXYMatrix(I,m,_),w=o.apply2DTransform(b),A=o.apply2DTransform2(b),C=+j.attr(\"width\"),O=+j.attr(\"height\"),D=m-.5*C,F=D+C,B=_-.5*O,N=B+O,U=[[D,B,D,N],[D,N,F,N],[F,N,F,B],[F,B,D,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,h,l+1e6,h+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(f,p,l,h,t[0],t[1],t[2],t[3]);e&&(f=e.x,p=e.y)}));var V=e.arrowwidth,q=e.arrowcolor,H=e.arrowside,G=P.append(\"g\").style({opacity:c.opacity(q)}).classed(\"annotation-arrow-g\",!0),Z=G.append(\"path\").attr(\"d\",\"M\"+f+\",\"+p+\"L\"+l+\",\"+h).style(\"stroke-width\",V+\"px\").call(c.stroke,c.rgb(q));if(g(Z,H,e),k.annotationPosition&&Z.node().parentNode&&!a){var W=l,Y=h;if(e.standoff){var X=Math.sqrt(Math.pow(l-f,2)+Math.pow(h-p,2));W+=e.standoff*(f-l)/X,Y+=e.standoff*(p-h)/X}var $,J,K=G.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(f-W)+\",\"+(p-Y),transform:s(W,Y)}).style(\"stroke-width\",V+6+\"px\").call(c.stroke,\"rgba(0,0,0,0)\").call(c.fill,\"rgba(0,0,0,0)\");d.init({element:K.node(),gd:t,prepFn:function(){var t=u.getTranslate(R);$=t.x,J=t.y,y&&y.autorange&&M(y._name+\".autorange\",!0),x&&x.autorange&&M(x._name+\".autorange\",!0)},moveFn:function(t,r){var n=w($,J),i=n[0]+t,a=n[1]+r;R.call(u.setTranslate,i,a),S(\"x\",v(y,t,\"x\",T,e)),S(\"y\",v(x,r,\"y\",T,e)),e.axref===e.xref&&S(\"ax\",v(y,t,\"ax\",T,e)),e.ayref===e.yref&&S(\"ay\",v(x,r,\"ay\",T,e)),G.attr(\"transform\",s(t,r)),z.attr({transform:\"rotate(\"+I+\",\"+i+\",\"+a+\")\"})},doneFn:function(){i.call(\"_guiRelayout\",t,E());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}};e.showarrow&&At(0,0),O&&d.init({element:R.node(),gd:t,prepFn:function(){kt=z.attr(\"transform\")},moveFn:function(t,r){var n=\"pointer\";if(e.showarrow)e.axref===e.xref?S(\"ax\",v(y,t,\"ax\",T,e)):S(\"ax\",e.ax+t),e.ayref===e.yref?S(\"ay\",v(x,r,\"ay\",T.w,e)):S(\"ay\",e.ay+r),At(t,r);else{if(a)return;var i,o;if(y)i=v(y,t,\"x\",T,e);else{var l=e._xsize/T.w,c=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(c+t/T.w,l,0,1,e.xanchor)}if(x)o=v(x,r,\"y\",T,e);else{var u=e._ysize/T.h,h=e.y-(e._yshift+e.yshift)/T.h-u/2;o=d.align(h-r/T.h,u,0,1,e.yanchor)}S(\"x\",i),S(\"y\",o),y&&x||(n=d.getCursor(y?.5:i,x?.5:o,e.xanchor,e.yanchor))}z.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit(\"plotly_clickannotation\",Z(n))},doneFn:function(){p(R),i.call(\"_guiRelayout\",t,E());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}}t.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(\".annotation\").remove();for(var r=0;r=0,x=e.indexOf(\"end\")>=0,_=d.backoff*g+r.standoff,b=m.backoff*y+r.startstandoff;if(\"line\"===p.nodeName){o={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},u={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var w=o.x-u.x,T=o.y-u.y;if(f=(h=Math.atan2(T,w))+Math.PI,_&&b&&_+b>Math.sqrt(w*w+T*T))return void O();if(_){if(_*_>w*w+T*T)return void O();var k=_*Math.cos(h),A=_*Math.sin(h);u.x+=k,u.y+=A,t.attr({x2:u.x,y2:u.y})}if(b){if(b*b>w*w+T*T)return void O();var M=b*Math.cos(h),S=b*Math.sin(h);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if(\"path\"===p.nodeName){var E=p.getTotalLength(),C=\"\";if(E<_+b)return void O();var L=p.getPointAtLength(0),I=p.getPointAtLength(.1);h=Math.atan2(L.y-I.y,L.x-I.x),o=p.getPointAtLength(Math.min(b,E)),C=\"0px,\"+b+\"px,\";var P=p.getPointAtLength(E),z=p.getPointAtLength(E-.1);f=Math.atan2(P.y-z.y,P.x-z.x),u=p.getPointAtLength(Math.max(0,E-_)),C+=E-(C?b+_:_)+\"px,\"+E+\"px\",t.style(\"stroke-dasharray\",C)}function O(){t.style(\"stroke-dasharray\",\"0px,100px\")}function D(e,a,o,u){e.path&&(e.noRotate&&(o=0),n.select(p.parentNode).append(\"path\").attr({class:t.attr(\"class\"),d:e.path,transform:c(a.x,a.y)+l(180*o/Math.PI)+s(u)}).style({fill:i.rgb(r.arrowcolor),\"stroke-width\":0}))}v&&D(m,o,h,y),x&&D(d,u,f,g)}},3599:function(t,e,r){\"use strict\";var n=r(3377),i=r(6035);t.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:r(50222),supplyLayoutDefaults:r(63737),includeBasePlot:r(20706)(\"annotations\"),calcAutorange:r(60317),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:r(59741)}},38239:function(t,e,r){\"use strict\";var n=r(50222),i=r(13582).overrideAll,a=r(78032).templatedArray;t.exports=i(a(\"annotation\",{visible:n.visible,x:{valType:\"any\"},y:{valType:\"any\"},z:{valType:\"any\"},ax:{valType:\"number\"},ay:{valType:\"number\"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),\"calc\",\"from-root\")},47979:function(t,e,r){\"use strict\";var n=r(34809),i=r(29714);function a(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:\"linear\",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),i.setConvert(t._xa),t._xa._offset=a.l+r.x[0]*a.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*a.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),i.setConvert(t._ya),t._ya._offset=a.t+(1-r.y[1])*a.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*a.h*(r.y[1]-r.y[0])}}t.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r1){c=!0;break}}c?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+s+'\"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},83348:function(t,e,r){\"use strict\";var n=r(33626),i=r(34809);t.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:r(38239)}}},layoutAttributes:r(38239),handleDefaults:r(34232),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+\", \"+Math.round(255*n[1])+\", \"+Math.round(255*n[2]);return a?\"rgba(\"+s+\", \"+n[3]+\")\":\"rgb(\"+s+\")\"}o.tinyRGB=function(t){var e=t.toRgb();return\"rgb(\"+Math.round(e.r)+\", \"+Math.round(e.g)+\", \"+Math.round(e.b)+\")\"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+e+\")\"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||c).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.interpolate=function(t,e,r){var i=n(t).toRgb(),a=n(e).toRgb(),o={r:r*i.r+(1-r)*a.r,g:r*i.g+(1-r)*a.g,b:r*i.b+(1-r)*a.b};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,c))),(i.isDark()?e?i.lighten(e):c:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),\"fill-opacity\":r.getAlpha()})},o.clean=function(t){if(t&&\"object\"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>u&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var pt=Math.pow(10,Math.floor(Math.log(ft)/Math.LN10));ut*=pt*c.roundUp(ft/pt,[2,5,10]),(Math.abs(Z.start)/Z.size+1e-6)%1<2e-6&&(lt.tick0=0)}lt.dtick=ut}lt.domain=o?[ot+P/B.h,ot+Q-P/B.h]:[ot+I/B.w,ot+Q-I/B.w],lt.setScale(),t.attr(\"transform\",u(Math.round(B.l),Math.round(B.t)));var dt,mt=t.select(\".\"+A.cbtitleunshift).attr(\"transform\",u(-Math.round(B.l),-Math.round(B.t))),gt=lt.ticklabelposition,yt=lt.title.font.size,vt=t.select(\".\"+A.cbaxis),xt=0,_t=0;function bt(n,i){var a={propContainer:lt,propName:e._propPrefix+\"title\",traceIndex:e._traceIndex,_meta:e._meta,placeholder:F._dfltTitle.colorbar,containerGroup:t.select(\".\"+A.cbtitle)},o=\"h\"===n.charAt(0)?n.substr(1):\"h\"+n;t.selectAll(\".\"+o+\",.\"+o+\"-math-group\").remove(),m.draw(r,n,h(a,i||{}))}return c.syncOrAsync([a.previousPromises,function(){var t,e;(o&&ct||!o&&!ct)&&(\"top\"===V&&(t=I+B.l+tt*z,e=P+B.t+et*(1-ot-Q)+3+.75*yt),\"bottom\"===V&&(t=I+B.l+tt*z,e=P+B.t+et*(1-ot)-3-.25*yt),\"right\"===V&&(e=P+B.t+et*O+3+.75*yt,t=I+B.l+tt*ot),bt(lt._id+\"title\",{attributes:{x:t,y:e,\"text-anchor\":o?\"start\":\"middle\"}}))},function(){if(!o&&!ct||o&&ct){var a,l=t.select(\".\"+A.cbtitle),h=l.select(\"text\"),f=[-M/2,M/2],d=l.select(\".h\"+lt._id+\"title-math-group\").node(),m=15.6;if(h.node()&&(m=parseInt(h.node().style.fontSize,10)*w),d?(a=p.bBox(d),_t=a.width,(xt=a.height)>m&&(f[1]-=(xt-m)/2)):h.node()&&!h.classed(A.jsPlaceholder)&&(a=p.bBox(h.node()),_t=a.width,xt=a.height),o){if(xt){if(xt+=5,\"top\"===V)lt.domain[1]-=xt/B.h,f[1]*=-1;else{lt.domain[0]+=xt/B.h;var y=g.lineCount(h);f[1]+=(1-y)*m}l.attr(\"transform\",u(f[0],f[1])),lt.setScale()}}else _t&&(\"right\"===V&&(lt.domain[0]+=(_t+yt/2)/B.w),l.attr(\"transform\",u(f[0],f[1])),lt.setScale())}t.selectAll(\".\"+A.cbfills+\",.\"+A.cblines).attr(\"transform\",o?u(0,Math.round(B.h*(1-lt.domain[1]))):u(Math.round(B.w*lt.domain[0]),0)),vt.attr(\"transform\",o?u(0,Math.round(-B.t)):u(Math.round(-B.l),0));var v=t.select(\".\"+A.cbfills).selectAll(\"rect.\"+A.cbfill).attr(\"style\",\"\").data(Y);v.enter().append(\"rect\").classed(A.cbfill,!0).attr(\"style\",\"\"),v.exit().remove();var x=q.map(lt.c2p).map(Math.round).sort((function(t,e){return t-e}));v.each((function(t,a){var s=[0===a?q[0]:(Y[a]+Y[a-1])/2,a===Y.length-1?q[1]:(Y[a]+Y[a+1])/2].map(lt.c2p).map(Math.round);o&&(s[1]=c.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?\"x\":\"y\",rt).attr(o?\"y\":\"x\",n.min(s)).attr(o?\"width\":\"height\",Math.max($,2)).attr(o?\"height\":\"width\",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?\"vertical\":\"horizontalreversed\",e._fillgradient,\"fill\");else{var u=G(t).replace(\"e-\",\"\");l.attr(\"fill\",i(u).toHexString())}}));var _=t.select(\".\"+A.cblines).selectAll(\"path.\"+A.cbline).data(j.color&&j.width?X:[]);_.enter().append(\"path\").classed(A.cbline,!0),_.exit().remove(),_.each((function(t){var e=rt,r=Math.round(lt.c2p(t))+j.width/2%1;n.select(this).attr(\"d\",\"M\"+(o?e+\",\"+r:r+\",\"+e)+(o?\"h\":\"v\")+$).call(p.lineGroupStyle,j.width,H(t),j.dash)})),vt.selectAll(\"g.\"+lt._id+\"tick,path\").remove();var b=rt+$+(M||0)/2-(\"outside\"===e.ticks?1:0),T=s.calcTicks(lt),k=s.getTickSigns(lt)[2];return s.drawTicks(r,lt,{vals:\"inside\"===lt.ticks?s.clipEnds(lt,T):T,layer:vt,path:s.makeTickPath(lt,b,k),transFn:s.makeTransTickFn(lt)}),s.drawLabels(r,lt,{vals:T,layer:vt,transFn:s.makeTransTickLabelFn(lt),labelFns:s.makeLabelFns(lt,b)})},function(){if(o&&!ct||!o&&ct){var t,i,a=lt.position||0,s=lt._offset+lt._length/2;if(\"right\"===V)i=s,t=B.l+tt*a+10+yt*(lt.showticklabels?1:.5);else if(t=s,\"bottom\"===V&&(i=B.t+et*a+10+(-1===gt.indexOf(\"inside\")?lt.tickfont.size:0)+(\"intside\"!==lt.ticks&&e.ticklen||0)),\"top\"===V){var l=U.text.split(\"
\").length;i=B.t+et*a+10-$-w*yt*l}bt((o?\"h\":\"v\")+lt._id+\"title\",{avoid:{selection:n.select(r).selectAll(\"g.\"+lt._id+\"tick\"),side:V,offsetTop:o?0:B.t,offsetLeft:o?B.l:0,maxShift:o?F.width:F.height},attributes:{x:t,y:i,\"text-anchor\":\"middle\"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=$+M/2;-1===gt.indexOf(\"inside\")&&(n=p.bBox(vt.node()),s+=o?n.width:n.height),dt=mt.select(\"text\");var c=0,h=o&&\"top\"===V,m=!o&&\"right\"===V,g=0;if(dt.node()&&!dt.classed(A.jsPlaceholder)){var v,x=mt.select(\".h\"+lt._id+\"title-math-group\").node();x&&(o&&ct||!o&&!ct)?(c=(n=p.bBox(x)).width,v=n.height):(c=(n=p.bBox(mt.node())).right-B.l-(o?rt:st),v=n.bottom-B.t-(o?st:rt),o||\"top\"!==V||(s+=n.height,g=n.height)),m&&(dt.attr(\"transform\",u(c/2+yt/2,0)),c*=2),s=Math.max(s,o?c:v)}var _=2*(o?I:P)+s+S+M/2,w=0;!o&&U.text&&\"bottom\"===L&&O<=0&&(_+=w=_/2,g+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=g;var N=S+M,j=(o?rt:st)-N/2-(o?I:0),q=(o?st:rt)-(o?K:P+g-w);t.select(\".\"+A.cbbg).attr(\"x\",j).attr(\"y\",q).attr(o?\"width\":\"height\",Math.max(_-w,2)).attr(o?\"height\":\"width\",Math.max(K+N,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style(\"stroke-width\",S);var H=m?Math.max(c-10,0):0;t.selectAll(\".\"+A.cboutline).attr(\"x\",(o?rt:st+I)+H).attr(\"y\",(o?st+P-K:rt)+(h?xt:0)).attr(o?\"width\":\"height\",Math.max($,2)).attr(o?\"height\":\"width\",Math.max(K-(o?2*P+xt:2*I+H),2)).call(d.stroke,e.outlinecolor).style({fill:\"none\",\"stroke-width\":M});var G=o?nt*_:0,Z=o?0:(1-it)*_-g;if(G=R?B.l-G:-G,Z=D?B.t-Z:-Z,t.attr(\"transform\",u(G,Z)),!o&&(S||i(E).getAlpha()&&!i.equals(F.paper_bgcolor,E))){var W=vt.selectAll(\"text\"),Y=W[0].length,X=t.select(\".\"+A.cbbg).node(),J=p.bBox(X),Q=p.getTranslate(t);W.each((function(t,e){var r=Y-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=J.right+Q.x+st-S-2+z-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=J.left+Q.x+st+S+2-s)<0&&(n=0)}n&&(Y<3?this.setAttribute(\"transform\",\"translate(\"+n+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}}))}var tt={},et=T[C],at=k[C],ot=T[L],ut=k[L],ht=_-$;o?(\"pixels\"===f?(tt.y=O,tt.t=K*ot,tt.b=K*ut):(tt.t=tt.b=0,tt.yt=O+l*ot,tt.yb=O-l*ut),\"pixels\"===b?(tt.x=z,tt.l=_*et,tt.r=_*at):(tt.l=ht*et,tt.r=ht*at,tt.xl=z-y*et,tt.xr=z+y*at)):(\"pixels\"===f?(tt.x=z,tt.l=K*et,tt.r=K*at):(tt.l=tt.r=0,tt.xl=z+l*et,tt.xr=z-l*at),\"pixels\"===b?(tt.y=1-O,tt.t=_*ot,tt.b=_*ut):(tt.t=ht*ot,tt.b=ht*ut,tt.yt=O-y*ot,tt.yb=O+y*ut));var ft=e.y<.5?\"b\":\"t\",pt=e.x<.5?\"l\":\"r\";r._fullLayout._reservedMargin[e._id]={};var _t={r:F.width-j-G,l:j+tt.r,b:F.height-q-Z,t:q+tt.b};R&&D?a.autoMargin(r,e._id,tt):R?r._fullLayout._reservedMargin[e._id][ft]=_t[ft]:D||o?r._fullLayout._reservedMargin[e._id][pt]=_t[pt]:r._fullLayout._reservedMargin[e._id][ft]=_t[ft]}],r)}(r,e,t);y&&y.then&&(t._promises||[]).push(y),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s=\"v\"===e.orientation,c=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr(\"transform\"),f(t)},moveFn:function(r,o){t.attr(\"transform\",n+u(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/c.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/c.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var h=l.getCursor(i,a,e.xanchor,e.yanchor);f(t,h)},doneFn:function(){if(f(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+\"x\"]=i,n[e._propPrefix+\"y\"]=a,void 0!==e._traceIndex?o.call(\"_guiRestyle\",r,n,e._traceIndex):o.call(\"_guiRelayout\",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},91362:function(t,e,r){\"use strict\";var n=r(34809);t.exports=function(t){return n.isPlainObject(t.colorbar)}},96919:function(t,e,r){\"use strict\";t.exports={moduleType:\"component\",name:\"colorbar\",attributes:r(25158),supplyDefaults:r(42097),draw:r(5881).draw,hasColorbar:r(91362)}},87163:function(t,e,r){\"use strict\";var n=r(25158),i=r(90694).counter,a=r(62994),o=r(19017).scales;function s(t){return\"`\"+t+\"`\"}a(o),t.exports=function(t,e){t=t||\"\";var r,a=(e=e||{}).cLetter||\"c\",l=(\"onlyIfNumerical\"in e?e.onlyIfNumerical:Boolean(t),\"noScale\"in e?e.noScale:\"marker.line\"===t),c=\"showScaleDflt\"in e?e.showScaleDflt:\"z\"===a,u=\"string\"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,h=e.editTypeOverride||\"\",f=t?t+\".\":\"\";\"colorAttr\"in e?(r=e.colorAttr,e.colorAttr):s(f+(r={z:\"z\",c:\"color\"}[a]));var p=a+\"auto\",d=a+\"min\",m=a+\"max\",g=a+\"mid\",y=(s(f+p),s(f+d),s(f+m),{});y[d]=y[m]=void 0;var v={};v[p]=!1;var x={};return\"color\"===r&&(x.color={valType:\"color\",arrayOk:!0,editType:h||\"style\"},e.anim&&(x.color.anim=!0)),x[p]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:y},x[d]={valType:\"number\",dflt:null,editType:h||\"plot\",impliedEdits:v},x[m]={valType:\"number\",dflt:null,editType:h||\"plot\",impliedEdits:v},x[g]={valType:\"number\",dflt:null,editType:\"calc\",impliedEdits:y},x.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:u,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:\"boolean\",dflt:!1!==e.autoColorDflt,editType:\"calc\",impliedEdits:{colorscale:void 0}},x.reversescale={valType:\"boolean\",dflt:!1,editType:\"plot\"},l||(x.showscale={valType:\"boolean\",dflt:c,editType:\"calc\"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:\"subplotid\",regex:i(\"coloraxis\"),dflt:null,editType:\"calc\"}),x}},28379:function(t,e,r){\"use strict\";var n=r(10721),i=r(34809),a=r(65477).extractOpts;t.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?i.nestedProperty(e,c).get():e,h=a(u),f=!1!==h.auto,p=h.min,d=h.max,m=h.mid,g=function(){return i.aggNums(Math.min,null,l)},y=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():f&&(p=u._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=y():f&&(d=u._colorAx&&n(d)?Math.max(d,y()):y()),f&&void 0!==m&&(d-m>m-p?p=m-(d-m):d-m=0?s.colorscale.sequential:s.colorscale.sequentialminus,h._sync(\"colorscale\",o))}},67623:function(t,e,r){\"use strict\";var n=r(34809),i=r(65477).hasColorscale,a=r(65477).extractOpts;t.exports=function(t,e){function r(t,e){var r=t[\"_\"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,\"colorscale\")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,c=new Array(l),u=0;u4/3-s?o:s}},4001:function(t,e,r){\"use strict\";var n=r(34809),i=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];t.exports=function(t,e,r,a){return t=\"left\"===r?0:\"center\"===r?1:\"right\"===r?2:n.constrain(Math.floor(3*t),0,2),e=\"bottom\"===a?0:\"middle\"===a?1:\"top\"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},70414:function(t,e){\"use strict\";e.selectMode=function(t){return\"lasso\"===t||\"select\"===t},e.drawMode=function(t){return\"drawclosedpath\"===t||\"drawopenpath\"===t||\"drawline\"===t||\"drawrect\"===t||\"drawcircle\"===t},e.openMode=function(t){return\"drawline\"===t||\"drawopenpath\"===t},e.rectMode=function(t){return\"select\"===t||\"drawline\"===t||\"drawrect\"===t||\"drawcircle\"===t},e.freeMode=function(t){return\"lasso\"===t||\"drawclosedpath\"===t||\"drawopenpath\"===t},e.selectingOrDrawing=function(t){return e.freeMode(t)||e.rectMode(t)}},14751:function(t,e,r){\"use strict\";var n=r(44039),i=r(39784),a=r(74043),o=r(34809).removeElement,s=r(54826),l=t.exports={};l.align=r(53770),l.getCursor=r(4001);var c=r(60148);function u(){var t=document.createElement(\"div\");t.className=\"dragcover\";var e=t.style;return e.position=\"fixed\",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background=\"none\",document.body.appendChild(t),t}function h(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=c.wrapped,l.unhoverRaw=c.raw,l.init=function(t){var e,r,n,c,f,p,d,m,g=t.gd,y=1,v=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents=\"all\",x.onmousedown=b,a?(x._ontouchstart&&x.removeEventListener(\"touchstart\",x._ontouchstart),x._ontouchstart=b,x.addEventListener(\"touchstart\",b,{passive:!1})):x.ontouchstart=b;var _=t.clampFn||function(t,e,r){return Math.abs(t)v&&(y=Math.max(y-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(y,p),!m){var r;try{r=new MouseEvent(\"click\",e)}catch(t){var n=h(e);(r=document.createEvent(\"MouseEvents\")).initMouseEvent(\"click\",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=u},60148:function(t,e,r){\"use strict\";var n=r(68596),i=r(64025),a=r(95425).getGraphDiv,o=r(85988),s=t.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,\"plotly_beforehover\",e)||(r._hoverlayer.selectAll(\"g\").remove(),r._hoverlayer.selectAll(\"line\").remove(),r._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,e.target&&i&&t.emit(\"plotly_unhover\",{event:e,points:i}))}},94850:function(t,e){\"use strict\";e.T={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"},e.k={shape:{valType:\"enumerated\",values:[\"\",\"/\",\"\\\\\",\"x\",\"-\",\"|\",\"+\",\".\"],dflt:\"\",arrayOk:!0,editType:\"style\"},fillmode:{valType:\"enumerated\",values:[\"replace\",\"overlay\"],dflt:\"replace\",editType:\"style\"},bgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgopacity:{valType:\"number\",editType:\"style\",min:0,max:1},size:{valType:\"number\",min:0,dflt:8,arrayOk:!0,editType:\"style\"},solidity:{valType:\"number\",min:0,max:1,dflt:.3,arrayOk:!0,editType:\"style\"},editType:\"style\"}},62203:function(t,e,r){\"use strict\";var n=r(45568),i=r(34809),a=i.numberFormat,o=r(10721),s=r(65657),l=r(33626),c=r(78766),u=r(88856),h=i.strTranslate,f=r(30635),p=r(62972),d=r(4530).LINE_SPACING,m=r(20438).DESELECTDIM,g=r(64726),y=r(92527),v=r(36040).appendArrayPointValue,x=t.exports={};function _(t){return\"none\"===t?void 0:t}x.font=function(t,e){var r=e.variant,n=e.style,i=e.weight,a=e.color,o=e.size,s=e.family,l=e.shadow,u=e.lineposition,h=e.textcase;s&&t.style(\"font-family\",s),o+1&&t.style(\"font-size\",o+\"px\"),a&&t.call(c.fill,a),i&&t.style(\"font-weight\",i),n&&t.style(\"font-style\",n),r&&t.style(\"font-variant\",r),h&&t.style(\"text-transform\",_(function(t){return b[t]}(h))),l&&t.style(\"text-shadow\",\"auto\"===l?f.makeTextShadow(c.contrast(a)):_(l)),u&&t.style(\"text-decoration-line\",_(function(t){return t.replace(\"under\",\"underline\").replace(\"over\",\"overline\").replace(\"through\",\"line-through\").split(\"+\").join(\" \")}(u)))};var b={normal:\"none\",lower:\"lowercase\",upper:\"uppercase\",\"word caps\":\"capitalize\"};function w(t,e,r,n){var i=e.fillpattern,a=e.fillgradient,o=i&&x.getPatternAttr(i.shape,0,\"\");if(o){var s=x.getPatternAttr(i.bgcolor,0,null),l=x.getPatternAttr(i.fgcolor,0,null),u=i.fgopacity,h=x.getPatternAttr(i.size,0,8),f=x.getPatternAttr(i.solidity,0,.3),p=e.uid;x.pattern(t,\"point\",r,p,o,h,f,void 0,i.fillmode,s,l,u)}else if(a&&\"none\"!==a.type){var d,m,g=a.type,y=\"scatterfill-\"+e.uid;n&&(y=\"legendfill-\"+e.uid),n||void 0===a.start&&void 0===a.stop?(\"horizontal\"===g&&(g+=\"reversed\"),t.call(x.gradient,r,y,g,a.colorscale,\"fill\")):(\"horizontal\"===g?(d={x:a.start,y:0},m={x:a.stop,y:0}):\"vertical\"===g&&(d={x:0,y:a.start},m={x:0,y:a.stop}),d.x=e._xA.c2p(void 0===d.x?e._extremes.x.min[0].val:d.x,!0),d.y=e._yA.c2p(void 0===d.y?e._extremes.y.min[0].val:d.y,!0),m.x=e._xA.c2p(void 0===m.x?e._extremes.x.max[0].val:m.x,!0),m.y=e._yA.c2p(void 0===m.y?e._extremes.y.max[0].val:m.y,!0),t.call(E,r,y,\"linear\",a.colorscale,\"fill\",d,m,!0,!1))}else e.fillcolor&&t.call(c.fill,e.fillcolor)}x.setPosition=function(t,e,r){t.attr(\"x\",e).attr(\"y\",r)},x.setSize=function(t,e,r){t.attr(\"width\",e).attr(\"height\",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&(\"text\"===e.node().nodeName?e.attr(\"x\",i).attr(\"y\",a):e.attr(\"transform\",h(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(\"display\",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:\"none\")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,c=l.traceIs(a,\"bar-like\")?\".bartext\":\".point,.textpoint\";t.selectAll(c).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.singleLineStyle=function(t,e,r,n,i){e.style(\"fill\",\"none\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";c.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style(\"fill\",\"none\").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||\"\";n.select(this).call(c.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({\"stroke-dasharray\":e,\"stroke-width\":r+\"px\"})},x.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return\"solid\"===t?t=\"\":\"dot\"===t?t=r+\"px,\"+r+\"px\":\"dash\"===t?t=3*r+\"px,\"+3*r+\"px\":\"longdash\"===t?t=5*r+\"px,\"+5*r+\"px\":\"dashdot\"===t?t=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":\"longdashdot\"===t&&(t=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),t},x.singleFillStyle=function(t,e){var r=n.select(t.node());w(t,((r.data()[0]||[])[0]||{}).trace||{},e,!1)},x.fillGroupStyle=function(t,e,r){t.style(\"stroke-width\",0).each((function(t){var i=n.select(this);t[0].trace&&w(i,t[0].trace,e,r)}))};var T=r(38882);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(T).forEach((function(t){var e=T[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+\"-open\"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+\"-dot\",r+300,String(r+300),t+\"-open-dot\"),e.noFill&&(x.symbolNoFill[r]=!0)}));var k=x.symbolNames.length;function A(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\":\"\")}x.symbolNumber=function(t){if(o(t))t=+t;else if(\"string\"==typeof t){var e=0;t.indexOf(\"-open\")>0&&(e=100,t=t.replace(\"-open\",\"\")),t.indexOf(\"-dot\")>0&&(e+=200,t=t.replace(\"-dot\",\"\")),(t=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=k||t>=400?0:Math.floor(Math.max(t,0))};var M=a(\"~f\"),S={radial:{type:\"radial\"},radialreversed:{type:\"radial\",reversed:!0},horizontal:{type:\"linear\",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:\"linear\",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:\"linear\",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:\"linear\",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};function E(t,e,r,a,o,l,u,h,f,p){var d,m=o.length;\"linear\"===a?d={node:\"linearGradient\",attrs:{x1:u.x,y1:u.y,x2:h.x,y2:h.y,gradientUnits:f?\"userSpaceOnUse\":\"objectBoundingBox\"},reversed:p}:\"radial\"===a&&(d={node:\"radialGradient\",reversed:p});for(var g=new Array(m),y=0;y=0&&void 0===t.i&&(t.i=o.i),e.style(\"opacity\",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?s.opacity:t.mo),n.ms2mrc){var u;u=\"various\"===t.ms||\"various\"===s.size?3:n.ms2mrc(t.ms),t.mrc=u,n.selectedSizeFn&&(u=t.mrc=n.selectedSizeFn(t));var h=x.symbolNumber(t.mx||s.symbol)||0;t.om=h%200>=100;var f=nt(t,r),p=Z(t,r);e.attr(\"d\",A(h,u,f,p))}var d,m,g,y=!1;if(t.so)g=l.outlierwidth,m=l.outliercolor,d=s.outliercolor;else{var v=(l||{}).width;g=(t.mlw+1||v+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,m=\"mlc\"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(l.color)?c.defaultLine:l.color,i.isArrayOrTypedArray(s.color)&&(d=c.defaultLine,y=!0),d=\"mc\"in t?t.mcc=n.markerScale(t.mc):s.color||s.colors||\"rgba(0,0,0,0)\",n.selectedColorFn&&(d=n.selectedColorFn(t))}if(t.om)e.call(c.stroke,d).style({\"stroke-width\":(g||1)+\"px\",fill:\"none\"});else{e.style(\"stroke-width\",(t.isBlank?0:g)+\"px\");var _=s.gradient,b=t.mgt;b?y=!0:b=_&&_.type,i.isArrayOrTypedArray(b)&&(b=b[0],S[b]||(b=0));var w=s.pattern,T=w&&x.getPatternAttr(w.shape,t.i,\"\");if(b&&\"none\"!==b){var k=t.mgc;k?y=!0:k=_.color;var M=r.uid;y&&(M+=\"-\"+t.i),x.gradient(e,a,M,b,[[0,k],[1,d]],\"fill\")}else if(T){var E=!1,C=w.fgcolor;!C&&o&&o.color&&(C=o.color,E=!0);var L=x.getPatternAttr(C,t.i,o&&o.color||null),I=x.getPatternAttr(w.bgcolor,t.i,null),P=w.fgopacity,z=x.getPatternAttr(w.size,t.i,8),O=x.getPatternAttr(w.solidity,t.i,.3);E=E||t.mcc||i.isArrayOrTypedArray(w.shape)||i.isArrayOrTypedArray(w.bgcolor)||i.isArrayOrTypedArray(w.fgcolor)||i.isArrayOrTypedArray(w.size)||i.isArrayOrTypedArray(w.solidity);var D=r.uid;E&&(D+=\"-\"+t.i),x.pattern(e,\"point\",a,D,T,z,O,t.mcc,w.fillmode,I,L,P)}else i.isArrayOrTypedArray(d)?c.fill(e,d[t.i]):c.fill(e,d);g&&c.stroke(e,m)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,\"\"),e.lineScale=x.tryColorscale(r,\"line\"),l.traceIs(t,\"symbols\")&&(e.ms2mrc=g.isBubble(t)?y(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},c=a.opacity,u=o.opacity,h=s.opacity,f=void 0!==u,p=void 0!==h;(i.isArrayOrTypedArray(c)||f||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?f?u:e:p?h:m*e});var d=a.color,g=o.color,y=s.color;(g||y)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:y||e});var v=a.size,x=o.size,_=s.size,b=void 0!==x,w=void 0!==_;return l.traceIs(t,\"symbols\")&&(b||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||v/2;return t.selected?b?x/2:e:w?_/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:u||(l?e:c.addOpacity(e,m))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style(\"opacity\",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){c.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr(\"d\",A(x.symbolNumber(a),o,nt(n,e),Z(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}function O(t,e,r){return r&&(t=j(t)),e?R(t[1]):D(t[0])}function D(t){var e=n.round(t,2);return C=e,e}function R(t){var e=n.round(t,2);return L=e,e}function F(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,h=(c*c*a-l*l*s)*n,f=3*c*(l+c),p=3*l*(l+c);return[[D(e[0]+(f&&u/f)),R(e[1]+(f&&h/f))],[D(e[0]-(p&&u/p)),R(e[1]-(p&&h/p))]]}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),c=s?i.extractOption(t,e,\"txt\",\"texttemplate\"):i.extractOption(t,e,\"tx\",\"text\");if(c||0===c){if(s){var u=e._module.formatLabels,h=u?u(t,e,l):{},p={};v(p,e,t.i);var d=e._meta||{};c=i.texttemplateString(c,h,l._d3locale,p,t,d)}var m=t.tp||e.textposition,g=z(t,e),y=a?a(t):t.tc||e.textfont.color;o.call(x.font,{family:t.tf||e.textfont.family,weight:t.tw||e.textfont.weight,style:t.ty||e.textfont.style,variant:t.tv||e.textfont.variant,textcase:t.tC||e.textfont.textcase,lineposition:t.tE||e.textfont.lineposition,shadow:t.tS||e.textfont.shadow,size:g,color:y}).text(c).call(f.convertToTspans,r).call(P,m,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=z(t,e);c.fill(i,a);var u=l.traceIs(e,\"bar-like\");P(i,o,s,t.mrc2||t.mrc,u)}))}},x.smoothopen=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\");var r,n=\"M\"+t[0],i=[];for(r=1;r=c||w>=h&&w<=c)&&(T<=f&&T>=u||T>=f&&T<=u)&&(t=[w,T])}return t}x.steps=function(t){var e=B[t]||N;return function(t){for(var r=\"M\"+D(t[0][0])+\",\"+R(t[0][1]),n=t.length,i=1;i=1e4&&(x.savedBBoxes={},U=0),r&&(x.savedBBoxes[r]=g),U++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr(\"clip-path\",q(e,r))},x.getTranslate=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,(function(t,e,r){return[e,r].join(\" \")})).split(\" \");return{x:+e[0]||0,y:+e[1]||0}},x.setTranslate=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||0,r=r||0,a=a.replace(/(\\btranslate\\(.*?\\);?)/,\"\").trim(),a=(a+=h(e,r)).trim(),t[i](\"transform\",a),a},x.getScale=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,(function(t,e,r){return[e,r].join(\" \")})).split(\" \");return{x:+e[0]||1,y:+e[1]||1}},x.setScale=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||1,r=r||1,a=a.replace(/(\\bscale\\(.*?\\);?)/,\"\").trim(),a=(a+=\"scale(\"+e+\",\"+r+\")\").trim(),t[i](\"transform\",a),a};var H=/\\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?\"\":\"scale(\"+e+\",\"+r+\")\";t.each((function(){var t=(this.getAttribute(\"transform\")||\"\").replace(H,\"\");t=(t+=n).trim(),this.setAttribute(\"transform\",t)}))}};var G=/translate\\([^)]*\\)\\s*$/;function Z(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select(\"text\");if(a.node()){var o=parseFloat(a.attr(\"x\")||0),s=parseFloat(a.attr(\"y\")||0),l=(i.attr(\"transform\")||\"\").match(G);t=1===e&&1===r?[]:[h(o,s),\"scale(\"+e+\",\"+r+\")\",h(-o,-s)],l&&t.push(l),i.attr(\"transform\",t.join(\"\"))}}))},x.getMarkerStandoff=Z;var W,Y,X,$,J,K,Q=Math.atan2,tt=Math.cos,et=Math.sin;function rt(t,e){var r=e[0],n=e[1];return[r*tt(t)-n*et(t),r*et(t)+n*tt(t)]}function nt(t,e){var r,n,a=t.ma;void 0===a&&((a=e.marker.angle)&&!i.isArrayOrTypedArray(a)||(a=0));var s=e.marker.angleref;if(\"previous\"===s||\"north\"===s){if(e._geo){var l=e._geo.project(t.lonlat);r=l[0],n=l[1]}else{var c=e._xA,u=e._yA;if(!c||!u)return 90;r=c.c2p(t.x),n=u.c2p(t.y)}if(e._geo){var h,f=t.lonlat[0],p=t.lonlat[1],d=e._geo.project([f,p+1e-5]),m=e._geo.project([f+1e-5,p]),g=Q(m[1]-n,m[0]-r),y=Q(d[1]-n,d[0]-r);if(\"north\"===s)h=a/180*Math.PI;else if(\"previous\"===s){var v=f/180*Math.PI,x=p/180*Math.PI,_=W/180*Math.PI,b=Y/180*Math.PI,w=_-v,T=tt(b)*et(w),k=et(b)*tt(x)-tt(b)*et(x)*tt(w);h=-Q(T,k)-Math.PI,W=f,Y=p}var A=rt(g,[tt(h),0]),M=rt(y,[et(h),0]);a=Q(A[1]+M[1],A[0]+M[0])/Math.PI*180,\"previous\"!==s||K===e.uid&&t.i===J+1||(a=null)}if(\"previous\"===s&&!e._geo)if(K===e.uid&&t.i===J+1&&o(r)&&o(n)){var S=r-X,E=n-$,C=e.line&&e.line.shape||\"\",L=C.slice(C.length-1);\"h\"===L&&(E=0),\"v\"===L&&(S=0),a+=Q(E,S)/Math.PI*180+90}else a=null}return X=r,$=n,J=t.i,K=e.uid,a}x.getMarkerAngle=nt},38882:function(t,e,r){\"use strict\";var n,i,a,o,s=r(26953),l=r(45568).round,c=\"M0,0Z\",u=Math.sqrt(2),h=Math.sqrt(3),f=Math.PI,p=Math.cos,d=Math.sin;function m(t){return null===t}function g(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=p(t),i=d(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var c=t/180*f,u=0,h=0,m=s(r),g=\"\",y=0;y0,h=t._context.staticPlot;e.each((function(e){var f,p=e[0].trace,d=p.error_x||{},m=p.error_y||{};p.ids&&(f=function(t){return t.id});var g=o.hasMarkers(p)&&p.marker.maxdisplayed>0;m.visible||d.visible||(e=[]);var y=n.select(this).selectAll(\"g.errorbar\").data(e,f);if(y.exit().remove(),e.length){d.visible||y.selectAll(\"path.xerror\").remove(),m.visible||y.selectAll(\"path.yerror\").remove(),y.style(\"opacity\",1);var v=y.enter().append(\"g\").classed(\"errorbar\",!0);u&&v.style(\"opacity\",0).transition().duration(s.duration).style(\"opacity\",1),a.setClipUrl(y,r.layerClipId,t),y.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,c);if(!g||t.vis){var a,o=e.select(\"path.yerror\");if(m.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var f=m.width;a=\"M\"+(r.x-f)+\",\"+r.yh+\"h\"+2*f+\"m-\"+f+\",0V\"+r.ys,r.noYS||(a+=\"m-\"+f+\",0h\"+2*f),o.size()?u&&(o=o.transition().duration(s.duration).ease(s.easing)):o=e.append(\"path\").style(\"vector-effect\",h?\"none\":\"non-scaling-stroke\").classed(\"yerror\",!0),o.attr(\"d\",a)}else o.remove();var p=e.select(\"path.xerror\");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var y=(d.copy_ystyle?m:d).width;a=\"M\"+r.xh+\",\"+(r.y-y)+\"v\"+2*y+\"m0,-\"+y+\"H\"+r.xs,r.noXS||(a+=\"m0,-\"+y+\"v\"+2*y),p.size()?u&&(p=p.transition().duration(s.duration).ease(s.easing)):p=e.append(\"path\").style(\"vector-effect\",h?\"none\":\"non-scaling-stroke\").classed(\"xerror\",!0),p.attr(\"d\",a)}else p.remove()}}))}}))}},22800:function(t,e,r){\"use strict\";var n=r(45568),i=r(78766);t.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",r.thickness+\"px\").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(i.stroke,a.color)}))}},70192:function(t,e,r){\"use strict\";var n=r(80337),i=r(6811).hoverlabel,a=r(93049).extendFlat;t.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:\"none\"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:\"none\"}}},83552:function(t,e,r){\"use strict\";var n=r(34809),i=r(33626);function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}t.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.index$[0]._length||bt<0||bt>J[0]._length)return m.unhoverRaw(t,e)}else _t=\"xpx\"in e?e.xpx:$[0]._length/2,bt=\"ypx\"in e?e.ypx:J[0]._length/2;if(e.pointerX=_t+$[0]._offset,e.pointerY=bt+J[0]._offset,nt=\"xval\"in e?x.flat(_,e.xval):x.p2c($,_t),it=\"yval\"in e?x.flat(_,e.yval):x.p2c(J,bt),!i(nt[0])||!i(it[0]))return o.warn(\"Fx.hover failed\",e,t),m.unhoverRaw(t,e)}var At=1/0;function Mt(r,n){for(ot=0;otmt&&(gt.splice(0,mt),At=gt[0].distance),M&&0!==rt&&0===gt.length){dt.distance=rt,dt.index=!1;var u=lt._module.hoverPoints(dt,ft,pt,\"closest\",{hoverLayer:b._hoverlayer});if(u&&(u=u.filter((function(t){return t.spikeDistance<=rt}))),u&&u.length){var h,f=u.filter((function(t){return t.xa.showspikes&&\"hovered data\"!==t.xa.spikesnap}));if(f.length){var p=f[0];i(p.x0)&&i(p.y0)&&(h=Et(p),(!vt.vLinePoint||vt.vLinePoint.spikeDistance>h.spikeDistance)&&(vt.vLinePoint=h))}var m=u.filter((function(t){return t.ya.showspikes&&\"hovered data\"!==t.ya.spikesnap}));if(m.length){var g=m[0];i(g.x0)&&i(g.y0)&&(h=Et(g),(!vt.hLinePoint||vt.hLinePoint.spikeDistance>h.spikeDistance)&&(vt.hLinePoint=h))}}}}}function St(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)Nt-1;jt--)Ht(gt[jt]);gt=Ut,Pt()}var Gt=t._hoverdata,Zt=[],Wt=H(t),Yt=G(t);for(at=0;at1||gt.length>1)||\"closest\"===S&&xt&>.length>1,se=d.combine(b.plot_bgcolor||d.background,b.paper_bgcolor),le=D(gt,{gd:t,hovermode:S,rotateLabels:oe,bgColor:se,container:b._hoverlayer,outerContainer:b._paper.node(),commonLabelOpts:b.hoverlabel,hoverdistance:b.hoverdistance}),ce=le.hoverLabels;if(x.isUnifiedHover(S)||(function(t,e,r,n){var i,a,o,s,l,c,u,h=e?\"xa\":\"ya\",f=e?\"ya\":\"xa\",p=0,d=1,m=t.size(),g=new Array(m),y=0,v=n.minX,x=n.maxX,_=n.minY,b=n.maxY,w=function(t){return t*r._invScaleX},T=function(t){return t*r._invScaleY};function k(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a>.01){for(l=t.length-1;l>=0;l--)t[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=t.length-1;l>=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;se.pmax&&n++;for(s=t.length-1;s>=0&&!(n<=0);s--)(c=t[s]).pos>e.pmax-1&&(c.del=!0,n--);for(s=0;s=0;l--)t[l].dp-=o;for(s=t.length-1;s>=0&&!(n<=0);s--)(c=t[s]).pos+c.dp+c.size>e.pmax&&(c.del=!0,n--)}}}for(t.each((function(t){var n=t[h],i=t[f],a=\"x\"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if(\"x\"===r.hovermode||\"y\"===r.hovermode){var c,u,p=F(t,e),m=t.anchor,k=\"end\"===m?-1:1;if(\"middle\"===m)u=(c=t.crossPos+(a?T(p.y-t.by/2):w(t.bx/2+t.tx2width/2)))+(a?T(t.by):w(t.bx));else if(a)u=(c=t.crossPos+T(E+p.y)-T(t.by/2-E))+T(t.by);else{var M=w(k*E+p.x),S=M+w(k*t.bx);c=t.crossPos+Math.min(M,S),u=t.crossPos+Math.max(M,S)}a?void 0!==_&&void 0!==b&&Math.min(u,b)-Math.max(c,_)>1&&(\"left\"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==v&&void 0!==x&&Math.min(u,x)-Math.max(c,v)>1&&(\"top\"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?A:1)/2,pmin:s,pmax:l}]})),g.sort((function(t,e){return t[0].posref-e[0].posref||d*(e[0].traceIndex-t[0].traceIndex)}));!i&&p<=m;){for(p++,i=!0,s=0;s.01){for(l=S.length-1;l>=0;l--)S[l].dp+=a;for(M.push.apply(M,S),g.splice(s+1,1),u=0,l=M.length-1;l>=0;l--)u+=M[l].dp;for(o=u/M.length,l=M.length-1;l>=0;l--)M[l].dp-=o;i=!1}else s++}g.forEach(k)}for(s=g.length-1;s>=0;s--){var I=g[s];for(l=I.length-1;l>=0;l--){var P=I[l],z=P.datum;z.offset=P.dp,z.del=P.del}}}(ce,oe,b,le.commonLabelBoundingBox),B(ce,oe,b._invScaleX,b._invScaleY)),l&&l.tagName){var ue=v.getComponentMethod(\"annotations\",\"hasClickToShow\")(t,Zt);f(n.select(l),ue?\"pointer\":\"\")}l&&!a&&function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Gt)&&(Gt&&t.emit(\"plotly_unhover\",{event:e,points:Gt}),t.emit(\"plotly_hover\",{event:e,points:t._hoverdata,xaxes:$,yaxes:J,xvals:nt,yvals:it}))}(t,e,r,a,l)}))},e.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=H(i),o=G(i),s=D(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,c=t.eventData;if(c){var u=Math.min(r,n),h=Math.max(r,n),f=Math.min(s,l),p=Math.max(s,l),m=t.trace;if(v.traceIs(m,\"gl3d\")){var g=i._fullLayout[m.scene]._scene.container,y=g.offsetLeft,x=g.offsetTop;u+=y,h+=y,f+=x,p+=x}c.bbox={x0:u+o,x1:h+o,y0:f+a,y1:p+a},e.inOut_bbox&&e.inOut_bbox.push(c.bbox)}else c=!1;return{color:t.color||d.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontVariant:t.fontVariant,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:c}})),{gd:i,hovermode:\"closest\",rotateLabels:!1,bgColor:e.bgColor||d.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}).hoverLabels,l=0,c=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\\s\\S]*)<\\/extra>/;function D(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,s=e.rotateLabels,u=e.bgColor,f=e.container,m=e.outerContainer,g=e.commonLabelOpts||{};if(0===t.length)return[[]];var y=e.fontFamily||_.HOVERFONT,k=e.fontSize||_.HOVERFONTSIZE,A=e.fontWeight||i.font.weight,M=e.fontStyle||i.font.style,S=e.fontVariant||i.font.variant,L=e.fontTextcase||i.font.textcase,I=e.fontLineposition||i.font.lineposition,P=e.fontShadow||i.font.shadow,O=t[0],D=O.xa,F=O.ya,B=a.charAt(0),N=B+\"Label\",j=O[N];if(void 0===j&&\"multicategory\"===D.type)for(var U=0;Ui.width-T&&(z=i.width-T),e.attr(\"d\",\"M\"+(x-z)+\",0L\"+(x-z+E)+\",\"+w+E+\"H\"+T+\"v\"+w+(2*C+b.height)+\"H\"+-T+\"V\"+w+E+\"H\"+(x-z-E)+\"Z\"),x=z,Q.minX=x-T,Q.maxX=x+T,\"top\"===D.side?(Q.minY=_-(2*C+b.height),Q.maxY=_-C):(Q.minY=_+C,Q.maxY=_+(2*C+b.height))}else{var R,B,N;\"right\"===F.side?(R=\"start\",B=1,N=\"\",x=D._offset+D._length):(R=\"end\",B=-1,N=\"-\",x=D._offset),_=F._offset+(O.y0+O.y1)/2,s.attr(\"text-anchor\",R),e.attr(\"d\",\"M0,0L\"+N+E+\",\"+E+\"V\"+(C+b.height/2)+\"h\"+N+(2*C+b.width)+\"V-\"+(C+b.height/2)+\"H\"+N+E+\"V-\"+E+\"Z\"),Q.minY=_-(C+b.height/2),Q.maxY=_+(C+b.height/2),\"right\"===F.side?(Q.minX=x+E,Q.maxX=x+E+(2*C+b.width)):(Q.minX=x-E-(2*C+b.width),Q.maxX=x-E);var U,V=b.height/2,H=q-b.top-V,G=\"clip\"+i._uid+\"commonlabel\"+F._id;if(x=0?dt:mt+vt=0?mt:Mt+vt=0?ft:pt+xt=0?pt:St+xt=0,\"top\"!==t.idealAlign&&J||!K?J?(N+=V/2,t.anchor=\"start\"):t.anchor=\"middle\":(N-=V/2,t.anchor=\"end\"),t.crossPos=N;else{if(t.pos=N,J=B+U/2+Q<=H,K=B-U/2-Q>=0,\"left\"!==t.idealAlign&&J||!K)if(J)B+=U/2,t.anchor=\"start\";else{t.anchor=\"middle\";var tt=Q/2,et=B+tt-H,rt=B-tt;et>0&&(B-=et),rt<0&&(B+=-rt)}else B-=U/2,t.anchor=\"end\";t.crossPos=B}w.attr(\"text-anchor\",t.anchor),O&&z.attr(\"text-anchor\",t.anchor),e.attr(\"transform\",l(B,N)+(s?c(T):\"\"))})),{hoverLabels:Et,commonLabelBoundingBox:Q}}function R(t,e,r,n,i,a){var s=\"\",l=\"\";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=V(t.name,t.nameLength));var c=r.charAt(0),u=\"x\"===c?\"y\":\"x\";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+=\"x: \"+t.xLabel+\"
\"),void 0!==t.yLabel&&(l+=\"y: \"+t.yLabel+\"
\"),\"choropleth\"!==t.trace.type&&\"choroplethmapbox\"!==t.trace.type&&\"choroplethmap\"!==t.trace.type&&(l+=(l?\"z: \":\"\")+t.zLabel)):e&&t[c+\"Label\"]===i?l=t[u+\"Label\"]||\"\":void 0===t.xLabel?void 0!==t.yLabel&&\"scattercarpet\"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:\"(\"+t.xLabel+\", \"+t.yLabel+\")\",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?\"
\":\"\")+t.text),void 0!==t.extraText&&(l+=(l?\"
\":\"\")+t.extraText),a&&\"\"===l&&!t.hovertemplate&&(\"\"===s&&a.remove(),l=s);var h=t.hovertemplate||!1;if(h){var f=t.hovertemplateLabels||t;t[c+\"Label\"]!==i&&(f[c+\"other\"]=f[c+\"Val\"],f[c+\"otherLabel\"]=f[c+\"Label\"]),l=(l=o.hovertemplateString(h,f,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(O,(function(e,r){return s=V(r,t.nameLength),\"\"}))}return[l,s]}function F(t,e){var r=0,n=t.offset;return e&&(n*=-S,r=t.offset*M),{x:r,y:n}}function B(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i,s,l,c,u=r.select(\"text.nums\"),f=t.anchor,d=\"end\"===f?-1:1,m=(c=(l=(s={start:1,end:-1,middle:0}[(i=t).anchor])*(E+C))+s*(i.txwidth+C),\"middle\"===i.anchor&&(l-=i.tx2width/2,c+=i.txwidth/2+C),{alignShift:s,textShiftX:l,text2ShiftX:c}),g=F(t,e),y=g.x,v=g.y,x=\"middle\"===f;r.select(\"path\").attr(\"d\",x?\"M-\"+a(t.bx/2+t.tx2width/2)+\",\"+o(v-t.by/2)+\"h\"+a(t.bx)+\"v\"+o(t.by)+\"h-\"+a(t.bx)+\"Z\":\"M0,0L\"+a(d*E+y)+\",\"+o(E+v)+\"v\"+o(t.by/2-E)+\"h\"+a(d*t.bx)+\"v-\"+o(t.by)+\"H\"+a(d*E+y)+\"V\"+o(v-E)+\"Z\");var _=y+m.textShiftX,b=v+t.ty0-t.by/2+C,w=t.textAlign||\"auto\";\"auto\"!==w&&(\"left\"===w&&\"start\"!==f?(u.attr(\"text-anchor\",\"start\"),_=x?-t.bx/2-t.tx2width/2+C:-t.bx-C):\"right\"===w&&\"end\"!==f&&(u.attr(\"text-anchor\",\"end\"),_=x?t.bx/2-t.tx2width/2-C:t.bx+C)),u.call(h.positionText,a(_),o(b)),t.tx2width&&(r.select(\"text.name\").call(h.positionText,a(m.text2ShiftX+m.alignShift*C+y),o(v+t.ty0-t.by/2+C)),r.select(\"rect\").call(p.setRect,a(m.text2ShiftX+(m.alignShift-1)*t.tx2width/2+y),o(v-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function N(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var c=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,\"\",e)}:function(t,e){return o.extractOption(s,n,t,e)};function u(e,r,n){var i=c(r,n);l(i)&&(t[e]=i)}if(u(\"hoverinfo\",\"hi\",\"hoverinfo\"),u(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),u(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),u(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),u(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),u(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),u(\"fontWeight\",\"htw\",\"hoverlabel.font.weight\"),u(\"fontStyle\",\"hty\",\"hoverlabel.font.style\"),u(\"fontVariant\",\"htv\",\"hoverlabel.font.variant\"),u(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),u(\"textAlign\",\"hta\",\"hoverlabel.align\"),t.posref=\"y\"===e||\"closest\"===e&&\"h\"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel=\"xLabel\"in t?t.xLabel:g.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel=\"yLabel\"in t?t.yLabel:g.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||\"log\"===t.xa.type&&t.xerr<=0)){var h=g.tickText(t.xa,t.xa.c2l(t.xerr),\"hover\").text;void 0!==t.xerrneg?t.xLabel+=\" +\"+h+\" / -\"+g.tickText(t.xa,t.xa.c2l(t.xerrneg),\"hover\").text:t.xLabel+=\" ± \"+h,\"x\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\"log\"===t.ya.type&&t.yerr<=0)){var f=g.tickText(t.ya,t.ya.c2l(t.yerr),\"hover\").text;void 0!==t.yerrneg?t.yLabel+=\" +\"+f+\" / -\"+g.tickText(t.ya,t.ya.c2l(t.yerrneg),\"hover\").text:t.yLabel+=\" ± \"+f,\"y\"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&\"all\"!==p&&(-1===(p=Array.isArray(p)?p:p.split(\"+\")).indexOf(\"x\")&&(t.xLabel=void 0),-1===p.indexOf(\"y\")&&(t.yLabel=void 0),-1===p.indexOf(\"z\")&&(t.zLabel=void 0),-1===p.indexOf(\"text\")&&(t.text=void 0),-1===p.indexOf(\"name\")&&(t.name=void 0)),t}function j(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,c=r.event,u=!!e.hLinePoint,h=!!e.vLinePoint;if(o.selectAll(\".spikeline\").remove(),h||u){var f=d.combine(s.plot_bgcolor,s.paper_bgcolor);if(u){var m,y,v=e.hLinePoint;n=v&&v.xa,\"cursor\"===(i=v&&v.ya).spikesnap?(m=c.pointerX,y=c.pointerY):(m=n._offset+v.x,y=i._offset+v.y);var x,_,b=a.readability(v.color,f)<1.5?d.contrast(f):v.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||b,A=g.getPxPosition(t,i);if(-1!==w.indexOf(\"toaxis\")||-1!==w.indexOf(\"across\")){if(-1!==w.indexOf(\"toaxis\")&&(x=A,_=m),-1!==w.indexOf(\"across\")){var M=i._counterDomainMin,S=i._counterDomainMax;\"free\"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,_=l.l+S*l.w}o.insert(\"line\",\":first-child\").attr({x1:x,x2:_,y1:y,y2:y,\"stroke-width\":T,stroke:k,\"stroke-dasharray\":p.dashStyle(i.spikedash,T)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:x,x2:_,y1:y,y2:y,\"stroke-width\":T+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}-1!==w.indexOf(\"marker\")&&o.insert(\"circle\",\":first-child\").attr({cx:A+(\"right\"!==i.side?T:-T),cy:y,r:T,fill:k}).classed(\"spikeline\",!0)}if(h){var E,C,L=e.vLinePoint;n=L&&L.xa,i=L&&L.ya,\"cursor\"===n.spikesnap?(E=c.pointerX,C=c.pointerY):(E=n._offset+L.x,C=i._offset+L.y);var I,P,z=a.readability(L.color,f)<1.5?d.contrast(f):L.color,O=n.spikemode,D=n.spikethickness,R=n.spikecolor||z,F=g.getPxPosition(t,n);if(-1!==O.indexOf(\"toaxis\")||-1!==O.indexOf(\"across\")){if(-1!==O.indexOf(\"toaxis\")&&(I=F,P=C),-1!==O.indexOf(\"across\")){var B=n._counterDomainMin,N=n._counterDomainMax;\"free\"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),I=l.t+(1-N)*l.h,P=l.t+(1-B)*l.h}o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:I,y2:P,\"stroke-width\":D,stroke:R,\"stroke-dasharray\":p.dashStyle(n.spikedash,D)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:I,y2:P,\"stroke-width\":D+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}-1!==O.indexOf(\"marker\")&&o.insert(\"circle\",\":first-child\").attr({cx:E,cy:F-(\"top\"!==n.side?D:-D),r:D,fill:R}).classed(\"spikeline\",!0)}}}function U(t,e){return!e||e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint}function V(t,e){return h.plainText(t||\"\",{len:e,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\",\"s\",\"u\"]})}function q(t,e,r){var n=e[t+\"a\"],i=e[t+\"Val\"],a=e.cd[0];if(\"category\"===n.type||\"multicategory\"===n.type)i=n._categoriesMap[i];else if(\"date\"===n.type){var o=e.trace[t+\"periodalignment\"];if(o){var s=e.cd[e.index],l=s[t+\"Start\"];void 0===l&&(l=s[t]);var c=s[t+\"End\"];void 0===c&&(c=s[t]);var u=c-l;\"end\"===o?i+=u:\"middle\"===o&&(i+=u/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&(\"group\"!==r.boxmode&&\"group\"!==r.violinmode||(i+=a.t.dPos)),i}function H(t){return t.offsetTop+t.clientTop}function G(t){return t.offsetLeft+t.clientLeft}function Z(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.left,a=n.top,s=i+n.width,l=a+n.height,c=o.apply3DTransform(r._invTransform)(i,a),u=o.apply3DTransform(r._invTransform)(s,l),h=c[0],f=c[1],p=u[0],d=u[1];return{x:h,y:f,width:p-h,height:d-f,top:Math.min(f,d),left:Math.min(h,p),right:Math.max(h,p),bottom:Math.max(f,d)}}},26430:function(t,e,r){\"use strict\";var n=r(34809),i=r(78766),a=r(36040).isUnifiedHover;t.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l(\"size\"),l(\"family\"),l(\"color\"),l(\"weight\"),l(\"style\"),l(\"variant\"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r(\"hoverlabel.bgcolor\",o.bgcolor),r(\"hoverlabel.bordercolor\",o.bordercolor),r(\"hoverlabel.namelength\",o.namelength),n.coerceFont(r,\"hoverlabel.font\",o.font),r(\"hoverlabel.align\",o.align)}},45265:function(t,e,r){\"use strict\";var n=r(34809),i=r(6811);t.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r(\"clickmode\"),r(\"hoversubplots\"),r(\"hovermode\")}},32141:function(t,e,r){\"use strict\";var n=r(45568),i=r(34809),a=r(14751),o=r(36040),s=r(6811),l=r(38103);t.exports={moduleType:\"component\",name:\"fx\",constants:r(85988),schema:{layout:s},attributes:r(70192),layoutAttributes:s,supplyLayoutGlobalDefaults:r(5358),supplyDefaults:r(3239),supplyLayoutDefaults:r(8412),calc:r(83552),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,\"hoverlabel.\"+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,\"hoverinfo\",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll(\"g.hovertext\").remove(),e.selectAll(\".spikeline\").remove()},click:r(94225)}},6811:function(t,e,r){\"use strict\";var n=r(85988),i=r(80337),a=i({editType:\"none\"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,t.exports={clickmode:{valType:\"flaglist\",flags:[\"event\",\"select\"],dflt:\"event\",editType:\"plot\",extras:[\"none\"]},dragmode:{valType:\"enumerated\",values:[\"zoom\",\"pan\",\"select\",\"lasso\",\"drawclosedpath\",\"drawopenpath\",\"drawline\",\"drawrect\",\"drawcircle\",\"orbit\",\"turntable\",!1],dflt:\"zoom\",editType:\"modebar\"},hovermode:{valType:\"enumerated\",values:[\"x\",\"y\",\"closest\",!1,\"x unified\",\"y unified\"],dflt:\"closest\",editType:\"modebar\"},hoversubplots:{valType:\"enumerated\",values:[\"single\",\"overlaying\",\"axis\"],dflt:\"overlaying\",editType:\"none\"},hoverdistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},spikedistance:{valType:\"integer\",min:-1,dflt:-1,editType:\"none\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"none\"},bordercolor:{valType:\"color\",editType:\"none\"},font:a,grouptitlefont:i({editType:\"none\"}),align:{valType:\"enumerated\",values:[\"left\",\"right\",\"auto\"],dflt:\"auto\",editType:\"none\"},namelength:{valType:\"integer\",min:-1,dflt:15,editType:\"none\"},editType:\"none\"},selectdirection:{valType:\"enumerated\",values:[\"h\",\"v\",\"d\",\"any\"],dflt:\"any\",editType:\"none\"}}},8412:function(t,e,r){\"use strict\";var n=r(34809),i=r(6811),a=r(45265),o=r(26430);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r(\"hoverdistance\"),r(\"spikedistance\")),\"select\"===r(\"dragmode\")&&r(\"selectdirection\");var s=e._has(\"mapbox\"),l=e._has(\"map\"),c=e._has(\"geo\"),u=e._basePlotModules.length;\"zoom\"===e.dragmode&&((s||l||c)&&1===u||(s||l)&&c&&2===u)&&(e.dragmode=\"pan\"),o(t,e,r),n.coerceFont(r,\"hoverlabel.grouptitlefont\",e.hoverlabel.font)}},5358:function(t,e,r){\"use strict\";var n=r(34809),i=r(26430),a=r(6811);t.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},83595:function(t,e,r){\"use strict\";var n=r(34809),i=r(90694).counter,a=r(13792).u,o=r(54826).idRegex,s=r(78032),l={rows:{valType:\"integer\",min:1,editType:\"plot\"},roworder:{valType:\"enumerated\",values:[\"top to bottom\",\"bottom to top\"],dflt:\"top to bottom\",editType:\"plot\"},columns:{valType:\"integer\",min:1,editType:\"plot\"},subplots:{valType:\"info_array\",freeLength:!0,dimensions:2,items:{valType:\"enumerated\",values:[i(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.y.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},pattern:{valType:\"enumerated\",values:[\"independent\",\"coupled\"],dflt:\"coupled\",editType:\"plot\"},xgap:{valType:\"number\",min:0,max:1,editType:\"plot\"},ygap:{valType:\"number\",min:0,max:1,editType:\"plot\"},domain:a({name:\"grid\",editType:\"plot\",noGridCell:!0},{}),xside:{valType:\"enumerated\",values:[\"bottom\",\"bottom plot\",\"top plot\",\"top\"],dflt:\"bottom plot\",editType:\"plot\"},yside:{valType:\"enumerated\",values:[\"left\",\"left plot\",\"right plot\",\"right\"],dflt:\"left plot\",editType:\"plot\"},editType:\"plot\"};function c(t,e,r){var n=e[r+\"axes\"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function u(t,e,r,n,i,a){var o=e(t+\"gap\",r),s=e(\"domain.\"+t);e(t+\"side\",n);for(var l=new Array(i),c=s[0],u=(s[1]-c)/(i-o),h=u*(1-o),f=0;f1){f||p||d||\"independent\"===k(\"pattern\")&&(f=!0),g._hasSubplotGrid=f;var x,_,b=\"top to bottom\"===k(\"roworder\"),w=f?.2:.1,T=f?.3:.1;m&&e._splomGridDflt&&(x=e._splomGridDflt.xside,_=e._splomGridDflt.yside),g._domains={x:u(\"x\",k,w,x,v),y:u(\"y\",k,T,_,y,b)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,f=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,m=r.rows,g=r.columns,y=\"independent\"===r.pattern,v=r._axisMap={};if(d){var x=f.subplots||[];l=r.subplots=new Array(m);var _=1;for(n=0;n(\"legend\"===t?1:0));if(!1===M&&(r[t]=void 0),(!1!==M||h.uirevision)&&(p(\"uirevision\",r.uirevision),!1!==M)){p(\"borderwidth\");var S,E,C,L=\"h\"===p(\"orientation\"),I=\"paper\"===p(\"yref\"),P=\"paper\"===p(\"xref\"),z=\"left\";if(L?(S=0,n.getComponentMethod(\"rangeslider\",\"isVisible\")(e.xaxis)?I?(E=1.1,C=\"bottom\"):(E=1,C=\"top\"):I?(E=-.1,C=\"top\"):(E=0,C=\"bottom\")):(E=1,C=\"auto\",P?S=1.02:(S=1,z=\"right\")),i.coerce(h,f,{x:{valType:\"number\",editType:\"legend\",min:P?-2:0,max:P?3:1,dflt:S}},\"x\"),i.coerce(h,f,{y:{valType:\"number\",editType:\"legend\",min:I?-2:0,max:I?3:1,dflt:E}},\"y\"),p(\"traceorder\",b),c.isGrouped(r[t])&&p(\"tracegroupgap\"),p(\"entrywidth\"),p(\"entrywidthmode\"),p(\"indentation\"),p(\"itemsizing\"),p(\"itemwidth\"),p(\"itemclick\"),p(\"itemdoubleclick\"),p(\"groupclick\"),p(\"xanchor\",z),p(\"yanchor\",C),p(\"valign\"),i.noneOrAll(h,f,[\"x\",\"y\"]),p(\"title.text\")){p(\"title.side\",L?\"left\":\"top\");var O=i.extendFlat({},d,{size:i.bigFont(d.size)});i.coerceFont(p,\"title.font\",O)}}}}t.exports=function(t,e,r){var n,a=r.slice(),o=e.shapes;if(o)for(n=0;n1)}var B=d.hiddenlabels||[];if(!(T||d.showlegend&&S.length))return s.selectAll(\".\"+w).remove(),d._topdefs.select(\"#\"+r).remove(),a.autoMargin(t,w);var N=i.ensureSingle(s,\"g\",w,(function(t){T||t.attr(\"pointer-events\",\"all\")})),j=i.ensureSingleById(d._topdefs,\"clipPath\",r,(function(t){t.append(\"rect\")})),U=i.ensureSingle(N,\"rect\",\"bg\",(function(t){t.attr(\"shape-rendering\",\"crispEdges\")}));U.call(u.stroke,f.bordercolor).call(u.fill,f.bgcolor).style(\"stroke-width\",f.borderwidth+\"px\");var V,q=i.ensureSingle(N,\"g\",\"scrollbox\"),H=f.title;f._titleWidth=0,f._titleHeight=0,H.text?((V=i.ensureSingle(q,\"text\",w+\"titletext\")).attr(\"text-anchor\",\"start\").call(c.font,H.font).text(H.text),C(V,q,t,f,b)):q.selectAll(\".\"+w+\"titletext\").remove();var G=i.ensureSingle(N,\"rect\",\"scrollbar\",(function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)})),Z=q.selectAll(\"g.groups\").data(S);Z.enter().append(\"g\").attr(\"class\",\"groups\"),Z.exit().remove();var W=Z.selectAll(\"g.traces\").data(i.identity);W.enter().append(\"g\").attr(\"class\",\"traces\"),W.exit().remove(),W.style(\"opacity\",(function(t){var e=t[0].trace;return o.traceIs(e,\"pie-like\")?-1!==B.indexOf(t[0].label)?.5:1:\"legendonly\"===e.visible?.5:1})).each((function(){n.select(this).call(M,t,f)})).call(x,t,f).each((function(){T||n.select(this).call(E,t,w)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout,o=P(i);i||(i=a[o]);var s=a._size,l=_.isVertical(i),u=_.isGrouped(i),h=\"fraction\"===i.entrywidthmode,f=i.borderwidth,d=2*f,m=p.itemGap,g=i.indentation+i.itemwidth+2*m,y=2*(f+m),v=I(i),x=i.y<0||0===i.y&&\"top\"===v,b=i.y>1||1===i.y&&\"bottom\"===v,w=i.tracegroupgap,T={};i._maxHeight=Math.max(x||b?a.height/2:s.h,30);var A=0;i._width=0,i._height=0;var M=function(t){var e=0,r=0,n=t.title.side;return n&&(-1!==n.indexOf(\"left\")&&(e=t._titleWidth),-1!==n.indexOf(\"top\")&&(r=t._titleHeight)),[e,r]}(i);if(l)r.each((function(t){var e=t[0].height;c.setTranslate(this,f+M[0],f+M[1]+i._height+e/2+m),i._height+=e,i._width=Math.max(i._width,t[0].width)})),A=g+i._width,i._width+=m+g+d,i._height+=y,u&&(e.each((function(t,e){c.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var S=L(i),E=i.x<0||0===i.x&&\"right\"===S,C=i.x>1||1===i.x&&\"left\"===S,z=b||x,O=a.width/2;i._maxWidth=Math.max(E?z&&\"left\"===S?s.l+s.w:O:C?z&&\"right\"===S?s.r+s.w:O:s.w,2*g);var D=0,R=0;r.each((function(t){var e=k(t,i,g);D=Math.max(D,e),R+=e})),A=null;var F=0;if(u){var B=0,N=0,j=0;e.each((function(){var t=0,e=0;n.select(this).selectAll(\"g.traces\").each((function(r){var n=k(r,i,g),a=r[0].height;c.setTranslate(this,M[0],M[1]+f+m+a/2+e),e+=a,t=Math.max(t,n),T[r[0].trace.legendgroup]=t}));var r=t+m;N>0&&r+f+N>i._maxWidth?(F=Math.max(F,N),N=0,j+=B+w,B=e):B=Math.max(B,e),c.setTranslate(this,N,j),N+=r})),i._width=Math.max(F,N)+f,i._height=j+B+y}else{var U=r.size(),V=R+d+(U-1)*m=i._maxWidth&&(F=Math.max(F,Z),H=0,G+=q,i._height+=q,q=0),c.setTranslate(this,M[0]+f+H,M[1]+f+G+e/2+m),Z=H+r+m,H+=n,q=Math.max(q,e)})),V?(i._width=H+d,i._height=q+y):(i._width=Math.max(F,Z)+d,i._height+=q+y)}}i._width=Math.ceil(Math.max(i._width+M[0],i._titleWidth+2*(f+p.titlePad))),i._height=Math.ceil(Math.max(i._height+M[1],i._titleHeight+2*(f+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var W=t._context.edits,Y=W.legendText||W.legendPosition;r.each((function(t){var e=n.select(this).select(\".\"+o+\"toggle\"),r=t[0].height,a=t[0].trace.legendgroup,s=k(t,i,g);u&&\"\"!==a&&(s=T[a]);var f=Y?g:A||s;l||h||(f+=m/2),c.setRect(e,0,-r/2,f,r)}))}(t,Z,W,f)},function(){var e,u,v,x,_=d._size,b=f.borderwidth,k=\"paper\"===f.xref,M=\"paper\"===f.yref;if(H.text&&function(t,e,r){if(\"top center\"===e.title.side||\"top right\"===e.title.side){var n=e.title.font.size*m,i=0,a=t.node(),o=c.bBox(a).width;\"top center\"===e.title.side?i=.5*(e._width-2*r-2*p.titlePad-o):\"top right\"===e.title.side&&(i=e._width-2*r-2*p.titlePad-o),h.positionText(t,r+p.titlePad+i,r+n)}}(V,f,b),!T){var S,E;S=k?_.l+_.w*f.x-g[L(f)]*f._width:d.width*f.x-g[L(f)]*f._width,E=M?_.t+_.h*(1-f.y)-g[I(f)]*f._effHeight:d.height*(1-f.y)-g[I(f)]*f._effHeight;var C=function(t,e,r,n){var i=t._fullLayout,o=i[e],s=L(o),l=I(o),c=\"paper\"===o.xref,u=\"paper\"===o.yref;t._fullLayout._reservedMargin[e]={};var h=o.y<.5?\"b\":\"t\",f=o.x<.5?\"l\":\"r\",p={r:i.width-r,l:r+o._width,b:i.height-n,t:n+o._effHeight};if(c&&u)return a.autoMargin(t,e,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});c?t._fullLayout._reservedMargin[e][h]=p[h]:u||\"v\"===o.orientation?t._fullLayout._reservedMargin[e][f]=p[f]:t._fullLayout._reservedMargin[e][h]=p[h]}(t,w,S,E);if(C)return;if(d.margin.autoexpand){var P=S,z=E;S=k?i.constrain(S,0,d.width-f._width):P,E=M?i.constrain(E,0,d.height-f._effHeight):z,S!==P&&i.log(\"Constrain \"+w+\".x to make legend fit inside graph\"),E!==z&&i.log(\"Constrain \"+w+\".y to make legend fit inside graph\")}c.setTranslate(N,S,E)}if(G.on(\".drag\",null),N.on(\"wheel\",null),T||f._height<=f._maxHeight||t._context.staticPlot){var O=f._effHeight;T&&(O=f._height),U.attr({width:f._width-b,height:O-b,x:b/2,y:b/2}),c.setTranslate(q,0,0),j.select(\"rect\").attr({width:f._width-2*b,height:O-2*b,x:b,y:b}),c.setClipUrl(q,r,t),c.setRect(G,0,0,0,0),delete f._scrollY}else{var D,R,F,B=Math.max(p.scrollBarMinHeight,f._effHeight*f._effHeight/f._height),Z=f._effHeight-B-2*p.scrollBarMargin,W=f._height-f._effHeight,Y=Z/W,X=Math.min(f._scrollY||0,W);U.attr({width:f._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:f._effHeight-b,x:b/2,y:b/2}),j.select(\"rect\").attr({width:f._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:f._effHeight-2*b,x:b,y:b+X}),c.setClipUrl(q,r,t),K(X,B,Y),N.on(\"wheel\",(function(){K(X=i.constrain(f._scrollY+n.event.deltaY/Z*W,0,W),B,Y),0!==X&&X!==W&&n.event.preventDefault()}));var $=n.behavior.drag().on(\"dragstart\",(function(){var t=n.event.sourceEvent;D=\"touchstart\"===t.type?t.changedTouches[0].clientY:t.clientY,F=X})).on(\"drag\",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(R=\"touchmove\"===t.type?t.changedTouches[0].clientY:t.clientY,X=function(t,e,r){var n=(r-e)/Y+t;return i.constrain(n,0,W)}(F,D,R),K(X,B,Y))}));G.call($);var J=n.behavior.drag().on(\"dragstart\",(function(){var t=n.event.sourceEvent;\"touchstart\"===t.type&&(D=t.changedTouches[0].clientY,F=X)})).on(\"drag\",(function(){var t=n.event.sourceEvent;\"touchmove\"===t.type&&(R=t.changedTouches[0].clientY,X=function(t,e,r){var n=(e-r)/Y+t;return i.constrain(n,0,W)}(F,D,R),K(X,B,Y))}));q.call(J)}function K(e,r,n){f._scrollY=t._fullLayout[w]._scrollY=e,c.setTranslate(q,0,-e),c.setRect(G,f._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),j.select(\"rect\").attr(\"y\",b+e)}t._context.edits.legendPosition&&(N.classed(\"cursor-move\",!0),l.init({element:N.node(),gd:t,prepFn:function(t){if(t.target!==G.node()){var e=c.getTranslate(N);v=e.x,x=e.y}},moveFn:function(t,r){if(void 0!==v&&void 0!==x){var n=v+t,i=x+r;c.setTranslate(N,n,i),e=l.align(n,f._width,_.l,_.l+_.w,f.xanchor),u=l.align(i+f._height,-f._height,_.t+_.h,_.t,f.yanchor)}},doneFn:function(){if(void 0!==e&&void 0!==u){var r={};r[w+\".x\"]=e,r[w+\".y\"]=u,o.call(\"_guiRelayout\",t,r)}},clickFn:function(e,r){var n=s.selectAll(\"g.traces\").filter((function(){var t=this.getBoundingClientRect();return r.clientX>=t.left&&r.clientX<=t.right&&r.clientY>=t.top&&r.clientY<=t.bottom}));n.size()>0&&A(t,N,n,e,r)}}))}],t)}}function k(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return\"fraction\"===a?e._maxWidth*o:r+(o||i)}function A(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,\"pie-like\")&&(l.label=r.datum()[0].label);var c=s.triggerHandler(t,\"plotly_legendclick\",l);if(1===n){if(!1===c)return;e._clickTimeout=setTimeout((function(){t._fullLayout&&f(r,t,n)}),t._context.doubleClickDelay)}else 2===n&&(e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,\"plotly_legenddoubleclick\",l)&&!1!==c&&f(r,t,n))}function M(t,e,r){var n,a,s=P(r),l=t.data()[0][0],u=l.trace,f=o.traceIs(u,\"pie-like\"),d=!r._inHover&&e._context.edits.legendText&&!f,m=r._maxNameLength;l.groupTitle?(n=l.groupTitle.text,a=l.groupTitle.font):(a=r.font,r.entries?n=l.text:(n=f?l.label:u.name,u._meta&&(n=i.templateString(n,u._meta))));var g=i.ensureSingle(t,\"text\",s+\"text\");g.attr(\"text-anchor\",\"start\").call(c.font,a).text(d?S(n,m):n);var y=r.indentation+r.itemwidth+2*p.itemGap;h.positionText(g,y,0),d?g.call(h.makeEditable,{gd:e,text:n}).call(C,t,e,r).on(\"edit\",(function(n){this.text(S(n,m)).call(C,t,e,r);var a=l.trace._fullInput||{},s={};if(o.hasTransform(a,\"groupby\")){var c=o.getTransformIndices(a,\"groupby\"),h=c[c.length-1],f=i.keyedContainer(a,\"transforms[\"+h+\"].styles\",\"target\",\"value.name\");f.set(l.trace._group,n),s=f.constructUpdate()}else s.name=n;return a._isShape?o.call(\"_guiRelayout\",e,\"shapes[\"+u.index+\"].name\",s.name):o.call(\"_guiRestyle\",e,s,u.index)})):C(g,t,e,r)}function S(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||\"\").length;n>0;n--)t+=\" \";return t}function E(t,e,r){var a,o=e._context.doubleClickDelay,s=1,l=i.ensureSingle(t,\"rect\",r+\"toggle\",(function(t){e._context.staticPlot||t.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),t.call(u.fill,\"rgba(0,0,0,0)\")}));e._context.staticPlot||(l.on(\"mousedown\",(function(){(a=(new Date).getTime())-e._legendMouseDownTimeo&&(s=Math.max(s-1,1)),A(e,i,t,s,n.event)}})))}function C(t,e,r,n,i){n._inHover&&t.attr(\"data-notex\",!0),h.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=t.select(\"g[class*=math-group]\"),o=a.node(),s=P(r);r||(r=e._fullLayout[s]);var l,u,f=r.borderwidth,d=(n===b?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*m;if(o){var g=c.bBox(o);l=g.height,u=g.width,n===b?c.setTranslate(a,f,f+.75*l):c.setTranslate(a,0,.25*l)}else{var y=\".\"+s+(n===b?\"title\":\"\")+\"text\",v=t.select(y),x=h.lineCount(v),_=v.node();if(l=d*x,u=_?c.bBox(_).width:0,n===b)\"left\"===r.title.side&&(u+=2*p.itemGap),h.positionText(v,f+p.titlePad,f+d);else{var w=2*p.itemGap+r.indentation+r.itemwidth;i.groupTitle&&(w=p.itemGap,u-=r.indentation+r.itemwidth),h.positionText(v,w,-d*((x-1)/2-.3))}}n===b?(r._titleWidth=u,r._titleHeight=l):(i.lineHeight=d,i.height=Math.max(l,16)+3,i.width=u)}else t.remove()}(e,r,n,i)}))}function L(t){return i.isRightAnchor(t)?\"right\":i.isCenterAnchor(t)?\"center\":\"left\"}function I(t){return i.isBottomAnchor(t)?\"bottom\":i.isMiddleAnchor(t)?\"middle\":\"top\"}function P(t){return t._id||\"legend\"}t.exports=function(t,e){if(e)T(t,e);else{var r=t._fullLayout,i=r._legends;r._infolayer.selectAll('[class^=\"legend\"]').each((function(){var t=n.select(this),e=t.attr(\"class\").split(\" \")[0];e.match(w)&&-1===i.indexOf(e)&&t.remove()}));for(var a=0;aS&&(M=S)}k[a][0]._groupMinRank=M,k[a][0]._preGroupSort=a}var E=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(k.forEach((function(t,e){t[0]._preGroupSort=e})),k.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),a=0;ar?r:t}t.exports=function(t,e,r){var y=e._fullLayout;r||(r=y.legend);var v=\"constant\"===r.itemsizing,x=r.itemwidth,_=(x+2*p.itemGap)/2,b=o(_,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return v?n:Math.min(i,r)};function T(t,a,o){var u=t[0].trace,h=u.marker||{},f=h.line||{},p=h.cornerradius?\"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z\":\"M6,6H-6V-6H6Z\",d=o?u.visible&&u.type===o:i.traceIs(u,\"bar\"),m=n.select(a).select(\"g.legendpoints\").selectAll(\"path.legend\"+o).data(d?[t]:[]);m.enter().append(\"path\").classed(\"legend\"+o,!0).attr(\"d\",p).attr(\"transform\",b),m.exit().remove(),m.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,h.line,5,2);i.style(\"stroke-width\",o+\"px\");var p=a.mcc;if(!r._inHover&&\"mc\"in a){var d=c(h),m=d.mid;void 0===m&&(m=(d.max+d.min)/2),p=s.tryColorscale(h,\"\")(m)}var y=p||a.mc||h.color,v=h.pattern,x=v&&s.getPatternAttr(v.shape,0,\"\");if(x){var _=s.getPatternAttr(v.bgcolor,0,null),b=s.getPatternAttr(v.fgcolor,0,null),T=v.fgopacity,k=g(v.size,8,10),A=g(v.solidity,.5,1),M=\"legend-\"+u.uid;i.call(s.pattern,\"legend\",e,M,x,k,A,p,v.fillmode,_,b,T)}else i.call(l.fill,y);o&&l.stroke(i,a.mlc||f.color)}))}function k(t,r,o){var s=t[0],l=s.trace,c=o?l.visible&&l.type===o:i.traceIs(l,o),u=n.select(r).select(\"g.legendpoints\").selectAll(\"path.legend\"+o).data(c?[t]:[]);if(u.enter().append(\"path\").classed(\"legend\"+o,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",b),u.exit().remove(),u.size()){var p=l.marker||{},d=w(f(p.line.width,s.pts),p.line,5,2),m=\"pieLike\",g=a.minExtend(l,{marker:{line:{width:d}}},m),y=a.minExtend(s,{trace:g},m);h(u,y,g,e)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,\"g\",\"layers\");i.style(\"opacity\",t[0].trace.opacity);var s=r.indentation,l=r.valign,c=t[0].lineHeight,u=t[0].height;if(\"middle\"===l&&0===s||!c||!u)i.attr(\"transform\",null);else{var h={top:1,bottom:-1}[l]*(.5*(c-u+3))||0,f=r.indentation;i.attr(\"transform\",o(f,h))}i.selectAll(\"g.legendfill\").data([t]).enter().append(\"g\").classed(\"legendfill\",!0),i.selectAll(\"g.legendlines\").data([t]).enter().append(\"g\").classed(\"legendlines\",!0);var p=i.selectAll(\"g.legendsymbols\").data([t]);p.enter().append(\"g\").classed(\"legendsymbols\",!0),p.selectAll(\"g.legendpoints\").data([t]).enter().append(\"g\").classed(\"legendpoints\",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case\"histogram2d\":case\"heatmap\":o=[[\"M-15,-2V4H15V-2Z\"]],r=!0;break;case\"choropleth\":case\"choroplethmapbox\":case\"choroplethmap\":o=[[\"M-6,-6V6H6V-6Z\"]],r=!0;break;case\"densitymapbox\":case\"densitymap\":o=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],r=\"radial\";break;case\"cone\":o=[[\"M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 L6,0Z\"]],r=!1;break;case\"streamtube\":o=[[\"M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z\"]],r=!1;break;case\"surface\":o=[[\"M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z\"],[\"M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z\"]],r=!0;break;case\"mesh3d\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],r=!1;break;case\"volume\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],r=!0;break;case\"isosurface\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],r=!1}var u=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(o);u.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",b).style(\"stroke-miterlimit\",1),u.exit().remove(),u.each((function(t,o){var u,h=n.select(this),f=c(i),p=f.colorscale,m=f.reversescale;if(p){if(!r){var g=p.length;u=0===o?p[m?g-1:0][1]:1===o?p[m?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=i.vertexcolor||i.facecolor||i.color;u=a.isArrayOrTypedArray(y)?y[o]||y[0]:y}h.attr(\"d\",t[0]),u?h.call(l.fill,u):h.call((function(t){if(t.size()){var n=\"legendfill-\"+i.uid;s.gradient(t,e,n,d(m,\"radial\"===r),p,\"fill\")}}))}))})).each((function(t){var e=t[0].trace,r=\"waterfall\"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,\"waterfall\")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[[\"increasing\",\"M-6,-6V6H0Z\"],[\"totals\",\"M6,6H0L-6,-6H-0Z\"],[\"decreasing\",\"M6,6V-6H0Z\"]]:[[\"increasing\",\"M-6,-6V6H6Z\"],[\"decreasing\",\"M6,6V-6H-6Z\"]]);var o=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(a);o.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",b).style(\"stroke-miterlimit\",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr(\"d\",t[1]).style(\"stroke-width\",a+\"px\").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,\"funnel\")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(r.visible&&i.traceIs(r,\"box-violin\")?[t]:[]);o.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",b),o.exit().remove(),o.each((function(){var t=n.select(this);if(\"all\"!==r.boxpoints&&\"all\"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style(\"stroke-width\",i+\"px\").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var c=a.minExtend(r,{marker:{size:v?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});o.call(s.pointStyle,c,e)}}))})).each((function(t){k(t,this,\"funnelarea\")})).each((function(t){k(t,this,\"pie\")})).each((function(t){var r,i,o=m(t),l=o.showFill,h=o.showLine,f=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,y=o.anyLine,v=t[0],_=v.trace,b=c(_),T=b.colorscale,k=b.reversescale,A=u.hasMarkers(_)||!g?\"M5,0\":y?\"M5,-2\":\"M5,-3\",M=n.select(this),S=M.select(\".legendfill\").selectAll(\"path\").data(l||p?[t]:[]);if(S.enter().append(\"path\").classed(\"js-fill\",!0),S.exit().remove(),S.attr(\"d\",A+\"h\"+x+\"v6h-\"+x+\"z\").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e,!0);else{var r=\"legendfill-\"+_.uid;s.gradient(t,e,r,d(k),T,\"fill\")}})),h||f){var E=w(void 0,_.line,10,5);i=a.minExtend(_,{line:{width:E}}),r=[a.minExtend(v,{trace:i})]}var C=M.select(\".legendlines\").selectAll(\"path\").data(h||f?[r]:[]);C.enter().append(\"path\").classed(\"js-line\",!0),C.exit().remove(),C.attr(\"d\",A+(f?\"l\"+x+\",0.0001\":\"h\"+x)).call(h?s.lineGroupStyle:function(t){if(t.size()){var r=\"legendline-\"+_.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,\"stroke\")}})})).each((function(t){var r,i,o=m(t),l=o.anyFill,c=o.anyLine,h=o.showLine,f=o.showMarker,p=t[0],d=p.trace,g=!f&&!c&&!l&&u.hasText(d);function y(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(v&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(f||g||h){var _={},w={};if(f){_.mc=y(\"marker.color\",x),_.mx=y(\"marker.symbol\",x),_.mo=y(\"marker.opacity\",a.mean,[.2,1]),_.mlc=y(\"marker.line.color\",x),_.mlw=y(\"marker.line.width\",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var T=y(\"marker.size\",a.mean,[2,16],12);_.ms=T,w.marker.size=T}h&&(w.line={width:y(\"line.width\",x,[0,10],5)}),g&&(_.tx=\"Aa\",_.tp=y(\"textposition\",x),_.ts=10,_.tc=y(\"textfont.color\",x),_.tf=y(\"textfont.family\",x),_.tw=y(\"textfont.weight\",x),_.ty=y(\"textfont.style\",x),_.tv=y(\"textfont.variant\",x),_.tC=y(\"textfont.textcase\",x),_.tE=y(\"textfont.lineposition\",x),_.tS=y(\"textfont.shadow\",x)),r=[a.minExtend(p,_)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select(\"g.legendpoints\"),A=k.selectAll(\"path.scatterpts\").data(f?r:[]);A.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",b),A.exit().remove(),A.call(s.pointStyle,i,e),f&&(r[0].mrc=3);var M=k.selectAll(\"g.pointtext\").data(g?r:[]);M.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",b),M.exit().remove(),M.selectAll(\"text\").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(e.visible&&\"candlestick\"===e.type?[t,t]:[]);r.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",(function(t,e){return e?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"})).attr(\"transform\",b).style(\"stroke-miterlimit\",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?\"increasing\":\"decreasing\"],o=w(void 0,a.line,5,2);i.style(\"stroke-width\",o+\"px\").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(e.visible&&\"ohlc\"===e.type?[t,t]:[]);r.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",(function(t,e){return e?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"})).attr(\"transform\",b).style(\"stroke-miterlimit\",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?\"increasing\":\"decreasing\"],o=w(void 0,a.line,5,2);i.style(\"fill\",\"none\").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},50308:function(t,e,r){\"use strict\";r(87632),t.exports={editType:\"modebar\",orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"modebar\"},bgcolor:{valType:\"color\",editType:\"modebar\"},color:{valType:\"color\",editType:\"modebar\"},activecolor:{valType:\"color\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},add:{valType:\"string\",arrayOk:!0,dflt:\"\",editType:\"modebar\"},remove:{valType:\"string\",arrayOk:!0,dflt:\"\",editType:\"modebar\"}}},5832:function(t,e,r){\"use strict\";var n=r(33626),i=r(44122),a=r(5975),o=r(35188),s=r(28231).eraseActiveShape,l=r(34809),c=l._,u=t.exports={};function h(t,e){var r,i,o=e.currentTarget,s=o.getAttribute(\"data-attr\"),l=o.getAttribute(\"data-val\")||!0,c=t._fullLayout,u={},h=a.list(t,null,!0),f=c._cartesianSpikesEnabled;if(\"zoom\"===s){var p,d=\"in\"===l?.5:2,m=(1+d)/2,g=(1-d)/2;for(i=0;i1?(z=[\"toggleHover\"],O=[\"resetViews\"]):y?(P=[\"zoomInGeo\",\"zoomOutGeo\"],z=[\"hoverClosestGeo\"],O=[\"resetGeo\"]):g?(z=[\"hoverClosest3d\"],O=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):w?(P=[\"zoomInMapbox\",\"zoomOutMapbox\"],z=[\"toggleHover\"],O=[\"resetViewMapbox\"]):T?(P=[\"zoomInMap\",\"zoomOutMap\"],z=[\"toggleHover\"],O=[\"resetViewMap\"]):_?z=[\"hoverClosestGl2d\"]:v?z=[\"hoverClosestPie\"]:M?(z=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],O=[\"resetViewSankey\"]):z=[\"toggleHover\"],m&&z.push(\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"),(function(t){for(var e=0;e0)){var m=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a0?t.touches[0].clientX:0}function y(t,e,r,n){var i=o.ensureSingle(t,\"rect\",m.bgClassName,(function(t){t.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})})),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,u=-n._offsetShift,h=l.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(u,u),\"stroke-width\":h}).call(c.stroke,n.bordercolor).call(c.fill,n.bgcolor)}function v(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,\"clipPath\",n._clipId,(function(t){t.append(\"rect\").attr({x:0,y:0})})).select(\"rect\").attr({width:n._width,height:n._height})}function x(t,e,r,i){var s,c=e.calcdata,u=t.selectAll(\"g.\"+m.rangePlotClassName).data(r._subplotsWith,o.identity);u.enter().append(\"g\").attr(\"class\",(function(t){return m.rangePlotClassName+\" \"+t})).call(l.setClipUrl,i._clipId,e),u.order(),u.exit().remove(),u.each((function(t,o){var l=n.select(this),u=0===o,p=f.getFromId(e,t,\"y\"),d=p._name,m=i[d],g={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};r.rangebreaks&&(g.layout.xaxis.rangebreaks=r.rangebreaks),g.layout[d]={type:p.type,domain:[0,1],range:\"match\"!==m.rangemode?m.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(g.layout[d].rangebreaks=p.rangebreaks),a.supplyDefaults(g);var y=g._fullLayout.xaxis,v=g._fullLayout[d];y.clearCalc(),y.setScale(),v.clearCalc(),v.setScale();var x={id:t,plotgroup:l,xaxis:y,yaxis:v,isRangePlot:!0};u?s=x:(x.mainplot=\"xy\",x.mainplotinfo=s),h.rangePlot(e,x,function(t,e){for(var r=[],n=0;n=n.max)e=B[r+1];else if(t=n.pmax)e=B[r+1];else if(tr._length||v+b<0)return;u=y+b,p=v+b;break;case l:if(_=\"col-resize\",y+b>r._length)return;u=y+b,p=v;break;case c:if(_=\"col-resize\",v+b<0)return;u=y,p=v+b;break;default:_=\"ew-resize\",u=m,p=m+b}if(p=0;k--){var A=r.append(\"path\").attr(g).style(\"opacity\",k?.1:y).call(o.stroke,x).call(o.fill,v).call(s.dashLine,k?\"solid\":b,k?4+_:_);if(d(A,t,a),w){var M=l(t.layout,\"selections\",a);A.style({cursor:\"move\"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(c,t);i(E,A,S)}else A.style(\"pointer-events\",k?\"all\":\"none\");T[k]=A}var C=T[0];T[1].node().addEventListener(\"click\",(function(){return function(t,e){if(f(t)){var r=+e.node().getAttribute(\"data-index\");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void m(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=m,h(t)}}}(t,C)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,\"clip\"+e._fullLayout._uid+n,e)}function m(t){f(t)&&t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,h(t))}t.exports={draw:h,drawOne:p,activateLastSelection:function(t){if(f(t)){var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=m,h(t)}}}},52307:function(t,e,r){\"use strict\";var n=r(94850).T,i=r(93049).extendFlat;t.exports={newselection:{mode:{valType:\"enumerated\",values:[\"immediate\",\"gradual\"],dflt:\"immediate\",editType:\"none\"},line:{color:{valType:\"color\",editType:\"none\"},width:{valType:\"number\",min:1,dflt:1,editType:\"none\"},dash:i({},n,{dflt:\"dot\",editType:\"none\"}),editType:\"none\"},editType:\"none\"},activeselection:{fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"none\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"none\"},editType:\"none\"}}},43028:function(t){\"use strict\";t.exports=function(t,e,r){r(\"newselection.mode\"),r(\"newselection.line.width\")&&(r(\"newselection.line.color\"),r(\"newselection.line.dash\")),r(\"activeselection.fillcolor\"),r(\"activeselection.opacity\")}},51817:function(t,e,r){\"use strict\";var n=r(70414).selectMode,i=r(78534).clearOutline,a=r(81055),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute(\"d\"),c=e.gd,u=c._fullLayout.newselection,h=e.plotinfo,f=h.xaxis,p=h.yaxis,d=e.isActiveSelection,m=e.dragmode,g=(c.layout||{}).selections||[];if(!n(m)&&void 0!==d){var y=c._fullLayout._activeSelectionIndex;if(y-1,_=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){Z(t,e,a);var b=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((n+=e.selectedpoints.length)>1)return!1}return 1===n}(s)&&(f=J(b))){for(o&&o.remove(),g=0;g=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=m(r);if(s||l){var c,u,h=o.selectAll(\".select-outline-\"+n.id);h&&i._fullLayout._outlining&&(s&&(c=T(h,t)),c&&a.call(\"_guiRelayout\",i,{shapes:c}),l&&!U(t)&&(u=k(h,t)),u&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call(\"_guiRelayout\",i,{selections:u}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function Y(t){return t._id}function X(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(Y),c=r.map(Y);for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function K(t,e,r){var n,i;for(n=0;n-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ct(et);ut([L(t,nt,\"x\"),L(t,pt,\"y\")])(Q,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ht(t,Q),f._reselect=!1}if(!a&&f._deselect){var mt=f._deselect;(function(t,e,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;C.done(Mt).then((function(){if(C.clear(Mt),2===t){for(_t.remove(),J=0;J-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,_t),\"event\"===r&&ht(k,void 0);l.click(k,e,I.id)})).catch(M.error)}},n.doneFn=function(){kt.remove(),C.done(Mt).then((function(){C.clear(Mt),!S&&$&&n.selectionDefs&&($.subtract=xt,n.selectionDefs.push($),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,Y)),(S||x)&&W(n,S),n.doneFnCompleted&&n.doneFnCompleted(St),_&&ht(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:W,selectOnClick:V}},43144:function(t,e,r){\"use strict\";var n=r(50222),i=r(80337),a=r(36640).line,o=r(94850).T,s=r(93049).extendFlat,l=r(78032).templatedArray,c=(r(35081),r(9829)),u=r(3208).LF,h=r(41235);t.exports=l(\"shape\",{visible:s({},c.visible,{editType:\"calc+arraydraw\"}),showlegend:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},legend:s({},c.legend,{editType:\"calc+arraydraw\"}),legendgroup:s({},c.legendgroup,{editType:\"calc+arraydraw\"}),legendgrouptitle:{text:s({},c.legendgrouptitle.text,{editType:\"calc+arraydraw\"}),font:i({editType:\"calc+arraydraw\"}),editType:\"calc+arraydraw\"},legendrank:s({},c.legendrank,{editType:\"calc+arraydraw\"}),legendwidth:s({},c.legendwidth,{editType:\"calc+arraydraw\"}),type:{valType:\"enumerated\",values:[\"circle\",\"rect\",\"path\",\"line\"],editType:\"calc+arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\",\"between\"],dflt:\"above\",editType:\"arraydraw\"},xref:s({},n.xref,{}),xsizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},xanchor:{valType:\"any\",editType:\"calc+arraydraw\"},x0:{valType:\"any\",editType:\"calc+arraydraw\"},x1:{valType:\"any\",editType:\"calc+arraydraw\"},x0shift:{valType:\"number\",dflt:0,min:-1,max:1,editType:\"calc\"},x1shift:{valType:\"number\",dflt:0,min:-1,max:1,editType:\"calc\"},yref:s({},n.yref,{}),ysizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},yanchor:{valType:\"any\",editType:\"calc+arraydraw\"},y0:{valType:\"any\",editType:\"calc+arraydraw\"},y1:{valType:\"any\",editType:\"calc+arraydraw\"},y0shift:{valType:\"number\",dflt:0,min:-1,max:1,editType:\"calc\"},y1shift:{valType:\"number\",dflt:0,min:-1,max:1,editType:\"calc\"},path:{valType:\"string\",editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},line:{color:s({},a.color,{editType:\"arraydraw\"}),width:s({},a.width,{editType:\"calc+arraydraw\"}),dash:s({},o,{editType:\"arraydraw\"}),editType:\"calc+arraydraw\"},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\",editType:\"arraydraw\"},editable:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},label:{text:{valType:\"string\",dflt:\"\",editType:\"arraydraw\"},texttemplate:u({},{keys:Object.keys(h)}),font:i({editType:\"calc+arraydraw\",colorEditType:\"arraydraw\"}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\",\"start\",\"middle\",\"end\"],editType:\"arraydraw\"},textangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calc+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],editType:\"calc+arraydraw\"},padding:{valType:\"number\",dflt:3,min:0,editType:\"arraydraw\"},editType:\"arraydraw\"},editType:\"arraydraw\"})},44959:function(t,e,r){\"use strict\";var n=r(34809),i=r(29714),a=r(2956),o=r(49728);function s(t){return c(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return c(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function c(t,e,r,i,s,l){var c=t/2,u=l;if(\"pixel\"===e){var h=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],f=n.aggNums(Math.max,null,h),p=n.aggNums(Math.min,null,h),d=p<0?Math.abs(p)+c:c,m=f>0?f+c:c;return{ppad:c,ppadplus:u?d:m,ppadminus:u?m:d}}return{ppad:c}}function u(t,e,r){var n,i,s=\"x\"===t._id.charAt(0)?\"x\":\"y\",l=\"category\"===t.type||\"multicategory\"===t.type,c=0,u=0,h=l?t.r2c:t.d2c;if(\"scaled\"===e[s+\"sizemode\"]?(n=e[s+\"0\"],i=e[s+\"1\"],l&&(c=e[s+\"0shift\"],u=e[s+\"1shift\"])):(n=e[s+\"anchor\"],i=e[s+\"anchor\"]),void 0!==n)return[h(n)+c,h(i)+u];if(e.path){var f,p,d,m,g=1/0,y=-1/0,v=e.path.match(a.segmentRE);for(\"date\"===t.type&&(h=o.decodeDate(h)),f=0;fy&&(y=m)));return y>=g?[g,y]:void 0}}t.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o=t?e-n:n-e,-180/Math.PI*Math.atan2(i,a)}(x,b,_,w):0),A.call((function(e){return e.call(o.font,k).attr({}),a.convertToTspans(e,t),e}));var G=function(t,e,r,n,i,a,o){var s,l,c,u,f=i.label.textposition,p=i.label.textangle,d=i.label.padding,m=i.type,g=Math.PI/180*a,y=Math.sin(g),v=Math.cos(g),x=i.label.xanchor,_=i.label.yanchor;if(\"line\"===m){\"start\"===f?(s=t,l=e):\"end\"===f?(s=r,l=n):(s=(t+r)/2,l=(e+n)/2),\"auto\"===x&&(x=\"start\"===f?\"auto\"===p?r>t?\"left\":rt?\"right\":rt?\"right\":rt?\"left\":r1&&(2!==t.length||\"Z\"!==t[1][0])&&(0===L&&(t[0][0]=\"M\"),e[C]=t,A(),M())}}()}}function V(t,r){!function(t,r){if(e.length)for(var n=0;nb?(M=p,L=\"y0\",S=b,I=\"y1\"):(M=b,L=\"y1\",S=p,I=\"y0\"),it(n),st(l,r),function(t,e,r){var n=e.xref,i=e.yref,a=o.getFromId(r,n),s=o.getFromId(r,i),l=\"\";\"paper\"===n||a.autorange||(l+=n),\"paper\"===i||s.autorange||(l+=i),f.setClipUrl(t,l?\"clip\"+r._fullLayout._uid+l:null,r)}(e,r,t),nt.moveFn=\"move\"===D?at:ot,nt.altKey=n.altKey)},doneFn:function(){_(t)||(m(e),lt(l),T(e,t,r),i.call(\"_guiRelayout\",t,u.getUpdateObj()))},clickFn:function(){_(t)||lt(l)}};function it(r){if(_(t))D=null;else if(j)D=\"path\"===r.target.tagName?\"move\":\"start-point\"===r.target.attributes[\"data-line-point\"].value?\"resize-over-start-point\":\"resize-over-end-point\";else{var n=nt.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!U&&i>R&&a>F&&!r.shiftKey?d.getCursor(o/i,1-s/a):\"move\";m(e,l),D=l.split(\"-\")[0]}}function at(n,i){if(\"path\"===r.type){var a=function(t){return t},o=a,u=a;B?V(\"xanchor\",r.xanchor=tt(w+n)):(o=function(t){return tt(K(t)+n)},H&&\"date\"===H.type&&(o=y.encodeDate(o))),N?V(\"yanchor\",r.yanchor=et(A+i)):(u=function(t){return et(Q(t)+i)},Z&&\"date\"===Z.type&&(u=y.encodeDate(u))),V(\"path\",r.path=k(O,o,u))}else B?V(\"xanchor\",r.xanchor=tt(w+n)):(V(\"x0\",r.x0=tt(h+n)),V(\"x1\",r.x1=tt(x+n))),N?V(\"yanchor\",r.yanchor=et(A+i)):(V(\"y0\",r.y0=et(p+i)),V(\"y1\",r.y1=et(b+i)));e.attr(\"d\",v(t,r)),st(l,r),c(t,s,r,q)}function ot(n,i){if(U){var a=function(t){return t},o=a,u=a;B?V(\"xanchor\",r.xanchor=tt(w+n)):(o=function(t){return tt(K(t)+n)},H&&\"date\"===H.type&&(o=y.encodeDate(o))),N?V(\"yanchor\",r.yanchor=et(A+i)):(u=function(t){return et(Q(t)+i)},Z&&\"date\"===Z.type&&(u=y.encodeDate(u))),V(\"path\",r.path=k(O,o,u))}else if(j){if(\"resize-over-start-point\"===D){var f=h+n,d=N?p-i:p+i;V(\"x0\",r.x0=B?f:tt(f)),V(\"y0\",r.y0=N?d:et(d))}else if(\"resize-over-end-point\"===D){var m=x+n,g=N?b-i:b+i;V(\"x1\",r.x1=B?m:tt(m)),V(\"y1\",r.y1=N?g:et(g))}}else{var _=function(t){return-1!==D.indexOf(t)},T=_(\"n\"),G=_(\"s\"),W=_(\"w\"),Y=_(\"e\"),X=T?M+i:M,$=G?S+i:S,J=W?E+n:E,rt=Y?C+n:C;N&&(T&&(X=M-i),G&&($=S-i)),(!N&&$-X>F||N&&X-$>F)&&(V(L,r[L]=N?X:et(X)),V(I,r[I]=N?$:et($))),rt-J>R&&(V(P,r[P]=B?J:tt(J)),V(z,r[z]=B?rt:tt(rt)))}e.attr(\"d\",v(t,r)),st(l,r),c(t,s,r,q)}function st(t,e){(B||N)&&function(){var r=\"path\"!==e.type,n=t.selectAll(\".visual-cue\").data([0]);n.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":1}).classed(\"visual-cue\",!0);var i=K(B?e.xanchor:a.midRange(r?[e.x0,e.x1]:y.extractPathCoords(e.path,g.paramIsX))),o=Q(N?e.yanchor:a.midRange(r?[e.y0,e.y1]:y.extractPathCoords(e.path,g.paramIsY)));if(i=y.roundPositionForSharpStrokeRendering(i,1),o=y.roundPositionForSharpStrokeRendering(o,1),B&&N){var s=\"M\"+(i-1-1)+\",\"+(o-1-1)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";n.attr(\"d\",s)}else if(B){var l=\"M\"+(i-1-1)+\",\"+(o-9-1)+\"v18 h2 v-18 Z\";n.attr(\"d\",l)}else{var c=\"M\"+(i-9-1)+\",\"+(o-1-1)+\"h18 v2 h-18 Z\";n.attr(\"d\",c)}}()}function lt(t){t.selectAll(\".visual-cue\").remove()}d.init(nt),rt.node().onmousemove=it}(t,F,u,e,r,D):!0===u.editable&&F.style(\"pointer-events\",z||h.opacity(C)*E<=.5?\"stroke\":\"all\");F.node().addEventListener(\"click\",(function(){return function(t,e){if(b(t)){var r=+e.node().getAttribute(\"data-index\");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void A(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=A,x(t)}}}(t,F)}))}u._input&&!0===u.visible&&(\"above\"===u.layer?M(t._fullLayout._shapeUpperLayer):\"paper\"===u.xref||\"paper\"===u.yref?M(t._fullLayout._shapeLowerLayer):\"between\"===u.layer?M(w.shapelayerBetween):w._hadPlotinfo?M((w.mainplotinfo||w).shapelayer):M(t._fullLayout._shapeLowerLayer))}function T(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,\"\").replace(/[xyz][1-9]* *domain/g,\"\");f.setClipUrl(t,n?\"clip\"+e._fullLayout._uid+n:null,e)}function k(t,e,r){return t.replace(g.segmentRE,(function(t){var n=0,i=t.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+t.substr(1).replace(g.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function A(t){b(t)&&t._fullLayout._activeShapeIndex>=0&&(u(t),delete t._fullLayout._activeShapeIndex,x(t))}t.exports={draw:x,drawOne:w,eraseActiveShape:function(t){if(b(t)){u(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e0&&lp&&(t=\"X\"),t}));return a>p&&(d=d.replace(/[\\s,]*X.*/,\"\"),i.log(\"Ignoring extra params in segment \"+t)),u+d}))}(r,l,u);if(\"pixel\"===r.xsizemode){var A=l(r.xanchor);h=A+r.x0+b,f=A+r.x1+w}else h=l(r.x0)+b,f=l(r.x1)+w;if(\"pixel\"===r.ysizemode){var M=u(r.yanchor);p=M-r.y0+T,d=M-r.y1+k}else p=u(r.y0)+T,d=u(r.y1)+k;if(\"line\"===m)return\"M\"+h+\",\"+p+\"L\"+f+\",\"+d;if(\"rect\"===m)return\"M\"+h+\",\"+p+\"H\"+f+\"V\"+d+\"H\"+h+\"Z\";var S=(h+f)/2,E=(p+d)/2,C=Math.abs(S-h),L=Math.abs(E-p),I=\"A\"+C+\",\"+L,P=S+C+\",\"+E;return\"M\"+P+I+\" 0 1,1 \"+S+\",\"+(E-L)+I+\" 0 0,1 \"+P+\"Z\"}},43701:function(t,e,r){\"use strict\";var n=r(28231);t.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:r(43144),supplyLayoutDefaults:r(74367),supplyDrawNewShapeDefaults:r(85522),includeBasePlot:r(20706)(\"shapes\"),calcAutorange:r(44959),draw:n.draw,drawOne:n.drawOne}},41235:function(t){\"use strict\";function e(t,e){return e?e.d2l(t):t}function r(t,e){return e?e.l2d(t):t}function n(t){return t.x0shift||0}function i(t){return t.x1shift||0}function a(t){return t.y0shift||0}function o(t){return t.y1shift||0}function s(t,r){return e(t.x1,r)+i(t)-e(t.x0,r)-n(t)}function l(t,r,n){return e(t.y1,n)+o(t)-e(t.y0,n)-a(t)}t.exports={x0:function(t){return t.x0},x1:function(t){return t.x1},y0:function(t){return t.y0},y1:function(t){return t.y1},slope:function(t,e,r){return\"line\"!==t.type?void 0:l(t,0,r)/s(t,e)},dx:s,dy:l,width:function(t,e){return Math.abs(s(t,e))},height:function(t,e,r){return Math.abs(l(t,0,r))},length:function(t,e,r){return\"line\"!==t.type?void 0:Math.sqrt(Math.pow(s(t,e),2)+Math.pow(l(t,0,r),2))},xcenter:function(t,a){return r((e(t.x1,a)+i(t)+e(t.x0,a)+n(t))/2,a)},ycenter:function(t,n,i){return r((e(t.y1,i)+o(t)+e(t.y0,i)+a(t))/2,i)}}},8606:function(t,e,r){\"use strict\";var n=r(80337),i=r(57891),a=r(93049).extendDeepAll,o=r(13582).overrideAll,s=r(49722),l=r(78032).templatedArray,c=r(64194),u=l(\"step\",{visible:{valType:\"boolean\",dflt:!0},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\"},value:{valType:\"string\"},execute:{valType:\"boolean\",dflt:!0}});t.exports=o(l(\"slider\",{visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:u,lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",min:-2,max:3,dflt:0},pad:a(i({editType:\"arraydraw\"}),{},{t:{dflt:20}}),xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3,dflt:0},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},transition:{duration:{valType:\"number\",min:0,dflt:150},easing:{valType:\"enumerated\",values:s.transition.easing.values,dflt:\"cubic-in-out\"}},currentvalue:{visible:{valType:\"boolean\",dflt:!0},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},offset:{valType:\"number\",dflt:10},prefix:{valType:\"string\"},suffix:{valType:\"string\"},font:n({})},font:n({}),activebgcolor:{valType:\"color\",dflt:c.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:c.railBgColor},bordercolor:{valType:\"color\",dflt:c.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:c.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:c.tickLength},tickcolor:{valType:\"color\",dflt:c.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:c.minorTickLength}}),\"arraydraw\",\"from-root\")},64194:function(t){\"use strict\";t.exports={name:\"sliders\",containerClassName:\"slider-container\",groupClassName:\"slider-group\",inputAreaClass:\"slider-input-area\",railRectClass:\"slider-rail-rect\",railTouchRectClass:\"slider-rail-touch-rect\",gripRectClass:\"slider-grip-rect\",tickRectClass:\"slider-tick-rect\",inputProxyClass:\"slider-input-proxy\",labelsClass:\"slider-labels\",labelGroupClass:\"slider-label-group\",labelClass:\"slider-label\",currentValueClass:\"slider-current-value\",railHeight:5,menuIndexAttrName:\"slider-active-index\",autoMarginIdRoot:\"slider-\",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:\"#bec8d9\",railBgColor:\"#f8fafc\",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:\"#bec8d9\",gripBgColor:\"#f6f8fa\",gripBgActiveColor:\"#dbdde0\",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:\"#333\",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:\"#333\",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},74537:function(t,e,r){\"use strict\";var n=r(34809),i=r(59008),a=r(8606),o=r(64194).name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:\"steps\",handleItemDefaults:c}),l=0,u=0;u0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr(\"transform\",l(o-.5*h.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+h.stepInset+(r.inputAreaLength-2*h.stepInset)*Math.min(1,Math.max(0,e))}function C(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-h.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*h.stepInset-2*r.inputAreaStart)))}function L(t,e,r){var n=r._dims,i=s.ensureSingle(t,\"rect\",h.railTouchRectClass,(function(n){n.call(A,e,t,r).style(\"pointer-events\",\"all\")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,h.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr(\"opacity\",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function I(t,e){var r=e._dims,n=r.inputAreaLength-2*h.railInset,i=s.ensureSingle(t,\"rect\",h.railRectClass);i.attr({width:n,height:h.railWidth,rx:h.railRadius,ry:h.railRadius,\"shape-rendering\":\"crispEdges\"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\"),o.setTranslate(i,h.railInset,.5*(r.inputAreaWidth-h.railWidth)+r.currentValueTotalHeight)}t.exports=function(t){var e=t._context.staticPlot,r=t._fullLayout,a=function(t,e){for(var r=t[h.name],n=[],i=0;i0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(s.enter().append(\"g\").classed(h.containerClassName,!0).style(\"cursor\",e?null:\"ew-resize\"),s.exit().each((function(){n.select(this).selectAll(\"g.\"+h.groupClassName).each(l)})).remove(),0!==a.length){var c=s.selectAll(\"g.\"+h.groupClassName).data(a,y);c.enter().append(\"g\").classed(h.groupClassName,!0),c.exit().each(l).remove();for(var u=0;u0||T<0){var E={left:[-k,0],right:[k,0],top:[0,-k],bottom:[0,k]}[b.side];a.attr(\"transform\",l(E[0],E[1]))}}}function ft(t,e){t.text(e).on(\"mouseover.opacity\",(function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style(\"opacity\",1)})).on(\"mouseout.opacity\",(function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style(\"opacity\",0)}))}if(at.call(ct,ot),et&&(S?at.on(\".opacity\",null):(ft(at,x),E=!0),at.call(h.makeEditable,{gd:t}).on(\"edit\",(function(e){void 0!==_?o.call(\"_guiRestyle\",t,v,e,_):o.call(\"_guiRelayout\",t,v,e)})).on(\"cancel\",(function(){this.text(this.attr(\"data-unformatted\")).call(ct)})).on(\"input\",(function(t){this.text(t||\" \").call(h.positionText,w.x,w.y)})),N)){if(N&&!S){var pt=at.node().getBBox(),dt=pt.y+pt.height+1.6*W;ot.attr(\"y\",dt)}V?ot.on(\".opacity\",null):(ft(ot,j),q=!0),ot.call(h.makeEditable,{gd:t}).on(\"edit\",(function(e){o.call(\"_guiRelayout\",t,\"title.subtitle.text\",e)})).on(\"cancel\",(function(){this.text(this.attr(\"data-unformatted\")).call(ct)})).on(\"input\",(function(t){this.text(t||\" \").call(h.positionText,ot.attr(\"x\"),ot.attr(\"y\"))}))}return at.classed(\"js-placeholder\",E),ot&&ot.classed(\"js-placeholder\",q),k},SUBTITLE_PADDING_EM:1.6,SUBTITLE_PADDING_MATHJAX_EM:1.6}},85389:function(t,e,r){\"use strict\";var n=r(80337),i=r(10229),a=r(93049).extendFlat,o=r(13582).overrideAll,s=r(57891),l=r(78032).templatedArray,c=l(\"button\",{visible:{valType:\"boolean\"},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},args2:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\",dflt:\"\"},execute:{valType:\"boolean\",dflt:!0}});t.exports=o(l(\"updatemenu\",{_arrayAttrRegexps:[/^updatemenus\\[(0|[1-9][0-9]+)\\]\\.buttons/],visible:{valType:\"boolean\"},type:{valType:\"enumerated\",values:[\"dropdown\",\"buttons\"],dflt:\"dropdown\"},direction:{valType:\"enumerated\",values:[\"left\",\"right\",\"up\",\"down\"],dflt:\"down\"},active:{valType:\"integer\",min:-1,dflt:0},showactive:{valType:\"boolean\",dflt:!0},buttons:c,x:{valType:\"number\",min:-2,max:3,dflt:-.05},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"right\"},y:{valType:\"number\",min:-2,max:3,dflt:1},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},pad:a(s({editType:\"arraydraw\"}),{}),font:n({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:i.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")},71559:function(t){\"use strict\";t.exports={name:\"updatemenus\",containerClassName:\"updatemenu-container\",headerGroupClassName:\"updatemenu-header-group\",headerClassName:\"updatemenu-header\",headerArrowClassName:\"updatemenu-header-arrow\",dropdownButtonGroupClassName:\"updatemenu-dropdown-button-group\",dropdownButtonClassName:\"updatemenu-dropdown-button\",buttonClassName:\"updatemenu-button\",itemRectClassName:\"updatemenu-item-rect\",itemTextClassName:\"updatemenu-item-text\",menuIndexAttrName:\"updatemenu-active-index\",autoMarginIdRoot:\"updatemenu-\",blankHeaderOpts:{label:\" \"},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\",arrowSymbol:{left:\"◄\",right:\"►\",up:\"▲\",down:\"▼\"}}},42746:function(t,e,r){\"use strict\";var n=r(34809),i=r(59008),a=r(85389),o=r(71559).name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o(\"visible\",i(t,e,{name:\"buttons\",handleItemDefaults:c}).length>0)&&(o(\"active\"),o(\"direction\"),o(\"type\"),o(\"showactive\"),o(\"x\"),o(\"y\"),n.noneOrAll(t,e,[\"x\",\"y\"]),o(\"xanchor\"),o(\"yanchor\"),o(\"pad.t\"),o(\"pad.r\"),o(\"pad.b\"),o(\"pad.l\"),n.coerceFont(o,\"font\",r.font),o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\"),o(\"borderwidth\"))}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r(\"visible\",\"skip\"===t.method||Array.isArray(t.args))&&(r(\"method\"),r(\"args\"),r(\"args2\"),r(\"label\"),r(\"execute\"))}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},40974:function(t,e,r){\"use strict\";var n=r(45568),i=r(44122),a=r(78766),o=r(62203),s=r(34809),l=r(30635),c=r(78032).arrayEditor,u=r(4530).LINE_SPACING,h=r(71559),f=r(21736);function p(t){return t._index}function d(t,e){return+t.attr(h.menuIndexAttrName)===e._index}function m(t,e,r,n,i,a,o,s){e.active=o,c(t.layout,h.name,e).applyUpdate(\"active\",o),\"buttons\"===e.type?y(t,n,null,null,e):\"dropdown\"===e.type&&(i.attr(h.menuIndexAttrName,\"-1\"),g(t,n,i,a,e),s||y(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,\"g\",h.headerClassName,(function(t){t.style(\"pointer-events\",\"all\")})),l=i._dims,c=i.active,u=i.buttons[c]||h.blankHeaderOpts,f={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(v,i,u,t).call(M,i,f,p),s.ensureSingle(e,\"text\",h.headerArrowClassName,(function(t){t.attr(\"text-anchor\",\"end\").call(o.font,i.font).text(h.arrowSymbol[i.direction])})).attr({x:l.headerWidth-h.arrowOffsetX+i.pad.l,y:l.headerHeight/2+h.textOffsetY+i.pad.t}),a.on(\"click\",(function(){r.call(S,String(d(r,i)?-1:i._index)),y(t,e,r,n,i)})),a.on(\"mouseover\",(function(){a.call(w)})),a.on(\"mouseout\",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr(\"pointer-events\",\"all\");var l=function(t){return-1==+t.attr(h.menuIndexAttrName)}(r)&&\"buttons\"!==o.type?[]:o.buttons,c=\"dropdown\"===o.type?h.dropdownButtonClassName:h.buttonClassName,u=r.selectAll(\"g.\"+c).data(s.filterVisible(l)),f=u.enter().append(\"g\").classed(c,!0),p=u.exit();\"dropdown\"===o.type?(f.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),p.transition().attr(\"opacity\",\"0\").remove()):p.remove();var d=0,g=0,y=o._dims,x=-1!==[\"up\",\"down\"].indexOf(o.direction);\"dropdown\"===o.type&&(x?g=y.headerHeight+h.gapButtonHeader:d=y.headerWidth+h.gapButtonHeader),\"dropdown\"===o.type&&\"up\"===o.direction&&(g=-h.gapButtonHeader+h.gapButton-y.openHeight),\"dropdown\"===o.type&&\"left\"===o.direction&&(d=-h.gapButtonHeader+h.gapButton-y.openWidth);var _={x:y.lx+d+o.pad.l,y:y.ly+g+o.pad.t,yPad:h.gapButton,xPad:h.gapButton,index:0},k={l:_.x+o.borderwidth,t:_.y+o.borderwidth};u.each((function(s,l){var c=n.select(this);c.call(v,o,s,t).call(M,o,_),c.on(\"click\",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(m(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(m(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit(\"plotly_buttonclicked\",{menu:o,button:s,active:o.active}))})),c.on(\"mouseover\",(function(){c.call(w)})),c.on(\"mouseout\",(function(){c.call(T,o),u.call(b,o)}))})),u.call(b,o),x?(k.w=Math.max(y.openWidth,y.headerWidth),k.h=_.y-k.t):(k.w=_.x-k.l,k.h=Math.max(y.openHeight,y.headerHeight)),k.direction=o.direction,a&&(u.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u=\"up\"===c||\"down\"===c,f=i._dims,p=i.active;if(u)for(s=0,l=0;l0?[0]:[]);if(o.enter().append(\"g\").classed(h.containerClassName,!0).style(\"cursor\",\"pointer\"),o.exit().each((function(){n.select(this).selectAll(\"g.\"+h.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll(\"g.\"+h.headerGroupClassName).data(r,p);l.enter().append(\"g\").classed(h.headerGroupClassName,!0);for(var c=s.ensureSingle(o,\"g\",h.dropdownButtonGroupClassName,(function(t){t.style(\"pointer-events\",\"all\")})),u=0;uw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+y;E+M>c&&(E=c-M);var C=this.container.selectAll(\"rect.scrollbar-horizontal\").data(k?[0]:[]);C.exit().on(\".drag\",null).remove(),C.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(i.fill,s.barColor),k?(this.hbar=C.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=y>T,I=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,z=d+m,O=g;z+I>l&&(z=l-I);var D=this.container.selectAll(\"rect.scrollbar-vertical\").data(L?[0]:[]);D.exit().on(\".drag\",null).remove(),D.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(i.fill,s.barColor),L?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:z,y:O,width:I,height:P}),this._vbarYMin=O+P/2,this._vbarTranslateMax=T-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=L?h+I+.5:h+.5,N=f-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll(\"#\"+R).data(k||L?[0]:[]);if(U.exit().remove(),U.enter().append(\"clipPath\").attr(\"id\",R).append(\"rect\"),k||L?(this._clipRect=U.select(\"rect\").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:m,height:y})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),k||L){var V=n.behavior.drag().on(\"dragstart\",(function(){n.event.sourceEvent.preventDefault()})).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(V);var q=n.behavior.drag().on(\"dragstart\",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on(\"drag\",this._onBarDrag.bind(this));k&&this.hbar.on(\".drag\",null).call(q),L&&this.vbar.on(\".drag\",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(\".drag\",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(\".drag\",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},4530:function(t){\"use strict\";t.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}}},35081:function(t){\"use strict\";t.exports={axisRefDescription:function(t,e,r){return[\"If set to a\",t,\"axis id (e.g. *\"+t+\"* or\",\"*\"+t+\"2*), the `\"+t+\"` position refers to a\",t,\"coordinate. If set to *paper*, the `\"+t+\"`\",\"position refers to the distance from the\",e,\"of the plotting\",\"area in normalized coordinates where *0* (*1*) corresponds to the\",e,\"(\"+r+\"). If set to a\",t,\"axis ID followed by\",\"*domain* (separated by a space), the position behaves like for\",\"*paper*, but refers to the distance in fractions of the domain\",\"length from the\",e,\"of the domain of that axis: e.g.,\",\"*\"+t+\"2 domain* refers to the domain of the second\",t,\" axis and a\",t,\"position of 0.5 refers to the\",\"point between the\",e,\"and the\",r,\"of the domain of the\",\"second\",t,\"axis.\"].join(\" \")}}},20909:function(t){\"use strict\";t.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"▲\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"▼\"}}},87296:function(t){\"use strict\";t.exports={FORMAT_LINK:\"https://github.com/d3/d3-format/tree/v1.4.5#d3-format\",DATE_FORMAT_LINK:\"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format\"}},20726:function(t){\"use strict\";t.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}},84770:function(t){\"use strict\";t.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},49467:function(t){\"use strict\";t.exports={circle:\"●\",\"circle-open\":\"○\",square:\"■\",\"square-open\":\"□\",diamond:\"◆\",\"diamond-open\":\"◇\",cross:\"+\",x:\"❌\"}},20438:function(t){\"use strict\";t.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},63821:function(t){\"use strict\";t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,ONEMILLI:1,ONEMICROSEC:.001,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:\"−\"}},1837:function(t,e){\"use strict\";e.CSS_DECLARATIONS=[[\"image-rendering\",\"optimizeSpeed\"],[\"image-rendering\",\"-moz-crisp-edges\"],[\"image-rendering\",\"-o-crisp-edges\"],[\"image-rendering\",\"-webkit-optimize-contrast\"],[\"image-rendering\",\"optimize-contrast\"],[\"image-rendering\",\"crisp-edges\"],[\"image-rendering\",\"pixelated\"]],e.STYLE=e.CSS_DECLARATIONS.map((function(t){return t.join(\": \")+\"; \"})).join(\"\")},62972:function(t,e){\"use strict\";e.xmlns=\"http://www.w3.org/2000/xmlns/\",e.svg=\"http://www.w3.org/2000/svg\",e.xlink=\"http://www.w3.org/1999/xlink\",e.svgAttrs={xmlns:e.svg,\"xmlns:xlink\":e.xlink}},17430:function(t,e,r){\"use strict\";e.version=r(29697).version,r(71116),r(6713);for(var n=r(33626),i=e.register=n.register,a=r(90742),o=Object.keys(a),s=0;s\",\"\",\" \",\"\",\" plotly-logomark\",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\"\"].join(\"\")}}},32546:function(t,e){\"use strict\";e.isLeftAnchor=function(t){return\"left\"===t.xanchor||\"auto\"===t.xanchor&&t.x<=1/3},e.isCenterAnchor=function(t){return\"center\"===t.xanchor||\"auto\"===t.xanchor&&t.x>1/3&&t.x<2/3},e.isRightAnchor=function(t){return\"right\"===t.xanchor||\"auto\"===t.xanchor&&t.x>=2/3},e.isTopAnchor=function(t){return\"top\"===t.yanchor||\"auto\"===t.yanchor&&t.y>=2/3},e.isMiddleAnchor=function(t){return\"middle\"===t.yanchor||\"auto\"===t.yanchor&&t.y>1/3&&t.y<2/3},e.isBottomAnchor=function(t){return\"bottom\"===t.yanchor||\"auto\"===t.yanchor&&t.y<=1/3}},44313:function(t,e,r){\"use strict\";var n=r(98953),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function c(t,e){return a(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function h(t,e,r,n,i,a,c){i=i||0,a=a||0;var u,h,f,p,d,m=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}m?(u=0,h=o,f=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return h(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return h(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return h(t,e,r,n,i,a,1)}}},87800:function(t,e,r){\"use strict\";var n=r(93229).decode,i=r(56174),a=Array.isArray,o=ArrayBuffer,s=DataView;function l(t){return o.isView(t)&&!(t instanceof s)}function c(t){return a(t)||l(t)}e.isTypedArray=l,e.isArrayOrTypedArray=c,e.isArray1D=function(t){return!c(t[0])},e.ensureArray=function(t,e){return a(t)||(t=[]),t.length=e,t};var u={u1c:\"undefined\"==typeof Uint8ClampedArray?void 0:Uint8ClampedArray,i1:\"undefined\"==typeof Int8Array?void 0:Int8Array,u1:\"undefined\"==typeof Uint8Array?void 0:Uint8Array,i2:\"undefined\"==typeof Int16Array?void 0:Int16Array,u2:\"undefined\"==typeof Uint16Array?void 0:Uint16Array,i4:\"undefined\"==typeof Int32Array?void 0:Int32Array,u4:\"undefined\"==typeof Uint32Array?void 0:Uint32Array,f4:\"undefined\"==typeof Float32Array?void 0:Float32Array,f8:\"undefined\"==typeof Float64Array?void 0:Float64Array};function h(t){return t.constructor===ArrayBuffer}function f(t,e,r){if(c(t)){if(c(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){-1===(i.extras||[]).indexOf(t)?(d(t)&&(t=m(t)),t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)):e.set(t)}},string:{coerceFunction:function(t,e,r,n){if(\"string\"!=typeof t){var i=\"number\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){d(t)&&(t=m(t)),i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(s.get(t,r))}},angle:{coerceFunction:function(t,e,r){d(t)&&(t=m(t)),\"auto\"===t?e.set(\"auto\"):n(t)?e.set(f(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||h(r);\"string\"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||\"string\"==typeof t&&!!h(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if(\"string\"==typeof t){for(var i=t.split(\"+\"),a=0;a=n&&t<=i?t:u}if(\"string\"!=typeof t&&\"number\"!=typeof t)return u;t=String(t);var c=b(r),y=t.charAt(0);!c||\"G\"!==y&&\"g\"!==y||(t=t.substr(1),r=\"\");var w=c&&\"chinese\"===r.substr(0,7),T=t.match(w?x:v);if(!T)return u;var k=T[1],A=T[3]||\"1\",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),C=Number(T[11]||0);if(c){if(2===k.length)return u;var L;k=Number(k);try{var I=g.getComponentMethod(\"calendars\",\"getCal\")(r);if(w){var P=\"i\"===A.charAt(A.length-1);A=parseInt(A,10),L=I.newDate(k,I.toMonthIndex(k,A,P),M)}else L=I.newDate(k,Number(A),M)}catch(t){return u}return L?(L.toJD()-m)*h+S*f+E*p+C*d:u}k=2===k.length?(Number(k)+2e3-_)%100+_:Number(k),A-=1;var z=new Date(Date.UTC(2e3,A,M,S,E));return z.setUTCFullYear(k),z.getUTCMonth()!==A||z.getUTCDate()!==M?u:z.getTime()+C*d},n=e.MIN_MS=e.dateTime2ms(\"-9999\"),i=e.MAX_MS=e.dateTime2ms(\"9999-12-31 23:59:59.9999\"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==u};var T=90*h,k=3*f,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=\" \"+w(e,2)+\":\"+w(r,2),(n||i)&&(t+=\":\"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+=\".\"+w(i,a)}return t}e.ms2DateTime=function(t,e,r){if(\"number\"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,o,s,c,v,x,_=Math.floor(10*l(t+.05,1)),w=Math.round(t-_/10);if(b(r)){var S=Math.floor(w/h)+m,E=Math.floor(l(t,h));try{a=g.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(S).formatDate(\"yyyy-mm-dd\")}catch(t){a=y(\"G%Y-%m-%d\")(new Date(w))}if(\"-\"===a.charAt(0))for(;a.length<11;)a=\"-0\"+a.substr(1);else for(;a.length<10;)a=\"0\"+a;o=e=n+h&&t<=i-h))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a(\"%Y-%m-%d\")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},e.cleanDate=function(t,r,n){if(t===u)return r;if(e.isJSDate(t)||\"number\"==typeof t&&isFinite(t)){if(b(n))return s.error(\"JS Dates and milliseconds are incompatible with world calendars\",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return s.error(\"unrecognized date\",t),r;return t};var S=/%\\d?f/g,E=/%h/g,C={1:\"1\",2:\"1\",3:\"2\",4:\"2\"};function L(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,\"\")||\"0\"}));var i=new Date(Math.floor(e+.05));if(t=t.replace(E,(function(){return C[r(\"%q\")(i)]})),b(n))try{t=g.getComponentMethod(\"calendars\",\"worldCalFmt\")(t,e,n)}catch(t){return\"Invalid\"}return r(t)(i)}var I=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(t,e,r,n,i,a){if(i=b(i)&&i,!e)if(\"y\"===r)e=a.year;else if(\"m\"===r)e=a.month;else{if(\"d\"!==r)return function(t,e){var r=l(t+.05,h),n=w(Math.floor(r/f),2)+\":\"+w(l(Math.floor(r/p),60),2);if(\"M\"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),I[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+i}return n}(t,r)+\"\\n\"+L(a.dayMonthYear,t,n,i);e=a.dayMonth+\"\\n\"+a.year}return L(e,t,n,i)};var P=3*h;e.incrementMonth=function(t,e,r){r=b(r)&&r;var n=l(t,h);if(t=Math.round(t-n),r)try{var i=Math.round(t/h)+m,a=g.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return e%12?a.add(o,e,\"m\"):a.add(o,e/12,\"y\"),(o.toJD()-m)*h+n}catch(e){s.error(\"invalid ms \"+t+\" in calendar \"+r)}var c=new Date(t+P);return c.setUTCMonth(c.getUTCMonth()+e)+n-P},e.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,c=b(e)&&g.getComponentMethod(\"calendars\",\"getCal\")(e),u=0;u0&&t[e+1][0]<0)return e;return null}switch(e=\"RUS\"===s||\"FJI\"===s?function(t){var e;if(null===c(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=f.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(f.tester(t))},a.type){case\"MultiPolygon\":for(r=0;r0?u.properties.ct=function(t){var e,r=t.geometry;if(\"MultiPolygon\"===r.type)for(var n=r.coordinates,i=0,s=0;si&&(i=c,e=l)}else e=r;return o(e).geometry.coordinates}(u):u.properties.ct=[NaN,NaN],n.fIn=t,n.fOut=u,s.push(u)}else c.log([\"Location\",n.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete i[r]}switch(r.type){case\"FeatureCollection\":var f=r.features;for(n=0;n100?(clearInterval(a),n(\"Unexpected error while fetching from \"+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},e.makeLine=function(t){return 1===t.length?{type:\"LineString\",coordinates:t[0]}:{type:\"MultiLineString\",coordinates:t}},e.makePolygon=function(t){if(1===t.length)return{type:\"Polygon\",coordinates:t};for(var e=new Array(t.length),r=0;r1||m<0||m>1?null:{x:t+l*m,y:e+h*m}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}e.segmentsIntersect=s,e.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,h=n-e,f=o-i,p=c-a,d=u*u+h*h,m=f*f+p*p,g=Math.min(l(u,h,d,i-t,a-e),l(u,h,d,o-t,c-e),l(f,p,m,t-i,e-a),l(f,p,m,r-i,n-a));return Math.sqrt(g)},e.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),h=t.getPointAtLength(o(r,e)),f={x:(4*h.x+l.x+c.x)/6,y:(4*h.y+l.y+c.y)/6,theta:u};return n[r]=f,f},e.clearLocationCache=function(){i=null},e.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),h=u;function f(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.xo?r.x-o:0,h=r.yl?r.y-l:0;return Math.sqrt(c*c+h*h)}for(var p=f(c);p;){if((c+=p+r)>h)return;p=f(c)}for(p=f(h);p;){if(c>(h-=p+r))return;p=f(h)}return{min:c,max:h,len:h-c,total:u,isClosed:0===c&&h===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h0?p=i:f=i,h++}return a}},46998:function(t,e,r){\"use strict\";var n=r(10721),i=r(65657),a=r(162),o=r(88856),s=r(10229).defaultLine,l=r(87800).isArrayOrTypedArray,c=a(s);function u(t,e){var r=t;return r[3]*=e,r}function h(t){if(n(t))return c;var e=a(t);return e.length?e:c}function f(t){return n(t)?t:1}t.exports={formatColor:function(t,e,r){var n=t.color;n&&n._inputArray&&(n=n._inputArray);var i,s,p,d,m,g=l(n),y=l(e),v=o.extractOpts(t),x=[];if(i=void 0!==v.colorscale?o.makeColorScaleFuncFromTrace(t):h,s=g?function(t,e){return void 0===t[e]?c:a(i(t[e]))}:h,p=y?function(t,e){return void 0===t[e]?1:f(t[e])}:f,g||y)for(var _=0;_1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf(\"e+\")&&(n=+o)}}return n}},34809:function(t,e,r){\"use strict\";var n=r(45568),i=r(42696).aL,a=r(36464).GP,o=r(10721),s=r(63821),l=s.FP_SAFE,c=-l,u=s.BADNUM,h=t.exports={};h.adjustFormat=function(t){return!t||/^\\d[.]\\df/.test(t)||/[.]\\d%/.test(t)?t:\"0.f\"===t?\"~f\":/^\\d%/.test(t)?\"~%\":/^\\ds/.test(t)?\"~s\":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?\"~\"+t:t};var f={};h.warnBadFormat=function(t){var e=String(t);f[e]||(f[e]=1,h.warn('encountered bad format: \"'+e+'\"'))},h.noFormat=function(t){return String(t)},h.numberFormat=function(t){var e;try{e=a(h.adjustFormat(t))}catch(e){return h.warnBadFormat(t),h.noFormat}return e},h.nestedProperty=r(35632),h.keyedContainer=r(34967),h.relativeAttr=r(82047),h.isPlainObject=r(56174),h.toLogRange=r(8083),h.relinkPrivateKeys=r(80428);var p=r(87800);h.isArrayBuffer=p.isArrayBuffer,h.isTypedArray=p.isTypedArray,h.isArrayOrTypedArray=p.isArrayOrTypedArray,h.isArray1D=p.isArray1D,h.ensureArray=p.ensureArray,h.concat=p.concat,h.maxRowLength=p.maxRowLength,h.minRowLength=p.minRowLength;var d=r(98953);h.mod=d.mod,h.modHalf=d.modHalf;var m=r(34220);h.valObjectMeta=m.valObjectMeta,h.coerce=m.coerce,h.coerce2=m.coerce2,h.coerceFont=m.coerceFont,h.coercePattern=m.coercePattern,h.coerceHoverinfo=m.coerceHoverinfo,h.coerceSelectionMarkerOpacity=m.coerceSelectionMarkerOpacity,h.validate=m.validate;var g=r(92596);h.dateTime2ms=g.dateTime2ms,h.isDateTime=g.isDateTime,h.ms2DateTime=g.ms2DateTime,h.ms2DateTimeLocal=g.ms2DateTimeLocal,h.cleanDate=g.cleanDate,h.isJSDate=g.isJSDate,h.formatDate=g.formatDate,h.incrementMonth=g.incrementMonth,h.dateTick0=g.dateTick0,h.dfltRange=g.dfltRange,h.findExactDates=g.findExactDates,h.MIN_MS=g.MIN_MS,h.MAX_MS=g.MAX_MS;var y=r(98813);h.findBin=y.findBin,h.sorterAsc=y.sorterAsc,h.sorterDes=y.sorterDes,h.distinctVals=y.distinctVals,h.roundUp=y.roundUp,h.sort=y.sort,h.findIndexOfMin=y.findIndexOfMin,h.sortObjectKeys=r(62994);var v=r(89258);h.aggNums=v.aggNums,h.len=v.len,h.mean=v.mean,h.geometricMean=v.geometricMean,h.median=v.median,h.midRange=v.midRange,h.variance=v.variance,h.stdev=v.stdev,h.interp=v.interp;var x=r(15236);h.init2dArray=x.init2dArray,h.transposeRagged=x.transposeRagged,h.dot=x.dot,h.translationMatrix=x.translationMatrix,h.rotationMatrix=x.rotationMatrix,h.rotationXYMatrix=x.rotationXYMatrix,h.apply3DTransform=x.apply3DTransform,h.apply2DTransform=x.apply2DTransform,h.apply2DTransform2=x.apply2DTransform2,h.convertCssMatrix=x.convertCssMatrix,h.inverseTransformMatrix=x.inverseTransformMatrix;var _=r(44313);h.deg2rad=_.deg2rad,h.rad2deg=_.rad2deg,h.angleDelta=_.angleDelta,h.angleDist=_.angleDist,h.isFullCircle=_.isFullCircle,h.isAngleInsideSector=_.isAngleInsideSector,h.isPtInsideSector=_.isPtInsideSector,h.pathArc=_.pathArc,h.pathSector=_.pathSector,h.pathAnnulus=_.pathAnnulus;var b=r(32546);h.isLeftAnchor=b.isLeftAnchor,h.isCenterAnchor=b.isCenterAnchor,h.isRightAnchor=b.isRightAnchor,h.isTopAnchor=b.isTopAnchor,h.isMiddleAnchor=b.isMiddleAnchor,h.isBottomAnchor=b.isBottomAnchor;var w=r(3447);h.segmentsIntersect=w.segmentsIntersect,h.segmentDistance=w.segmentDistance,h.getTextLocation=w.getTextLocation,h.clearLocationCache=w.clearLocationCache,h.getVisibleSegment=w.getVisibleSegment,h.findPointOnPath=w.findPointOnPath;var T=r(93049);h.extendFlat=T.extendFlat,h.extendDeep=T.extendDeep,h.extendDeepAll=T.extendDeepAll,h.extendDeepNoArrays=T.extendDeepNoArrays;var k=r(48636);h.log=k.log,h.warn=k.warn,h.error=k.error;var A=r(90694);h.counterRegex=A.counter;var M=r(64025);h.throttle=M.throttle,h.throttleDone=M.done,h.clearThrottle=M.clear;var S=r(95425);function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&o(t)&&t>=0&&t%1==0},h.noop=r(4969),h.identity=r(29527),h.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},h.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},h.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(h.warn(\"randstr failed uniqueness\"),l):t(e,r,n,(i||0)+1):l},h.OptionControl=function(t,e){t||(t={}),e||(e=\"opt\");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r[\"_\"+e]=t,r},h.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},h.syncOrAsync=function(t,e,r){var n;function i(){return h.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},h.stripTrailingSlash=function(t){return\"/\"===t.substr(-1)?t.substr(0,t.length-1):t},h.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},h.fillArray=function(t,e,r,n){if(n=n||h.identity,h.isArrayOrTypedArray(t))for(var i=0;i1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l},h.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var D=/^\\w*$/;h.templateString=function(t,e){var r={};return t.replace(h.TEMPLATE_STRING_REGEX,(function(t,n){var i;return D.test(n)?i=e[n]:(r[n]=r[n]||h.nestedProperty(e,n).get,i=r[n]()),h.isValidTextValue(i)?i:\"\"}))};var R={max:10,count:0,name:\"hovertemplate\"};h.hovertemplateString=function(){return U.apply(R,arguments)};var F={max:10,count:0,name:\"texttemplate\"};h.texttemplateString=function(){return U.apply(F,arguments)};var B=/^(\\S+)([\\*\\/])(-?\\d+(\\.\\d+)?)$/,N={max:10,count:0,name:\"texttemplate\",parseMultDiv:!0};h.texttemplateStringForShapes=function(){return U.apply(N,arguments)};var j=/^[:|\\|]/;function U(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(h.TEMPLATE_STRING_REGEX,(function(t,s,l){var c=\"_xother\"===s||\"_yother\"===s,u=\"_xother_\"===s||\"_yother_\"===s,f=\"xother_\"===s||\"yother_\"===s,p=\"xother\"===s||\"yother\"===s||c||f||u,d=s;(c||u)&&(d=d.substring(1)),(f||u)&&(d=d.substring(0,d.length-1));var m,g,y,v=null,x=null;if(n.parseMultDiv){var _=function(t){var e=t.match(B);return e?{key:e[1],op:e[2],number:Number(e[3])}:{key:t,op:null,number:null}}(d);d=_.key,v=_.op,x=_.number}if(p){if(void 0===(m=e[d]))return\"\"}else for(y=3;y=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var V=2e9;h.seedPseudoRandom=function(){V=2e9},h.pseudoRandom=function(){var t=V;return V=(69069*V+1)%4294967296,Math.abs(V-t)<429496729?h.pseudoRandom():V/4294967296},h.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=h.extractOption(t,e,\"htx\",\"hovertext\");if(h.isValidTextValue(i))return n(i);var a=h.extractOption(t,e,\"tx\",\"text\");return h.isValidTextValue(a)?n(a):void 0},h.isValidTextValue=function(t){return t||0===t},h.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+\"%\",n=0;n1&&(c=1):c=0,h.strTranslate(i-c*(r+o),a-c*(n+s))+h.strScale(c)+(l?\"rotate(\"+l+(e?\"\":\" \"+r+\" \"+n)+\")\":\"\")},h.setTransormAndDisplay=function(t,e){t.attr(\"transform\",h.getTextTransform(e)),t.style(\"display\",e.scale?null:\"none\")},h.ensureUniformFontSize=function(t,e){var r=h.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},h.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},h.bigFont=function(t){return Math.round(1.2*t)};var q=h.getFirefoxVersion(),H=null!==q&&q<86;h.getPositionFromD3Event=function(){return H?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},56174:function(t){\"use strict\";t.exports=function(t){return window&&window.process&&window.process.versions?\"[object Object]\"===Object.prototype.toString.call(t):\"[object Object]\"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty(\"hasOwnProperty\")}},34967:function(t,e,r){\"use strict\";var n=r(35632),i=/^\\w*$/;t.exports=function(t,e,r,a){var o,s,l;r=r||\"name\",a=a||\"value\";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||\"\";var u={};if(s)for(o=0;o2)return c[e]=2|c[e],f.set(t,null);if(h){for(o=e;o1){var e=[\"LOG:\"];for(t=0;t1){var r=[];for(t=0;t\"),\"long\")}},a.warn=function(){var t;if(n.logging>0){var e=[\"WARN:\"];for(t=0;t0){var r=[];for(t=0;t\"),\"stick\")}},a.error=function(){var t;if(n.logging>0){var e=[\"ERROR:\"];for(t=0;t0){var r=[];for(t=0;t\"),\"stick\")}}},75944:function(t,e,r){\"use strict\";var n=r(45568);t.exports=function(t,e,r){var i=t.selectAll(\"g.\"+r.replace(/\\s/g,\".\")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append(\"g\").attr(\"class\",r),i.order();var a=t.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return i.each((function(t){t[0][a]=n.select(this)})),i}},15236:function(t,e,r){\"use strict\";var n=r(11191);e.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},35632:function(t,e,r){\"use strict\";var n=r(10721),i=r(87800).isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,c=t;for(s=0;s/g),l=0;la||c===i||cs||e&&l(t))}:function(t,e){var l=t[0],c=t[1];if(l===i||la||c===i||cs)return!1;var u,h,f,p,d,m=r.length,g=r[0][0],y=r[0][1],v=0;for(u=1;uMath.max(h,g)||c>Math.max(f,y)))if(cu||Math.abs(n(o,f))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c1&&o(t.pop()),{addPt:o,raw:t,filtered:r}}},22459:function(t,e,r){\"use strict\";var n=r(97464),i=r(81330);t.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has(\"parcoords\")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener(\"webglcontextlost\",(function(e){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},32521:function(t,e,r){\"use strict\";var n=r(10721),i=r(13087);t.exports=function(t){var e;if(\"string\"!=typeof(e=t&&t.hasOwnProperty(\"userAgent\")?t.userAgent:function(){var t;return\"undefined\"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&\"string\"==typeof t.headers[\"user-agent\"]&&(t=t.headers[\"user-agent\"]),t}()))return!0;var r=i({ua:{headers:{\"user-agent\":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(\" \"),o=1;o-1;s--){var l=a[s];if(\"Version/\"===l.substr(0,8)){var c=l.substr(8).split(\".\")[0];if(n(c)&&(c=+c),c>=13)return!0}}return r}},36539:function(t){\"use strict\";t.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function h(t,e){return t>=e}e.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-s)-1:Math.floor((t-e.start)/e.size+s);var a,o,f=0,p=e.length,d=0,m=p>1?(e[p-1]-e[0])/(p-1):1;for(o=m>=0?r?l:c:r?h:u,t+=m*s*(r?-1:1)*(m>=0?1:-1);f90&&i.log(\"Long binary search...\"),f-1},e.sorterAsc=function(t,e){return t-e},e.sorterDes=function(t,e){return e-t},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],c=0;c<=r;c++){var u=n[c],h=u-i;void 0===i?(l.push(u),i=u):h>s&&(a=Math.min(a,h),l.push(u),i=u)}return{vals:l,minDiff:a}},e.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},e.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},55010:function(t,e,r){\"use strict\";var n=r(162);t.exports=function(t){return t?n(t):[0,0,0,1]}},95544:function(t,e,r){\"use strict\";var n=r(1837),i=r(62203),a=r(34809),o=null;t.exports=function(){if(null!==o)return o;o=!1;var t=a.isIE()||a.isSafari()||a.isIOS();if(window.navigator.userAgent&&!t){var e=Array.from(n.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(\"function\"==typeof r)o=e.some((function(t){return r.apply(null,t)}));else{var s=i.tester.append(\"image\").attr(\"style\",n.STYLE),l=window.getComputedStyle(s.node()).imageRendering;o=e.some((function(t){var e=t[1];return l===e||l===e.toLowerCase()})),s.remove()}}return o}},30635:function(t,e,r){\"use strict\";var n=r(45568),i=r(34809),a=i.strTranslate,o=r(62972),s=r(4530).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;e.convertToTspans=function(t,r,g){var S=t.text(),E=!t.attr(\"data-notex\")&&r&&r._context.typesetMath&&\"undefined\"!=typeof MathJax&&S.match(l),I=n.select(t.node().parentNode);if(!I.empty()){var P=t.attr(\"class\")?t.attr(\"class\").split(\" \")[0]:\"text\";return P+=\"-math\",I.selectAll(\"svg.\"+P).remove(),I.selectAll(\"g.\"+P+\"-group\").remove(),t.style(\"display\",null).attr({\"data-unformatted\":S,\"data-math\":\"N\"}),E?(r&&r._promises||[]).push(new Promise((function(e){t.style(\"display\",\"none\");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,f=parseInt((MathJax.version||\"\").split(\".\")[0]);if(2===f||3===f){var p=function(){var r=\"math-output-\"+i.randstr({},64),a=(l=n.select(\"body\").append(\"div\").attr({id:r}).style({visibility:\"hidden\",position:\"absolute\",\"font-size\":e.fontSize+\"px\"}).text(t.replace(c,\"\\\\lt \").replace(u,\"\\\\gt \"))).node();return 2===f?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===f?\".MathJax_SVG\":\".MathJax\"),a=!e.empty()&&l.select(\"svg\").node();if(a){var o,s=a.getBoundingClientRect();o=2===f?n.select(\"body\").select(\"#MathJax_SVG_glyphs\"):e.select(\"defs\"),r(e,o,s)}else i.log(\"There was an error in the tex syntax.\",t),r();l.remove()};2===f?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:h},displayAlign:\"left\"})}),(function(){if(\"SVG\"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer(\"SVG\")}),p,d,(function(){if(\"SVG\"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===f&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=h,\"svg\"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output=\"svg\"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),\"svg\"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn(\"No MathJax version:\",MathJax.version)}(E[2],o,(function(n,i,o){I.selectAll(\"svg.\"+P).remove(),I.selectAll(\"g.\"+P+\"-group\").remove();var s=n&&n.select(\"svg\");if(!s||!s.node())return z(),void e();var l=I.append(\"g\").classed(P+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":S,\"data-math\":\"Y\"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var c=o.width,u=o.height;s.attr({class:P,height:u,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var h=t.node().style.fill||\"black\",f=s.select(\"g\");f.attr({fill:h,stroke:h});var p=f.node().getBoundingClientRect(),d=p.width,m=p.height;(d>c||m>u)&&(s.style(\"overflow\",\"hidden\"),d=(p=s.node().getBoundingClientRect()).width,m=p.height);var y=+t.attr(\"x\"),v=+t.attr(\"y\"),x=-(r||t.node().getBoundingClientRect().height)/4;if(\"y\"===P[0])l.attr({transform:\"rotate(\"+[-90,y,v]+\")\"+a(-d/2,x-m/2)});else if(\"l\"===P[0])v=x-m/2;else if(\"a\"===P[0]&&0!==P.indexOf(\"atitle\"))y=0,v=x;else{var _=t.attr(\"text-anchor\");y-=d*(\"middle\"===_?.5:\"end\"===_?1:0),v=v+x-m/2}s.attr({x:y,y:v}),g&&g.call(t,l),e(l)}))}))):z(),t}function z(){I.empty()||(P=t.attr(\"class\")+\"-math\",I.select(\"svg.\"+P).remove()),t.text(\"\").style(\"white-space\",\"pre\");var r=function(t,e){e=e.replace(y,\" \");var r,a=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(o.svg,\"tspan\");n.select(e).attr({class:\"line\",dy:c*s+\"em\"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <\"+t+\">. Pretending it did match.\",e),r=l[l.length-1].node}else i.log(\"Ignoring unexpected end tag .\",e)}_.test(e)?u():(r=t,l=[{node:t}]);for(var E=e.split(v),I=0;I|>|>)/g,h=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]],f={sup:\"font-size:70%\",sub:\"font-size:70%\",s:\"text-decoration:line-through\",u:\"text-decoration:underline\",b:\"font-weight:bold\",i:\"font-style:italic\",a:\"cursor:pointer\",span:\"\",em:\"font-style:italic;font-weight:bold\"},p={sub:\"0.3em\",sup:\"-0.6em\"},d={sub:\"-0.21em\",sup:\"0.42em\"},m=\"​\",g=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],y=e.NEWLINES=/(\\r\\n?|\\n)/g,v=/(<[^<>]*>)/,x=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,_=//i;e.BR_TAG_ALL=//gi;var b=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,w=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,T=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,k=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&C(n)}var M=/(^|;)\\s*color:/;e.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:[\"br\"],i=t.split(v),a=[],o=\"\",s=0,l=0;l3?a.push(c.substr(0,p-3)+\"...\"):a.push(c.substr(0,p));break}o=\"\"}}return a.join(\"\")};var S={mu:\"μ\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\" \",times:\"×\",plusmn:\"±\",deg:\"°\"},E=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function C(t){return t.replace(E,(function(t,e){return(\"#\"===e.charAt(0)?function(t){if(!(t>1114111)){var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}}(\"x\"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t}))}function L(t){var e=encodeURI(decodeURI(t)),r=document.createElement(\"a\"),n=document.createElement(\"a\");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?e:\"\"}function I(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||\"top\",c=t.node().getBoundingClientRect(),u=e.node().getBoundingClientRect();return a=\"bottom\"===l?function(){return c.bottom-n.height}:\"middle\"===l?function(){return c.top+(c.height-n.height)/2}:function(){return c.top},o=\"right\"===s?function(){return c.right-n.width}:\"center\"===s?function(){return c.left+(c.width-n.width)/2}:function(){return c.left},function(){n=this.node().getBoundingClientRect();var t=o()-u.left,e=a()-u.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+\"px\",left:t+\"px\",\"z-index\":1e3}),this}}e.convertEntities=C,e.sanitizeHTML=function(t){t=t.replace(y,\" \");for(var e=document.createElement(\"p\"),r=e,i=[],a=t.split(v),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},e.done=function(t){var e=r[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},e.clear=function(t){if(t)n(r[t]),delete r[t];else for(var i in r)e.clear(i)}},8083:function(t,e,r){\"use strict\";var n=r(10721);t.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},11577:function(t,e,r){\"use strict\";var n=t.exports={},i=r(74285).locationmodeToLayer,a=r(48640).N4;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,\"-\"),\"_\",t.resolution.toString(),\"m\"].join(\"\")},n.getTopojsonPath=function(t,e){return t+e+\".json\"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},44611:function(t){\"use strict\";t.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}},30227:function(t){\"use strict\";t.exports={moduleType:\"locale\",name:\"en\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colourscale title\"},format:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],periods:[\"AM\",\"PM\"],dateTime:\"%a %b %e %X %Y\",date:\"%d/%m/%Y\",time:\"%H:%M:%S\",decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],year:\"%Y\",month:\"%b %Y\",dayMonth:\"%b %-d\",dayMonthYear:\"%b %-d, %Y\"}}},56037:function(t,e,r){\"use strict\";var n=r(33626);t.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(\"[\")[0],s=0;s0&&o.log(\"Clearing previous rejected promises from queue.\"),t._promises=[]},e.cleanLayout=function(t){var r,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,h=(s.subplotsRegistry.ternary||{}).attrRegex,f=(s.subplotsRegistry.gl3d||{}).attrRegex,m=Object.keys(t);for(r=0;r3?(z.x=1.02,z.xanchor=\"left\"):z.x<-2&&(z.x=-.02,z.xanchor=\"right\"),z.y>3?(z.y=1.02,z.yanchor=\"bottom\"):z.y<-2&&(z.y=-.02,z.yanchor=\"top\")),d(t),\"rotate\"===t.dragmode&&(t.dragmode=\"orbit\"),c.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var r=0;r0)return t.substr(0,e)}e.hasParent=function(t,e){for(var r=_(e);r;){if(r in t)return!0;r=_(r)}return!1};var b=[\"x\",\"y\",\"z\"];e.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn(\"Full array edits are incompatible with other edits\",h);var v=r[\"\"][\"\"];if(c(v))e.set(null);else{if(!Array.isArray(v))return a.warn(\"Unrecognized full array edit value\",h,v),!0;e.set(v)}return!m&&(f(g,y),p(t),!0)}var x,_,b,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),C=E||[],L=u(y,h).get(),I=[],P=-1,z=C.length;for(x=0;xC.length-(A?0:1))a.warn(\"index out of range\",h,b);else if(void 0!==k)T.length>1&&a.warn(\"Insertion & removal are incompatible with edits to the same index.\",h,b),c(k)?I.push(b):A?(\"add\"===k&&(k={}),C.splice(b,0,k),L&&L.splice(b,0,{})):a.warn(\"Unrecognized full object edit value\",h,b,k),-1===P&&(P=b);else for(_=0;_=0;x--)C.splice(I[x],1),L&&L.splice(I[x],1);if(C.length?E||e.set(C):e.set(null),m)return!1;if(f(g,y),d!==i){var O;if(-1===P)O=S;else{for(z=Math.max(C.length,z),O=[],x=0;x=P);x++)O.push(b);for(x=P;x=t.data.length||i<-t.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function O(t,e,r){if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(void 0===e)throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(e)||(e=[e]),z(t,e,\"currentIndices\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&z(t,r,\"newIndices\"),void 0!==r&&e.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function D(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array\");if(!o.isPlainObject(e))throw new Error(\"update must be a key:value object\");if(void 0===r)throw new Error(\"indices must be an integer or array of integers\");for(var a in z(t,r,\"indices\"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,c,u,h,f=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=P(r,t.data.length-1),e)for(var m=0;m-1&&-1===r.indexOf(\"grouptitlefont\")?l(r,r.replace(\"titlefont\",\"title.font\")):r.indexOf(\"titleposition\")>-1?l(r,r.replace(\"titleposition\",\"title.position\")):r.indexOf(\"titleside\")>-1?l(r,r.replace(\"titleside\",\"title.side\")):r.indexOf(\"titleoffset\")>-1&&l(r,r.replace(\"titleoffset\",\"title.offset\")):l(r,r.replace(\"title\",\"title.text\"));function l(e,r){t[r]=t[e],delete t[e]}}function q(t,e,r){t=o.getGraphDiv(t),T.clearPromiseQueue(t);var n={};if(\"string\"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn(\"Relayout fail.\",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=X(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[f.previousPromises];a.layoutReplot?s.push(k.layoutReplot):Object.keys(n).length&&(H(t,a,i)||f.supplyDefaults(t),a.legend&&s.push(k.doLegend),a.layoutstyle&&s.push(k.layoutStyles),a.axrange&&G(s,i.rangesAltered),a.ticks&&s.push(k.doTicksRelayout),a.modebar&&s.push(k.doModeBar),a.camera&&s.push(k.doCamera),a.colorbars&&s.push(k.doColorBars),s.push(E)),s.push(f.rehover,f.redrag,f.reselect),c.add(t,q,[t,i.undoit],q,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit(\"plotly_relayout\",i.eventData),t}))}function H(t,e,r){var n,i,a=t._fullLayout;if(!e.axrange)return!1;for(var s in e)if(\"axrange\"!==s&&e[s])return!1;var l=function(t,e){return o.coerce(n,i,m,t,e)},c={};for(var u in r.rangesAltered){var h=p.id2name(u);if(n=t.layout[h],i=a[h],d(n,i,l,c),i._matchGroup)for(var f in i._matchGroup)if(f!==u){var g=a[p.id2name(f)];g.autorange=i.autorange,g.range=i.range.slice(),g._input.range=i.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||\"\").indexOf(\"inside\")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,\"redraw\")};t.push(_,k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}var Z=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,W=/^[xyz]axis[0-9]*\\.autorange$/,Y=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function X(t,e){var r,n,i,a=t.layout,l=t._fullLayout,c=l._guiEditing,f=N(l._preGUI,c),d=Object.keys(e),m=p.list(t),g=o.extendDeepAll({},e),y={};for(V(e),d=Object.keys(e),n=0;n0&&\"string\"!=typeof z.parts[D];)D--;var R=z.parts[D],F=z.parts[D-1]+\".\"+R,j=z.parts.slice(0,D).join(\".\"),U=s(t.layout,j).get(),q=s(l,j).get(),H=z.get();if(void 0!==O){k[P]=O,S[P]=\"reverse\"===R?O:B(H);var G=h.getLayoutValObject(l,z.parts);if(G&&G.impliedEdits&&null!==O)for(var X in G.impliedEdits)E(o.relativeAttr(P,X),G.impliedEdits[X]);if(-1!==[\"width\",\"height\"].indexOf(P))if(O){E(\"autosize\",null);var J=\"height\"===P?\"width\":\"height\";E(J,l[J])}else l[P]=t._initialAutoSize[P];else if(\"autosize\"===P)E(\"width\",O?null:l.width),E(\"height\",O?null:l.height);else if(F.match(Z))I(F),s(l,j+\"._inputRange\").set(null);else if(F.match(W)){I(F),s(l,j+\"._inputRange\").set(null);var K=s(l,j).get();K._inputDomain&&(K._input.domain=K._inputDomain.slice())}else F.match(Y)&&s(l,j+\"._inputDomain\").set(null);if(\"type\"===R){C=U;var Q=\"linear\"===q.type&&\"log\"===O,tt=\"log\"===q.type&&\"linear\"===O;if(Q||tt){if(C&&C.range)if(q.autorange)Q&&(C.range=C.range[1]>C.range[0]?[1,2]:[2,1]);else{var et=C.range[0],rt=C.range[1];Q?(et<=0&&rt<=0&&E(j+\".autorange\",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(j+\".range[0]\",Math.log(et)/Math.LN10),E(j+\".range[1]\",Math.log(rt)/Math.LN10)):(E(j+\".range[0]\",Math.pow(10,et)),E(j+\".range[1]\",Math.pow(10,rt)))}else E(j+\".autorange\",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[z.parts[0]]&&\"radialaxis\"===z.parts[1]&&delete l[z.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],u.getComponentMethod(\"annotations\",\"convertCoords\")(t,q,O,E),u.getComponentMethod(\"images\",\"convertCoords\")(t,q,O,E)}else E(j+\".autorange\",!0),E(j+\".range\",null);s(l,j+\"._inputRange\").set(null)}else if(R.match(M)){var nt=s(l,P).get(),it=(O||{}).type;it&&\"-\"!==it||(it=\"linear\"),u.getComponentMethod(\"annotations\",\"convertCoords\")(t,nt,it,E),u.getComponentMethod(\"images\",\"convertCoords\")(t,nt,it,E)}var at=w.containerArrayMatch(P);if(at){r=at.array,n=at.index;var ot=at.property,st=G||{editType:\"calc\"};\"\"!==n&&\"\"===ot&&(w.isAddVal(O)?S[P]=null:w.isRemoveVal(O)?S[P]=(s(a,r).get()||[])[n]:o.warn(\"unrecognized full object value\",e)),A.update(b,st),y[r]||(y[r]={});var lt=y[r][n];lt||(lt=y[r][n]={}),lt[ot]=O,delete e[P]}else\"reverse\"===R?(U.range?U.range.reverse():(E(j+\".autorange\",!0),U.range=[1,0]),q.autorange?b.calc=!0:b.plot=!0):(\"dragmode\"===P&&(!1===O&&!1!==H||!1!==O&&!1===H)||l._has(\"scatter-like\")&&l._has(\"regl\")&&\"dragmode\"===P&&(\"lasso\"===O||\"select\"===O)&&\"lasso\"!==H&&\"select\"!==H||l._has(\"gl2d\")?b.plot=!0:G?A.update(b,G):b.calc=!0,z.set(O))}}for(r in y)w.applyContainerArrayChanges(t,f(a,r),y[r],b,f)||(b.plot=!0);for(var ct in L){var ut=(C=p.getFromId(t,ct))&&C._constraintGroup;if(ut)for(var ht in b.calc=!0,ut)L[ht]||(p.getFromId(t,ht)._constraintShrinkable=!0)}($(t)||e.height||e.width)&&(b.plot=!0);var ft=l.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(\".\")+\".uirevision\").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,u){function h(){t.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,f.transition(t,e.frame.data,e.frame.layout,T.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit(\"plotly_animatingframe\",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};e()}var p,d,m=0;function g(t){return Array.isArray(i)?m>=i.length?t.transitionOpts=i[m]:t.transitionOpts=i[0]:t.transitionOpts=i,m++,t}var y=[],v=null==e,x=Array.isArray(e);if(v||x||!o.isPlainObject(e)){if(v||-1!==[\"string\",\"number\"].indexOf(typeof e))for(p=0;p0&&ww)&&k.push(d);y=k}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var m=e[n].name,g=(u[m]||d[m]||{}).name,y=e[n].name,v=u[g]||d[g];g&&y&&\"number\"==typeof y&&v&&S<5&&(S++,o.warn('addFrames: overwriting frame \"'+(u[g]||d[g]).name+'\" with a frame whose name of type \"number\" also equates to \"'+g+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn(\"addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\")),d[m]={name:m},p.push({frame:f.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:h+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if(\"number\"==typeof(i=p[n].frame).name&&o.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!i.name)for(;u[i.name=\"frame \"+t._transitionData._counter++];);if(u[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:\"delete\",index:n}),s.unshift({type:\"insert\",index:n,value:i[n]});var l=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,a];return c&&c.add(t,l,h,u,p),f.modifyFrames(t,a)},e.addTraces=function t(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],u=e.deleteTraces,h=t,f=[r,l],p=[r,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(void 0===e)throw new Error(\"traces must be defined.\");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!b(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function b(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in h(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[c].type]||{}).attributes)&&r[e[2]],s=3}else{var u=t._module;if(u||(u=(n.modules[t.type||a.type.dflt]||{})._module),!u)return!1;if(!(i=(r=u.attributes)&&r[o])){var h=u.basePlotModule;h&&h.attributes&&(i=h.attributes[o])}i||(i=a[o])}return _(i,e,s)},e.getLayoutValObject=function(t,e){var r=function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r=i&&(r._input||{})._templateitemname;s&&(o=i);var l,c=e+\"[\"+o+\"]\";function u(){l={},s&&(l[c]={},l[c][a]=s)}function h(t,e){s?n.nestedProperty(l[c],t).set(e):l[c+\".\"+t]=e}function f(){var t=l;return u(),t}return u(),{modifyBase:function(t,e){l[t]=e},modifyItem:h,getUpdateObj:f,applyUpdate:function(e,r){e&&h(e,r);var i=f();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},71817:function(t,e,r){\"use strict\";var n=r(45568),i=r(33626),a=r(44122),o=r(34809),s=r(30635),l=r(34823),c=r(78766),u=r(62203),h=r(17240),f=r(95433),p=r(29714),d=r(4530),m=r(84391),g=m.enforce,y=m.clean,v=r(32919).doAutoRange,x=\"start\",_=r(54826).zindexSeparator;function b(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}function w(t){var r,i,s,l,h,m,g=t._fullLayout,y=g._size,v=y.p,x=p.list(t,\"\",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?\"100%\":g.width+\"px\",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?\"100%\":g.height+\"px\"}).selectAll(\".main-svg\").call(u.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),e.drawMainTitle(t),f.manage(t),!g._has(\"cartesian\"))return a.previousPromises(t);function w(t,e,r){var n=t._lw/2;return\"x\"===t._id.charAt(0)?e?\"top\"===r?e._offset-v-n:e._offset+e._length+v+n:y.t+y.h*(1-(t.position||0))+n%1:e?\"right\"===r?e._offset+e._length+v+n:e._offset-v-n:y.l+y.w*(t.position||0)+n%1}for(r=0;r.5?\"t\":\"b\",o=t._fullLayout.margin[a],s=0;return\"paper\"===e.yref?s=r+e.pad.t+e.pad.b:\"container\"===e.yref&&(s=function(t,e,r,n,i){var a=0;return\"middle\"===r&&(a+=i/2),\"t\"===t?(\"top\"===r&&(a+=i),a+=n-e*n):(\"bottom\"===r&&(a+=i),a+=e*n),a}(a,n,i,t._fullLayout.height,r)+e.pad.t+e.pad.b),s>o?s:0}(t,e,m);if(g>0){!function(t,e,r,n){var i=\"title.automargin\",s=t._fullLayout.title,l=s.y>.5?\"t\":\"b\",c={x:s.x,y:s.y,t:0,b:0},u={};\"paper\"===s.yref&&function(t,e,r,n,i){var a=\"paper\"===e.yref?t._fullLayout._size.h:t._fullLayout.height,s=o.isTopAnchor(e)?n:n-i,l=\"b\"===r?a-s:s;return!(o.isTopAnchor(e)&&\"t\"===r||o.isBottomAnchor(e)&&\"b\"===r)&&lT?u.push({code:\"unused\",traceType:v,templateCount:w,dataCount:T}):T>w&&u.push({code:\"reused\",traceType:v,templateCount:w,dataCount:T})}}else u.push({code:\"data\"});if(function t(e,r){for(var n in e)if(\"_\"!==n.charAt(0)){var a=e[n],o=m(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&u.push({code:\"missing\",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:f},\"\"),u.length)return u.map(y)}},80491:function(t,e,r){\"use strict\";var n=r(10721),i=r(31420),a=r(44122),o=r(34809),s=r(84619),l=r(6243),c=r(72914),u=r(29697).version,h={format:{valType:\"enumerated\",values:[\"png\",\"jpeg\",\"webp\",\"svg\",\"full-json\"],dflt:\"png\"},width:{valType:\"number\",min:1},height:{valType:\"number\",min:1},scale:{valType:\"number\",min:0,dflt:1},setBackground:{valType:\"any\",dflt:!1},imageDataOnly:{valType:\"boolean\",dflt:!1}};t.exports=function(t,e){var r,f,p,d;function m(t){return!(t in e)||o.validate(e[t],h[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],f=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),f=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!m(\"width\")&&null!==e.width||!m(\"height\")&&null!==e.height)throw new Error(\"Height and width should be pixel values.\");if(!m(\"format\"))throw new Error(\"Export format is not \"+o.join2(h.format.values,\", \",\" or \")+\".\");var g={};function y(t,r){return o.coerce(e,g,h,t,r)}var v=y(\"format\"),x=y(\"width\"),_=y(\"height\"),b=y(\"scale\"),w=y(\"setBackground\"),T=y(\"imageDataOnly\"),k=document.createElement(\"div\");k.style.position=\"absolute\",k.style.left=\"-5000px\",document.body.appendChild(k);var A=o.extendFlat({},f);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),_?A.height=_:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function C(){return new Promise((function(t,e){var r=l(k,v,b),n=k._fullLayout.width,h=k._fullLayout.height;function f(){i.purge(k),document.body.removeChild(k)}if(\"full-json\"===v){var p=a.graphJson(k,!1,\"keepdata\",\"object\",!0,!0);return p.version=u,p=JSON.stringify(p),f(),t(T?p:s.encodeJSON(p))}if(f(),\"svg\"===v)return t(T?r:s.encodeSVG(r));var d=document.createElement(\"canvas\");d.id=o.randstr(),c({format:v,width:n,height:h,scale:b,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(C).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,\"\"):t}(e))})).catch((function(t){e(t)}))}))}},2466:function(t,e,r){\"use strict\";var n=r(34809),i=r(44122),a=r(57297),o=r(24452).dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,i,a,o){o=o||[];for(var h=Object.keys(t),f=0;fx.length&&i.push(p(\"unused\",a,y.concat(x.length)));var A,M,S,E,C,L=x.length,I=Array.isArray(k);if(I&&(L=Math.min(L,k.length)),2===_.dimensions)for(M=0;Mx[M].length&&i.push(p(\"unused\",a,y.concat(M,x[M].length)));var P=x[M].length;for(A=0;A<(I?Math.min(P,k[M].length):P);A++)S=I?k[M][A]:k,E=v[M][A],C=x[M][A],n.validate(E,S)?C!==E&&C!==+E&&i.push(p(\"dynamic\",a,y.concat(M,A),E,C)):i.push(p(\"value\",a,y.concat(M,A),E))}else i.push(p(\"array\",a,y.concat(M),v[M]));else for(M=0;M1&&f.push(p(\"object\",\"layout\"))),i.supplyDefaults(d);for(var m=d._fullData,g=r.length,y=0;y0&&Math.round(h)===h))return{vals:i};c=h}for(var f=e.calendar,p=\"start\"===l,d=\"end\"===l,m=t[r+\"period0\"],g=a(m,f)||0,y=[],v=[],x=[],_=i.length,b=0;b<_;b++){var w,T,k,A=i[b];if(c){for(w=Math.round((A-g)/(c*s)),k=o(g,c*w,f);k>A;)k=o(k,-c,f);for(;k<=A;)k=o(k,c,f);T=o(k,-c,f)}else{for(k=g+(w=Math.round((A-g)/u))*u;k>A;)k-=u;for(;k<=A;)k+=u;T=k-u}y[b]=p?T:d?k:(T+k)/2,v[b]=T,x[b]=k}return{vals:y,starts:v,ends:x}}},55126:function(t){\"use strict\";t.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}},32919:function(t,e,r){\"use strict\";var n=r(45568),i=r(10721),a=r(34809),o=r(63821).FP_SAFE,s=r(33626),l=r(62203),c=r(5975),u=c.getFromId,h=c.isLinked;function f(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),c=g(t,e),u=c.min,h=c.max;if(0===u.length||0===h.length)return a.simpleMap(e.range,e.r2l);var f=u[0].val,m=h[0].val;for(r=1;r0&&((A=L-s(_)-l(b))>I?M/A>P&&(w=_,T=b,P=M/A):M/L>P&&(w={val:_.val,nopad:1},T={val:b.val,nopad:1},P=M/L));if(f===m){var z=f-1,O=f+1;if(E)if(0===f)i=[0,1];else{var D=(f>0?h:u).reduce((function(t,e){return Math.max(t,l(e))}),0),R=f/(1-Math.min(.5,D/L));i=f>0?[0,R]:[R,0]}else i=C?[Math.max(0,z),Math.max(1,O)]:[z,O]}else E?(w.val>=0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:0,nopad:1})):C&&(w.val-P*s(w)<0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:1,nopad:1})),P=(T.val-w.val-p(e,_.val,b.val))/(L-s(w)-l(T)),i=[w.val-P*s(w),T.val+P*l(T)];return i=k(i,e),e.limitRange&&e.limitRange(),v&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),C=A(r.vpadminus||r.vpad);if(!T){if(f=1/0,p=-1/0,w)for(n=0;n0&&(f=a),a>p&&a-o&&(f=a),a>p&&a=P;n--)I(n);return{min:d,max:m,opts:r}},concatExtremes:g};var m=3;function g(t,e,r){var n,i,a,o=e._id,s=t._fullData,l=t._fullLayout,c=[],h=[];function f(t,e){for(n=0;n=r&&(c.extrapad||!o)){s=!1;break}i(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=a&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function _(t){return i(t)&&Math.abs(t)=e}function T(t,e,r){return void 0===e||void 0===r||(e=t.d2l(e))=c&&(o=c,r=c),s<=c&&(s=c,n=c)}}return r=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.minallowed&&T(e,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&T(e,r.clipmin,r.clipmax)?Math.max(t,e.d2l(r.clipmin)):t}(r,e),n=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.maxallowed&&T(e,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&T(e,r.clipmin,r.clipmax)?Math.min(t,e.d2l(r.clipmax)):t}(n,e),[r,n]}},75511:function(t){\"use strict\";t.exports=function(t,e,r){var n,i;if(r){var a=\"reversed\"===e||\"min reversed\"===e||\"max reversed\"===e;n=r[a?1:0],i=r[a?0:1]}var o=t(\"autorangeoptions.minallowed\",null===i?n:void 0),s=t(\"autorangeoptions.maxallowed\",null===n?i:void 0);void 0===o&&t(\"autorangeoptions.clipmin\"),void 0===s&&t(\"autorangeoptions.clipmax\"),t(\"autorangeoptions.include\")}},29714:function(t,e,r){\"use strict\";var n=r(45568),i=r(10721),a=r(44122),o=r(33626),s=r(34809),l=s.strTranslate,c=r(30635),u=r(17240),h=r(78766),f=r(62203),p=r(25829),d=r(68599),m=r(63821),g=m.ONEMAXYEAR,y=m.ONEAVGYEAR,v=m.ONEMINYEAR,x=m.ONEMAXQUARTER,_=m.ONEAVGQUARTER,b=m.ONEMINQUARTER,w=m.ONEMAXMONTH,T=m.ONEAVGMONTH,k=m.ONEMINMONTH,A=m.ONEWEEK,M=m.ONEDAY,S=M/2,E=m.ONEHOUR,C=m.ONEMIN,L=m.ONESEC,I=m.ONEMILLI,P=m.ONEMICROSEC,z=m.MINUS_SIGN,O=m.BADNUM,D={K:\"zeroline\"},R={K:\"gridline\",L:\"path\"},F={K:\"minor-gridline\",L:\"path\"},B={K:\"tick\",L:\"path\"},N={K:\"tick\",L:\"text\"},j={width:[\"x\",\"r\",\"l\",\"xl\",\"xr\"],height:[\"y\",\"t\",\"b\",\"yt\",\"yb\"],right:[\"r\",\"xr\"],left:[\"l\",\"xl\"],top:[\"t\",\"yt\"],bottom:[\"b\",\"yb\"]},U=r(4530),V=U.MID_SHIFT,q=U.CAP_SHIFT,H=U.LINE_SPACING,G=U.OPPOSITE_SIDE,Z=t.exports={};Z.setConvert=r(19091);var W=r(9666),Y=r(5975),X=Y.idSort,$=Y.isLinked;Z.id2name=Y.id2name,Z.name2id=Y.name2id,Z.cleanId=Y.cleanId,Z.list=Y.list,Z.listIds=Y.listIds,Z.getFromId=Y.getFromId,Z.getFromTrace=Y.getFromTrace;var J=r(32919);Z.getAutoRange=J.getAutoRange,Z.findExtremes=J.findExtremes;var K=1e-4;function Q(t){var e=(t[1]-t[0])*K;return[t[0]-e,t[1]+e]}Z.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+\"axis\"],c=n+\"ref\",u={};return i||(i=l[0]||(\"string\"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+\" domain\"}))),u[c]={valType:\"enumerated\",values:l.concat(a?\"string\"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,u,c)},Z.getRefType=function(t){return void 0===t?t:\"paper\"===t?\"paper\":\"pixel\"===t?\"pixel\":/( domain)$/.test(t)?\"domain\":\"range\"},Z.coercePosition=function(t,e,r,n,i,a){var o,l;if(\"range\"!==Z.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var c=Z.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},Z.cleanPosition=function(t,e,r){return(\"paper\"===r||\"pixel\"===r?s.ensureNumber:Z.getFromId(e,r).cleanPos)(t)},Z.redrawComponents=function(t,e){e=e||Z.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),c={},u=0;un&&f2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},Z.saveRangeInitial=function(t,e){for(var r=Z.list(t,\"\",!0),n=!1,i=0;i.3*f||u(n)||u(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=Z.tickIncrement(t,\"M6\",\"reverse\")+1.5*M:a.exactMonths>.8?t=Z.tickIncrement(t,\"M1\",\"reverse\")+15.5*M:t-=S;var l=Z.tickIncrement(t,r);if(l<=n)return l}return t}(v,t,y,c,a)),g=v;g<=u;)g=Z.tickIncrement(g,y,!1,a);return{start:e.c2r(v,0,a),end:e.c2r(g,0,a),size:y,_dataSpan:u-c}},Z.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=Z.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,Z.prepTicks(t,r),a){var c=i(e.dtick),u=i(t.dtick),h=c?e.dtick:+e.dtick.substring(1),f=u?t.dtick:+t.dtick.substring(1);c&&u?nt(h,f)?h===2*A&&f===2*M&&(t.dtick=A):h===2*A&&f===3*M?t.dtick=A:h!==A||(e._input.minor||{}).nticks?it(h/f,2.5)?t.dtick=h/2:t.dtick=h:t.dtick=M:\"M\"===String(e.dtick).charAt(0)?u?t.dtick=\"M1\":nt(h,f)?h>=12&&2===f&&(t.dtick=\"M3\"):t.dtick=e.dtick:\"L\"===String(t.dtick).charAt(0)?\"L\"===String(e.dtick).charAt(0)?nt(h,f)||(t.dtick=it(h/f,2.5)?e.dtick/2:e.dtick):t.dtick=\"D1\":\"D2\"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},Z.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if(\"auto\"===t.tickmode||!t.dtick){var n,a=t.nticks;a||(\"category\"===t.type||\"multicategory\"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n=\"y\"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),\"radialaxis\"===t._name&&(a*=2)),t.minor&&\"array\"!==t.minor.tickmode||\"array\"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,Z.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}\"period\"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||\"M\"!==t.dtick.charAt(0))}var n=r(),a=Z.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtickt.range[1],p=!t.ticklabelindex||s.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],d=s.simpleMap(t.range,t.r2l,void 0,void 0,e),m=d[1]=(V?0:1);q--){var H=!q;q?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var G=q?t:s.extendFlat({},t,t.minor);if(H?Z.prepMinorTicks(G,t,e):Z.prepTicks(G,e),\"array\"!==G.tickmode)if(\"sync\"!==G.tickmode){var W=Q(d),Y=W[0],X=W[1],$=i(G.dtick),J=\"log\"===l&&!($||\"L\"===G.dtick.charAt(0)),K=Z.tickFirst(G,e);if(q){if(t._tmin=K,K=X:nt<=X;nt=Z.tickIncrement(nt,it,m,c)){if(q&&tt++,G.rangebreaks&&!m){if(nt=D)break}if(N.length>R||nt===rt)break;rt=nt;var at={value:nt};q?(J&&nt!==(0|nt)&&(at.simpleLabel=!0),u>1&&tt%u&&(at.skipLabel=!0),N.push(at)):(at.minor=!0,j.push(at))}}else N=[],F=st(t);else q?(N=[],F=lt(t,!H)):(j=[],B=lt(t,!H))}!j||j.length<2?p=!1:(r=(j[1].value-j[0].value)*(f?-1:1),n=t.tickformat,(/%f/.test(n)?r>=P:/%L/.test(n)?r>=I:/%[SX]/.test(n)?r>=L:/%M/.test(n)?r>=C:/%[HI]/.test(n)?r>=E:/%p/.test(n)?r>=S:/%[Aadejuwx]/.test(n)?r>=M:/%[UVW]/.test(n)?r>=A:/%[Bbm]/.test(n)?r>=k:/%[q]/.test(n)?r>=b:!/%[Yy]/.test(n)||r>=v)||(p=!1));if(p){var ot=N.concat(j);h&&N.length&&(ot=ot.slice(1)),(ot=ot.sort((function(t,e){return t.value-e.value})).filter((function(t,e,r){return 0===e||t.value!==r[e-1].value}))).map((function(t,e){return void 0!==t.minor||t.skipLabel?null:e})).filter((function(t){return null!==t})).forEach((function(t){p.map((function(e){var r=t+e;r>=0&&r0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,c=t[o].value,u=Math.abs(c-l),h=r||u,f=0;h>=v?f=u>=v&&u<=g?u:y:r===_&&h>=b?f=u>=b&&u<=x?u:_:h>=k?f=u>=k&&u<=w?u:T:r===A&&h>=A?f=A:h>=M?f=M:r===S&&h>=S?f=S:r===E&&h>=E&&(f=E),f>=u&&(f=u,s=!0);var p=i+f;if(e.rangebreaks&&f>0){for(var d=0,m=0;m<84;m++){var C=(m+.5)/84;e.maskBreaks(i*(1-C)+C*p)!==O&&d++}(f*=d/84)||(t[n].drop=!0),s&&u>A&&(f=u)}(f>0||0===n)&&(t[n].periodX=i+f/2)}}(U,t,t._definedDelta),t.rangebreaks){var gt=\"y\"===t._id.charAt(0),yt=1;\"auto\"===t.tickmode&&(yt=t.tickfont?t.tickfont.size:12);var vt=NaN;for(a=N.length-1;a>-1;a--)if(N[a].drop)N.splice(a,1);else{N[a].value=Ft(N[a].value,t);var xt=t.c2p(N[a].value);(gt?vt>xt-yt:vtD||nD&&(r.periodX=D),n10||\"01-01\"!==n.substr(5)?t._tickround=\"d\":t._tickround=+e.substr(1)%12==0?\"y\":\"m\";else if(e>=M&&a<=10||e>=15*M)t._tickround=\"d\";else if(e>=C&&a<=16||e>=E)t._tickround=\"M\";else if(e>=L&&a<=19||e>=C)t._tickround=\"S\";else{var o=t.l2r(r+e).replace(/^-/,\"\").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||\"L\"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01),u=void 0===t.minexponent?3:t.minexponent;Math.abs(c)>u&&(_t(t.exponentformat)&&!bt(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function vt(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||\"\",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontTextcase:n.textcase,fontLineposition:n.lineposition,fontShadow:n.shadow,fontColor:n.color}}Z.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if(\"date\"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>y)e/=y,n=a(10),t.dtick=\"M\"+12*gt(e,n,ct);else if(o>T)e/=T,t.dtick=\"M\"+gt(e,1,ut);else if(o>M){if(t.dtick=gt(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ft),!r){var l=Z.getTickFormat(t),c=\"period\"===t.ticklabelmode;c&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),c&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=gt(e,E,ut):o>C?t.dtick=gt(e,C,ht):o>L?t.dtick=gt(e,L,ht):(n=a(10),t.dtick=gt(e,n,ct))}else if(\"log\"===t.type){t.tick0=0;var u=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(u[1]-u[0])<1){var h=1.5*Math.abs((u[1]-u[0])/e);e=Math.abs(Math.pow(10,u[1])-Math.pow(10,u[0]))/h,n=a(10),t.dtick=\"L\"+gt(e,n,ct)}else t.dtick=e>.3?\"D2\":\"D1\"}else\"category\"===t.type||\"multicategory\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):Rt(t)?(t.tick0=0,n=1,t.dtick=gt(e,n,mt)):(t.tick0=0,n=a(10),t.dtick=gt(e,n,ct));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&\"string\"!=typeof t.dtick){var f=t.dtick;throw t.dtick=1,\"ax.dtick error: \"+String(f)}},Z.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),c=o*Number(e.substr(1));if(\"M\"===l)return s.incrementMonth(t,c,a);if(\"L\"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if(\"D\"===l){var u=\"D2\"===e?dt:pt,h=t+.01*o,f=s.roundUp(s.mod(h,1),u,r);return Math.floor(h)+Math.log(n.round(Math.pow(10,f),1))/Math.LN10}throw\"unrecognized dtick \"+String(e)},Z.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1]=0&&r<=t._length?e:null};if(l&&s.isArrayOrTypedArray(t.ticktext)){var p=s.simpleMap(t.range,t.r2l),d=(Math.abs(p[1]-p[0])-(t._lBreaks||0))/1e4;for(a=0;a \")}else t._prevDateHead=l,c+=\"
\"+l;e.text=c}(t,o,r,c):\"log\"===u?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat,u=\"string\"==typeof o&&o.charAt(0);if(\"never\"===a&&(a=\"\"),n&&\"L\"!==u&&(o=\"L3\",u=\"L\"),c||\"L\"===u)e.text=wt(Math.pow(10,l),t,a,n);else if(i(o)||\"D\"===u&&s.mod(l+.01,1)<.1){var h=Math.round(l),f=Math.abs(h),p=t.exponentformat;\"power\"===p||_t(p)&&bt(h)?(e.text=0===h?1:1===h?\"10\":\"10\"+(h>1?\"\":z)+f+\"\",e.fontSize*=1.25):(\"e\"===p||\"E\"===p)&&f>2?e.text=\"1\"+p+(h>0?\"+\":z)+f:(e.text=wt(Math.pow(10,l),t,\"\",\"fakehover\"),\"D1\"===o&&\"y\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\"D\"!==u)throw\"unrecognized dtick \"+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if(\"D1\"===t.dtick){var d=String(e.text).charAt(0);\"0\"!==d&&\"1\"!==d||(\"y\"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,g):\"category\"===u?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\"\"),e.text=String(r)}(t,o):\"multicategory\"===u?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?\"\":String(i[1]),o=void 0===i[0]?\"\":String(i[0]);r?e.text=o+\" - \"+a:(e.text=a,e.text2=o)}(t,o,r):Rt(t)?function(t,e,r,n,i){if(\"radians\"!==t.thetaunit||r)e.text=wt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=\"0\";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=wt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text=\"π\":e.text=o[0]+\"π\":e.text=[\"\",o[0],\"\",\"⁄\",\"\",o[1],\"\",\"π\"].join(\"\"),l&&(e.text=z+e.text)}}}}(t,o,r,c,g):function(t,e,r,n,i){\"never\"===i?i=\"\":\"all\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\"hide\"),e.text=wt(e.x,t,i,n)}(t,o,0,c,g),n||(t.tickprefix&&!m(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!m(t.showticksuffix)&&(o.text+=t.ticksuffix)),t.labelalias&&t.labelalias.hasOwnProperty(o.text)){var y=t.labelalias[o.text];\"string\"==typeof y&&(o.text=y)}return(\"boundaries\"===t.tickson||t.showdividers)&&(o.xbnd=[f(o.x-.5),f(o.x+t.dtick-.5)]),o},Z.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=s.isArrayOrTypedArray(e)?e[0]:e,i=s.isArrayOrTypedArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return Z.hoverLabelText(t,n,r)+\" - \"+Z.hoverLabelText(t,i,r);var a=\"log\"===t.type&&n<=0,o=Z.tickText(t,t.c2l(a?-n:n),\"hover\").text;return a?0===n?\"0\":z+o:o};var xt=[\"f\",\"p\",\"n\",\"μ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function _t(t){return\"SI\"===t||\"B\"===t}function bt(t){return t>14||t<-15}function wt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||\"B\",c=e._tickexponent,u=Z.getTickFormat(e),h=e.separatethousands;if(n){var f={exponentformat:l,minexponent:e.minexponent,dtick:\"none\"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:\"none\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};yt(f),o=(Number(f._tickround)||0)+4,c=f._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,z);var p,d=Math.pow(10,-o)/2;if(\"none\"===l&&(c=0),(t=Math.abs(t))\"+p+\"\":\"B\"===l&&9===c?t+=\"B\":_t(l)&&(t+=xt[c/3+5])),a?z+t:t}function Tt(t,e){if(t){var r=Object.keys(j).reduce((function(t,r){return-1!==e.indexOf(r)&&j[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function kt(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case\"date\":case\"linear\":for(e=0;e=o(i)))){r=n;break}break;case\"log\":for(e=0;e=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=Z.getFromId(t,e);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=Z.drawOne(t,n,r);return n._shiftPusher&&jt(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},Z.drawOne=function(t,e,r){var n,i,l,p=(r=r||{}).axShifts||{},d=r.overlayingShiftedAx||[];e.setScale();var m=t._fullLayout,g=e._id,y=g.charAt(0),v=Z.counterLetter(g),x=m._plots[e._mainSubplot];if(x){if(e._shiftPusher=e.autoshift||-1!==d.indexOf(e._id)||-1!==d.indexOf(e.overlaying),e._shiftPusher&\"free\"===e.anchor){var _=e.linewidth/2||0;\"inside\"===e.ticks&&(_+=e.ticklen),jt(e,_,p,!0),jt(e,e.shift||0,p,!1)}!0===r.skipTitle&&void 0!==e._shift||(e._shift=function(t,e){return t.autoshift?e[t.overlaying][t.side]:t.shift||0}(e,p));var b=x[y+\"axislayer\"],w=e._mainLinePosition,T=w+=e._shift,k=e._mainMirrorPosition,A=e._vals=Z.calcTicks(e),M=[e.mirror,T,k].join(\"_\");for(n=0;n0?r.bottom-u:0,h))));var f=0,p=0;if(e._shiftPusher&&(f=Math.max(h,r.height>0?\"l\"===l?u-r.left:r.right-u:0),e.title.text!==m._dfltTitle[y]&&(p=(e._titleStandoff||0)+(e._titleScoot||0),\"l\"===l&&(p+=St(e))),e._fullDepth=Math.max(f,p)),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var d=[0,1],g=\"number\"==typeof e._shift?e._shift:0;if(\"x\"===y){if(\"b\"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?u-r.top:0,h),d.reverse()),r.width>0){var x=r.right-(e._offset+e._length);x>0&&(n.xr=1,n.r=x);var _=e._offset-r.left;_>0&&(n.xl=0,n.l=_)}}else if(\"l\"===l?(e._depth=Math.max(r.height>0?u-r.left:0,h),n[l]=e._depth-g):(e._depth=Math.max(r.height>0?r.right-u:0,h),n[l]=e._depth+g,d.reverse()),r.height>0){var b=r.bottom-(e._offset+e._length);b>0&&(n.yb=0,n.b=b);var w=e._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[v]=\"free\"===e.anchor?e.position:e._anchorAxis.domain[d[0]],e.title.text!==m._dfltTitle[y]&&(n[l]+=St(e)+(e.title.standoff||0)),e.mirror&&\"free\"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[c]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[c]+=h),!0===e.mirror||\"ticks\"===e.mirror?i[v]=e._anchorAxis.domain[d[1]]:\"all\"!==e.mirror&&\"allticks\"!==e.mirror||(i[v]=[e._counterDomainMin,e._counterDomainMax][d[1]]))}ht&&(s=o.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(t,e)),\"string\"==typeof e.automargin&&(Tt(n,e.automargin),Tt(i,e.automargin)),a.autoMargin(t,Lt(e),n),a.autoMargin(t,It(e),i),a.autoMargin(t,Pt(e),s)})),s.syncOrAsync(ct)}}function ft(t){var r=g+(t||\"tick\");return S[r]||(S[r]=function(t,e,r){var n,i,a,o;if(t._selections[e].size())n=1/0,i=-1/0,a=1/0,o=-1/0,t._selections[e].each((function(){var t=Ct(this),e=f.bBox(t.node().parentNode);n=Math.min(n,e.top),i=Math.max(i,e.bottom),a=Math.min(a,e.left),o=Math.max(o,e.right)}));else{var s=Z.makeLabelFns(t,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}(e,r,T)),S[r]}},Z.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:\"top\",y:\"right\"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return\"inside\"!==(e?(t.minor||{}).ticks:t.ticks)==(\"x\"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},Z.makeTransTickFn=function(t){return\"x\"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},Z.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||\"\",r=function(t){return-1!==e.indexOf(t)},n=r(\"top\"),i=r(\"left\"),a=r(\"right\"),o=r(\"bottom\"),s=r(\"inside\"),l=o||i||n||a;if(!l&&!s)return[0,0];var c=t.side,u=l?(t.tickwidth||0)/2:0,h=3,f=t.tickfont?t.tickfont.size:12;return(o||n)&&(u+=f*q,h+=(t.linewidth||0)/2),(i||a)&&(u+=(t.linewidth||0)/2,h+=3),s&&\"top\"===c&&(h-=f*(1-q)),(i||n)&&(u=-u),\"bottom\"!==c&&\"right\"!==c||(h=-h),[l?u:0,s?h:0]}(t),r=t.ticklabelshift||0,n=t.ticklabelstandoff||0,i=e[0],a=e[1],o=t.range[0]>t.range[1],s=t.ticklabelposition&&-1!==t.ticklabelposition.indexOf(\"inside\"),c=!s;if(r&&(r*=o?-1:1),n){var u=t.side;n*=s&&(\"top\"===u||\"left\"===u)||c&&(\"bottom\"===u||\"right\"===u)?1:-1}return\"x\"===t._id.charAt(0)?function(e){return l(i+t._offset+t.l2p(At(e))+r,a+n)}:function(e){return l(a+n,i+t._offset+t.l2p(At(e))+r)}},Z.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return\"\";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return\"x\"===o?\"M0,\"+(e+s*r)+\"v\"+a*r:\"M\"+(e+s*r)+\",0h\"+a*r},Z.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||\"\",a=function(t){return-1!==n.indexOf(t)},o=a(\"top\"),l=a(\"left\"),c=a(\"right\"),u=a(\"bottom\")||l||o||c,h=a(\"inside\"),f=\"inside\"===n&&\"inside\"===t.ticks||!h&&\"outside\"===t.ticks&&\"boundaries\"!==t.tickson,p=0,d=0,m=f?t.ticklen:0;if(h?m*=-1:u&&(m=0),f&&(p+=m,r)){var g=s.deg2rad(r);p=m*Math.cos(g)+1,d=m*Math.sin(g)}t.showticklabels&&(f||t.showline)&&(p+=.2*t.tickfont.size);var y,v,x,_,b,w={labelStandoff:p+=(t.linewidth||1)/2*(h?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if(\"x\"===A)_=(b=!h&&\"bottom\"===k||h&&\"top\"===k)?1:-1,h&&(_*=-1),y=d*_,v=e+p*_,x=b?1:-.2,90===Math.abs(M)&&(h?x+=V:x=-90===M&&\"bottom\"===k?q:90===M&&\"top\"===k?V:.5,T=V/2*(M/90)),w.xFn=function(t){return t.dx+y+T*t.fontSize},w.yFn=function(t){return t.dy+v+t.fontSize*x},w.anchorFn=function(t,e){if(u){if(l)return\"end\";if(c)return\"start\"}return i(e)&&0!==e&&180!==e?e*_<0!==h?\"end\":\"start\":\"middle\"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:\"top\"===t.side!==h?-n:0};else if(\"y\"===A){if(_=(b=!h&&\"left\"===k||h&&\"right\"===k)?1:-1,h&&(_*=-1),y=p,v=d*_,x=0,h||90!==Math.abs(M)||(x=-90===M&&\"left\"===k||90===M&&\"right\"===k?q:.5),h){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*q*_,x=0}}w.xFn=function(t){return t.dx+e-(y+t.fontSize*x)*_+T*t.fontSize},w.yFn=function(t){return t.dy+v+t.fontSize*V},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?\"middle\":b?\"end\":\"start\"},w.heightFn=function(e,r,n){return\"right\"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},Z.drawTicks=function(t,e,r){r=r||{};var i=e._id+\"tick\",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll(\"path.\"+i).data(a,Mt);o.exit().remove(),o.enter().append(\"path\").classed(i,1).classed(\"ticks\",1).classed(\"crisp\",!1!==r.crisp).each((function(t){return h.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style(\"stroke-width\",(function(r){return f.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+\"px\"})).attr(\"d\",r.path).style(\"display\",null),Nt(e,[B]),o.attr(\"transform\",r.transFn)},Z.drawGrid=function(t,e,r){if(r=r||{},\"sync\"!==e.tickmode){var i=e._id+\"grid\",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&Z.shouldShowZeroLine(t,e,l))for(var c=\"array\"===e.tickmode,u=0;u=0;y--){var v=y?m:g;if(v){var x=v.selectAll(\"path.\"+i).data(y?s:o,Mt);x.exit().remove(),x.enter().append(\"path\").classed(i,1).classed(\"crisp\",!1!==r.crisp),x.attr(\"transform\",r.transFn).attr(\"d\",r.path).each((function(t){return h.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||\"#ddd\")})).style(\"stroke-dasharray\",(function(t){return f.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style(\"stroke-width\",(function(t){return(t.minor?d:e._gw)+\"px\"})).style(\"display\",null),\"function\"==typeof r.path&&x.attr(\"d\",r.path)}}Nt(e,[R,F])}},Z.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+\"zl\",i=Z.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll(\"path.\"+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"zl\",1).classed(\"crisp\",!1!==r.crisp).each((function(){r.layer.selectAll(\"path\").sort((function(t,e){return X(t.id,e.id)}))})),a.attr(\"transform\",r.transFn).attr(\"d\",r.path).call(h.stroke,e.zerolinecolor||h.defaultLine).style(\"stroke-width\",f.crispRound(t,e.zerolinewidth,e._gw||1)+\"px\").style(\"display\",null),Nt(e,[D])},Z.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,u=r.cls||o+\"tick\",h=r.vals.filter((function(t){return t.text})),p=r.labelFns,d=r.secondary?0:e.tickangle,m=(e._prevTickAngles||{})[u],g=r.layer.selectAll(\"g.\"+u).data(e.showticklabels?h:[],Mt),y=[];function v(t,a){t.each((function(t){var o=n.select(this),s=o.select(\".text-math-group\"),u=p.anchorFn(t,a),h=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?\" rotate(\"+a+\",\"+p.xFn(t)+\",\"+(p.yFn(t)-t.fontSize/2)+\")\":\"\"),d=c.lineCount(o),m=H*t.fontSize,g=p.heightFn(t,i(a)?+a:0,(d-1)*m);if(g&&(h+=l(0,g)),s.empty()){var y=o.select(\"text\");y.attr({transform:h,\"text-anchor\":u}),y.style(\"opacity\",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var v=f.bBox(s.node()).width*{end:-.5,start:.5}[u];s.attr(\"transform\",h+l(v,0))}}))}g.enter().append(\"g\").classed(u,1).append(\"text\").attr(\"text-anchor\",\"middle\").each((function(e){var r=n.select(this),i=t._promises.length;r.call(c.positionText,p.xFn(e),p.yFn(e)).call(f.font,{family:e.font,size:e.fontSize,color:e.fontColor,weight:e.fontWeight,style:e.fontStyle,variant:e.fontVariant,textcase:e.fontTextcase,lineposition:e.fontLineposition,shadow:e.fontShadow}).text(e.text).call(c.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){v(r,d)}))):v(r,d)})),Nt(e,[N]),g.exit().remove(),r.repositionOnUpdate&&g.each((function(t){n.select(this).select(\"text\").call(c.positionText,p.xFn(t),p.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&\"allow\"!==r){var i=-1!==r.indexOf(\"hide\"),o=\"x\"===e._id.charAt(0),l=0,c=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf(\"domain\")){var u=s.simpleMap(e.range,e.r2l);l=e.l2p(u[0])+e._offset,c=e.l2p(u[1])+e._offset}var h=Math.min(l,c),p=Math.max(l,c),d=e.side,m=1/0,y=-1/0;for(var v in g.each((function(t){var r=n.select(this);if(r.select(\".text-math-group\").empty()){var a=f.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e[\"_visibleLabelMin_\"+r._id]?l.style(\"display\",\"none\"):\"tick\"!==t.K||i||l.style(\"display\",null)}))}))}))}))},v(g,m+1?m:d);var x=null;e._selections&&(e._selections[u]=g);var _=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===m?(x=m,_.push((function(){v(g,m)}))):_.push((function(){if(v(g,d),h.length&&e.autotickangles&&(\"log\"!==e.type||\"D\"!==String(e.dtick).charAt(0))){x=e.autotickangles[0];var t,n=0,i=[],a=1;g.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),o=Ct(this),s=f.bBox(o.node());a=Math.max(a,c.lineCount(o)),i.push({top:0,bottom:10,height:10,left:r-s.width/2,right:r+s.width/2+2,width:s.width+2})}));var o=(\"boundaries\"===e.tickson||e.showdividers)&&!r.secondary,l=h.length,u=Math.abs((h[l-1].x-h[0].x)*e._m)/(l-1),p=o?u/2:u,m=o?e.ticklen:1.25*n*a,y=p/Math.sqrt(Math.pow(p,2)+Math.pow(m,2)),_=e.autotickangles.map((function(t){return t*Math.PI/180})),b=_.find((function(t){return Math.abs(Math.cos(t))<=y}));void 0===b&&(b=_.reduce((function(t,e){return Math.abs(Math.cos(t))j*O&&(I=O,E[S]=C[S]=P[S])}var U=Math.abs(I-L);U-k>0?k*=1+k/(U-=k):k=0,\"y\"!==e._id.charAt(0)&&(k=-k),E[M]=w.p2r(w.r2p(C[M])+A*k),\"min\"===w.autorange||\"max reversed\"===w.autorange?(E[0]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0):\"max\"!==w.autorange&&\"min reversed\"!==w.autorange||(E[1]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0),a._insideTickLabelsUpdaterange[w._name+\".range\"]=E}var V=s.syncOrAsync(_);return V&&V.then&&t._promises.push(V),V},Z.getPxPosition=function(t,e){var r,n=t._fullLayout._size,i=e._id.charAt(0),a=e.side;return\"free\"!==e.anchor?r=e._anchorAxis:\"x\"===i?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:\"y\"===i&&(r={_offset:n.l+(e.position||0)*n.w+e._shift,_length:0}),\"top\"===a||\"left\"===a?r._offset:\"bottom\"===a||\"right\"===a?r._offset+r._length:void 0},Z.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&(\"linear\"===e.type||\"-\"===e.type)&&!(e.rangebreaks&&e.maskBreaks(0)===O)&&(Et(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(i){var a=t._fullLayout,o=e._id.charAt(0),s=Z.counterLetter(e._id),l=e._offset+(Math.abs(n[0])1)for(n=1;n2*o}(i,e))return\"date\";var g=\"strict\"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=h(r),i=0,o=0,s={},u=0;u2*i}(i,g)?\"category\":function(t,e){for(var r=t.length,n=0;n=2){var s,c,u=\"\";if(2===o.length)for(s=0;s<2;s++)if(c=b(o[s])){u=y;break}var h=i(\"pattern\",u);if(h===y)for(s=0;s<2;s++)(c=b(o[s]))&&(e.bounds[s]=o[s]=c-1);if(h)for(s=0;s<2;s++)switch(c=o[s],h){case y:if(!n(c))return void(e.enabled=!1);if((c=+c)!==Math.floor(c)||c<0||c>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=c;break;case v:if(!n(c))return void(e.enabled=!1);if((c=+c)<0||c>24)return void(e.enabled=!1);e.bounds[s]=o[s]=c}if(!1===r.autorange){var f=r.range;if(f[0]f[1])return void(e.enabled=!1)}else if(o[0]>f[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},e.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(\" \")[0]},e.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},46473:function(t,e,r){\"use strict\";var n=r(87800).isTypedArraySpec;t.exports=function(t,e,r,i){if(\"category\"===e.type){var a,o=t.categoryarray,s=Array.isArray(o)&&o.length>0||n(o);s&&(a=\"array\");var l,c=r(\"categoryorder\",a);\"array\"===c&&(l=r(\"categoryarray\")),s||\"array\"!==c||(c=e.categoryorder=\"trace\"),\"trace\"===c?e._initialCategories=[]:\"array\"===c?e._initialCategories=l.slice():(l=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;oc*x)||T)for(r=0;rz&&FI&&(I=F);f/=(I-L)/(2*P),L=l.l2r(L),I=l.l2r(I),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(t,e,r,n,i){return t.append(\"path\").attr(\"class\",\"zoombox\").style({fill:e>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",c(r,n)).attr(\"d\",i+\"Z\")}function j(t,e,r){return t.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:h.background,stroke:h.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",c(e,r)).attr(\"d\",\"M0,0Z\")}function U(t,e,r,n,i,a){t.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),V(t,e,i,a)}function V(t,e,r,n){r||(t.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),e.transition().style(\"opacity\",1).duration(200))}function q(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function H(t){P&&t.data&&t._context.showTips&&(i.notifier(i._(t,\"Double-click to zoom back out\"),\"long\"),P=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,I)/2);return\"M\"+(t.l-3.5)+\",\"+(t.t-.5+e)+\"h3v\"+-e+\"h\"+e+\"v-3h-\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.t-.5+e)+\"h-3v\"+-e+\"h\"+-e+\"v-3h\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.b+.5-e)+\"h-3v\"+e+\"h\"+-e+\"v3h\"+(e+3)+\"ZM\"+(t.l-3.5)+\",\"+(t.b+.5-e)+\"h3v\"+e+\"h\"+e+\"v3h-\"+(e+3)+\"Z\"}function Z(t,e,r,n,a){for(var o,s,l,c,u=!1,h={},f={},p=(a||{}).xaHash,d=(a||{}).yaHash,m=0;m=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(q(i),2!==t||yt||Ht(),gt)o.indexOf(\"select\")>-1&&S(r,i,$,J,e.id,It),o.indexOf(\"event\")>-1&&p.click(i,r,e.id);else if(1===t&&yt){var s=m?z:P,c=\"s\"===m||\"w\"===y?0:1,h=s._name+\".range[\"+c+\"]\",f=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return\"date\"===t.type?n:\"log\"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a(\".\"+r+\"g\")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a(\".\"+String(r)+\"g\")(n))}(s,c),d=\"left\",g=\"middle\";if(s.fixedrange)return;m?(g=\"n\"===m?\"top\":\"bottom\",\"right\"===s.side&&(d=\"right\")):\"e\"===y&&(d=\"right\"),i._context.showAxisRangeEntryBoxes&&n.select(_t).call(u.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:\"#444\",horizontalAlign:d,verticalAlign:g}).on(\"edit\",(function(t){var e=s.d2r(t);void 0!==e&&l.call(\"_guiRelayout\",i,h,e)}))}}}function Ot(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+bt)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-bt),o=Math.abs(i-wt);function s(){St=\"\",Tt.r=Tt.l,Tt.t=Tt.b,Ct.attr(\"d\",\"M0,0Z\")}if(Tt.l=Math.min(bt,n),Tt.r=Math.max(bt,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>I||o>I?(St=\"xy\",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,bt>n?Tt.l=bt-a:Tt.r=bt+a),Ct.attr(\"d\",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>I||o>I){St=\"xy\";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),c=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=c*tt,Tt.b=(1-l)*et,Tt.t=(1-c)*et,Ct.attr(\"d\",G(Tt))}else s();else!at||o0){var u;if(nt.isSubplotConstrained||!it&&1===at.length){for(u=0;u<$.length;u++)$[u].range=$[u]._r.slice(),E($[u],1-r/et);o=(e=r*tt/et)/2}if(nt.isSubplotConstrained||!at&&1===it.length){for(u=0;u1&&(void 0!==a.maxallowed&&st===(a.range[0]1&&(void 0!==o.maxallowed&<===(o.range[0]1)if(l)e.xlines=f(n,\"path\",\"xlines-above\"),e.ylines=f(n,\"path\",\"ylines-above\"),e.xaxislayer=f(n,\"g\",\"xaxislayer-above\"),e.yaxislayer=f(n,\"g\",\"yaxislayer-above\");else{if(!a){var h=f(n,\"g\",\"layer-subplot\");e.shapelayer=f(h,\"g\",\"shapelayer\"),e.imagelayer=f(h,\"g\",\"imagelayer\"),e.minorGridlayer=f(n,\"g\",\"minor-gridlayer\"),e.gridlayer=f(n,\"g\",\"gridlayer\"),e.zerolinelayer=f(n,\"g\",\"zerolinelayer\");var m=f(n,\"g\",\"layer-between\");e.shapelayerBetween=f(m,\"g\",\"shapelayer\"),e.imagelayerBetween=f(m,\"g\",\"imagelayer\"),f(n,\"path\",\"xlines-below\"),f(n,\"path\",\"ylines-below\"),e.overlinesBelow=f(n,\"g\",\"overlines-below\"),f(n,\"g\",\"xaxislayer-below\"),f(n,\"g\",\"yaxislayer-below\"),e.overaxesBelow=f(n,\"g\",\"overaxes-below\")}e.overplot=f(n,\"g\",\"overplot\"),e.plot=f(e.overplot,\"g\",i),a||(e.xlines=f(n,\"path\",\"xlines-above\"),e.ylines=f(n,\"path\",\"ylines-above\"),e.overlinesAbove=f(n,\"g\",\"overlines-above\"),f(n,\"g\",\"xaxislayer-above\"),f(n,\"g\",\"yaxislayer-above\"),e.overaxesAbove=f(n,\"g\",\"overaxes-above\"),e.xlines=n.select(\".xlines-\"+o),e.ylines=n.select(\".ylines-\"+s),e.xaxislayer=n.select(\".xaxislayer-\"+o),e.yaxislayer=n.select(\".yaxislayer-\"+s))}else{var g=e.mainplotinfo,y=g.plotgroup,v=i+\"-x\",x=i+\"-y\";e.minorGridlayer=g.minorGridlayer,e.gridlayer=g.gridlayer,e.zerolinelayer=g.zerolinelayer,f(g.overlinesBelow,\"path\",v),f(g.overlinesBelow,\"path\",x),f(g.overaxesBelow,\"g\",v),f(g.overaxesBelow,\"g\",x),e.plot=f(g.overplot,\"g\",i),f(g.overlinesAbove,\"path\",v),f(g.overlinesAbove,\"path\",x),f(g.overaxesAbove,\"g\",v),f(g.overaxesAbove,\"g\",x),e.xlines=y.select(\".overlines-\"+o).select(\".\"+v),e.ylines=y.select(\".overlines-\"+s).select(\".\"+x),e.xaxislayer=y.select(\".overaxes-\"+o).select(\".\"+v),e.yaxislayer=y.select(\".overaxes-\"+s).select(\".\"+x)}a||(l||(p(e.minorGridlayer,\"g\",e.xaxis._id),p(e.minorGridlayer,\"g\",e.yaxis._id),e.minorGridlayer.selectAll(\"g\").map((function(t){return t[0]})).sort(c.idSort),p(e.gridlayer,\"g\",e.xaxis._id),p(e.gridlayer,\"g\",e.yaxis._id),e.gridlayer.selectAll(\"g\").map((function(t){return t[0]})).sort(c.idSort)),e.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),e.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0))}function y(t,e){if(t){var r={};for(var i in t.each((function(t){var i=t[0];n.select(this).remove(),v(i,e),r[i]=!0})),e._plots)for(var a=e._plots[i].overlays||[],o=0;o0){var g=p.id;if(-1!==g.indexOf(d))continue;g+=d+(u+1),p=a.extendFlat({},p,{id:g,plot:o._cartesianlayer.selectAll(\".subplot\").select(\".\"+g)})}for(var y,v=[],x=0;x1&&(w+=d+b),_.push(n+w),r=0;r_[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s),\"sync\"===e.tickmode&&(e.tickmode=\"auto\")}return r(\"layer\"),e}},54616:function(t,e,r){\"use strict\";var n=r(87703);t.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r(\"tickprefix\")&&r(\"showtickprefix\",s),r(\"ticksuffix\",o)&&r(\"showticksuffix\",s)}},90259:function(t,e,r){\"use strict\";var n=r(75511);t.exports=function(t,e,r,i){var a=e._template||{},o=e.type||a.type||\"-\";r(\"minallowed\"),r(\"maxallowed\");var s,l=r(\"range\");l||i.noInsiderange||\"log\"===o||(!(s=r(\"insiderange\"))||null!==s[0]&&null!==s[1]||(e.insiderange=!1,s=void 0),s&&(l=r(\"range\",s)));var c,u=e.getAutorangeDflt(l,i),h=r(\"autorange\",u);!l||(null!==l[0]||null!==l[1])&&(null!==l[0]&&null!==l[1]||\"reversed\"!==h&&!0!==h)&&(null===l[0]||\"min\"!==h&&\"max reversed\"!==h)&&(null===l[1]||\"max\"!==h&&\"min reversed\"!==h)||(l=void 0,delete e.range,e.autorange=!0,c=!0),c||(h=r(\"autorange\",u=e.getAutorangeDflt(l,i))),h&&(n(r,h,l),\"linear\"!==o&&\"-\"!==o||r(\"rangemode\")),e.cleanRange()}},67611:function(t,e,r){\"use strict\";var n=r(4530).FROM_BL;t.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||\"center\"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},19091:function(t,e,r){\"use strict\";var n=r(45568),i=r(42696).aL,a=r(34809),o=a.numberFormat,s=r(10721),l=a.cleanNumber,c=a.ms2DateTime,u=a.dateTime2ms,h=a.ensureNumber,f=a.isArrayOrTypedArray,p=r(63821),d=p.FP_SAFE,m=p.BADNUM,g=p.LOG_CLIP,y=p.ONEWEEK,v=p.ONEDAY,x=p.ONEHOUR,_=p.ONEMIN,b=p.ONESEC,w=r(5975),T=r(54826),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}t.exports=function(t,e){e=e||{};var r=t._id||\"x\",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return m}function C(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=u(e,n||t.calendar);if(o===m){if(!s(e))return m;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),c=Math.round(e-l/10);o=u(new Date(c))+l/10}return o}function L(e,r,n){return c(e,r,n||t.calendar)}function I(e){return t._categories[Math.round(e)]}function P(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(\"number\"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return m}function z(e){if(t._categoriesMap)return t._categoriesMap[e]}function O(t){var e=z(t);return void 0!==e?e:s(t)?+t:void 0}function D(t){return s(t)?+t:z(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):m},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j=\"y\"===p;B=function(e){if(!s(e))return m;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lu)){o=a<(c+u)/2?l:l+1;break}o=l+1}var h=t._B[o]||0;return isFinite(h)?R(e,t._m2,h):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l=\"log\"===t.type?E:h,t.l2c=\"log\"===t.type?M:h,t.l2p=B,t.p2l=N,t.c2p=\"log\"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c=\"log\"===t.type?function(t){return M(N(t))}:N,-1!==[\"linear\",\"-\"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=h,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=h):\"log\"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=h,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=h):\"date\"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=C,t.c2d=t.c2r=t.l2d=t.l2r=L,t.d2p=t.r2p=function(e,r,n){return t.l2p(C(e,0,n))},t.p2d=t.p2r=function(t,e,r){return L(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,m,t.calendar)}):\"category\"===t.type?(t.d2c=t.d2l=P,t.r2d=t.c2d=t.l2d=I,t.d2r=t.d2l_noadd=O,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=h,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return I(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return\"string\"==typeof t&&\"\"!==t?t:h(t)}):\"multicategory\"===t.type&&(t.r2d=t.c2d=t.l2d=I,t.d2r=t.d2l_noadd=O,t.r2c=function(e){var r=O(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=z,t.l2r=t.c2r=h,t.r2l=O,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return I(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||\"string\"==typeof t&&\"\"!==t?t:h(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var c in l)if(c!==r){var u=e[w.id2name(c)];s=s.concat(u._traceIndices)}var h=[[0,{}],[0,{}]],d=[];for(i=0;il[1]&&(i[s?0:1]=n),i[0]===i[1]){var c=t.l2r(r),u=t.l2r(n);if(void 0!==r){var h=c+1;void 0!==n&&(h=Math.min(h,u)),i[s?1:0]=h}if(void 0!==n){var f=u+1;void 0!==r&&(f=Math.max(f,c)),i[s?0:1]=f}}}},t.cleanRange=function(e,r){t._cleanRange(e,r),t.limitRange(e)},t._cleanRange=function(e,r){r||(r={}),e||(e=\"range\");var n,i,o=a.nestedProperty(t,e).get();if(i=(i=\"date\"===t.type?a.dfltRange(t.calendar):\"y\"===p?T.DFLTRANGEY:\"realaxis\"===t._name?[0,1]:r.dfltRange||T.DFLTRANGEX).slice(),\"tozero\"!==t.rangemode&&\"nonnegative\"!==t.rangemode||(i[0]=0),o&&2===o.length){var l=null===o[0],c=null===o[1];for(\"date\"!==t.type||t.autorange||(o[0]=a.cleanDate(o[0],m,t.calendar),o[1]=a.cleanDate(o[1],m,t.calendar)),n=0;n<2;n++)if(\"date\"===t.type){if(!a.isDateTime(o[n],t.calendar)){t[e]=i;break}if(t.r2l(o[0])===t.r2l(o[1])){var u=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(u-1e3),o[1]=t.l2r(u+1e3);break}}else{if(!s(o[n])){if(l||c||!s(o[1-n])){t[e]=i;break}o[n]=o[1-n]*(n?10:.1)}if(o[n]<-d?o[n]=-d:o[n]>d&&(o[n]=d),o[0]===o[1]){var h=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=h,o[1]+=h}}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?\"_r\":\"range\",o=t.calendar;t.cleanRange(a);var s,l,c=t.r2l(t[a][0],o),u=t.r2l(t[a][1],o),h=\"y\"===p;if(h?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks&&(t._rangebreaks=t.locateBreaks(Math.min(c,u),Math.max(c,u)),t._rangebreaks.length)){for(s=0;su&&(f=!f),f&&t._rangebreaks.reverse();var d=f?-1:1;for(t._m2=d*t._length/(Math.abs(u-c)-t._lBreaks),t._B.push(-t._m2*(h?u:c)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&c.push({min:t,max:n})}};for(n=0;nr.duration?(function(){for(var r={},n=0;n rect\").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(\".scatterlayer .trace\");n.selectAll(\".point\").call(o.setPointGroupScale,1,1),n.selectAll(\".textpoint\").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,c=i._length,u=l._length,h=!!e.xr1,f=!!e.yr1,p=[];if(h){var d=a.simpleMap(e.xr0,i.r2l),m=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],y=m[1]-m[0];p[0]=(d[0]*(1-r)+r*m[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*y/g),i.range[0]=i.l2r(d[0]*(1-r)+r*m[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*m[1])}else p[0]=0,p[2]=c;if(f){var v=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),_=v[1]-v[0],b=x[1]-x[0];p[1]=(v[1]*(1-r)+r*x[1]-v[1])/(v[0]-v[1])*u,p[3]=u*(1-r+r*b/_),l.range[0]=i.l2r(v[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(v[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=h?c/p[2]:1,T=f?u/p[3]:1,k=h?p[0]:0,A=f?p[1]:0,M=h?p[0]/p[2]*c:0,S=f?p[1]/p[3]*u:0,E=i._offset-M,C=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,C).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},4392:function(t,e,r){\"use strict\";var n=r(33626).traceIs,i=r(9666);function a(t){return{v:\"x\",h:\"y\"}[t.orientation||\"v\"]}function o(t,e){var r=a(t),i=n(t,\"box-violin\"),o=n(t._fullInput||{},\"candlestick\");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+\"0\"]}t.exports=function(t,e,r,s){r(\"autotypenumbers\",s.autotypenumbersDflt),\"-\"===r(\"type\",(s.splomStash||{}).type)&&(function(t,e){if(\"-\"===t.type){var r,s=t._id,l=s.charAt(0);-1!==s.indexOf(\"scene\")&&(s=l);var c=function(t,e,r){for(var n=0;n0&&(i[\"_\"+r+\"axes\"]||{})[e])return i;if((i[r+\"axis\"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}(e,s,l);if(c)if(\"histogram\"!==c.type||l!=={v:\"y\",h:\"x\"}[c.orientation||\"v\"]){var u=l+\"calendar\",h=c[u],f={noMultiCategory:!n(c,\"cartesian\")||n(c,\"noMultiCategory\")};if(\"box\"===c.type&&c._hasPreCompStats&&l==={h:\"x\",v:\"y\"}[c.orientation||\"v\"]&&(f.noMultiCategory=!0),f.autotypenumbers=t.autotypenumbers,o(c,l)){var p=a(c),d=[];for(r=0;r0?\".\":\"\")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}e.manageCommandObserver=function(t,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=e.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(r&&r._commandObserver){if(c)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(c){a(t,c,s.cache),s.check=function(){if(l){var e=a(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],h=0;h0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}t.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if(\"frame\"!==l&&a[\"show\"+l]){s=!0;break}for(var c=!1,u=0;u0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=s.selectAll(\".point\"),this.dataPoints.text=s.selectAll(\"text\"),this.dataPaths.line=s.selectAll(\".js-line\");var l=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=l.selectAll(\"path\"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,u=n.domain,h=n.projection,f=n.lonaxis,p=n.lataxis,d=f._ax,m=p._ax,y=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n=\"geo\"+c.titleCase(n);for(var l=(i[n]||s[n])(),u=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,h=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],f=function(t){return t?l:[]},p=0;pu*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance),u&&l.clipAngle(u-w.clipPad),l}(n),v=[[l.l+l.w*u.x[0],l.t+l.h*(1-u.y[1])],[l.l+l.w*u.x[1],l.t+l.h*(1-u.y[0])]],x=n.center||{},_=h.rotation||{},b=f.range||[],T=p.range||[];if(n.fitbounds){d._length=v[1][0]-v[0][0],m._length=v[1][1]-v[0][1],d.range=g(r,d),m.range=g(r,m);var k=(d.range[0]+d.range[1])/2,A=(m.range[0]+m.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},_={lon:k,lat:A,roll:_.roll};var M=h.type,S=w.lonaxisSpan[M]/2||180,C=w.lataxisSpan[M]/2||90;b=[k-S,k+S],T=[A-C,A+C]}else x={lon:k,lat:A},_={lon:k,lat:_.lat,roll:_.roll}}y.center([x.lon-_.lon,x.lat-_.lat]).rotate([-_.lon,-_.lat,_.roll]).parallels(h.parallels);var L=E(b,T);y.fitExtent(v,L);var I=this.bounds=y.getBounds(L),P=this.fitScale=y.scale(),z=y.translate();if(n.fitbounds){var O=y.getBounds(E(d.range,m.range)),D=Math.min((I[1][0]-I[0][0])/(O[1][0]-O[0][0]),(I[1][1]-I[0][1])/(O[1][1]-O[0][1]));isFinite(D)?y.scale(D*P):c.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else y.scale(h.scale*P);var R=this.midPt=[(I[0][0]+I[1][0])/2,(I[0][1]+I[1][1])/2];if(y.translate([z[0]+(R[0]-z[0]),z[1]+(R[1]-z[1])]).clipExtent(I),n._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return\"lonaxis\"===t||\"lataxis\"===t}function l(t){return Boolean(w.lineLayers[t])}function c(t){return Boolean(w.fillLayers[t])}var u=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||c(t)?e[\"show\"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(\".layer\").data(u,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append(\"g\").attr(\"class\",(function(t){return\"layer \"+t})).each((function(t){var e=a[t]=n.select(this);\"bg\"===t?r.bgRect=e.append(\"rect\").style(\"pointer-events\",\"all\"):s(t)?o[t]=e.append(\"path\").style(\"fill\",\"none\"):\"backplot\"===t?e.append(\"g\").classed(\"choroplethlayer\",!0):\"frontplot\"===t?e.append(\"g\").classed(\"scatterlayer\",!0):l(t)?o[t]=e.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):c(t)&&(o[t]=e.append(\"path\").style(\"stroke\",\"none\"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];\"frame\"===r?n.datum(w.sphereSVG):l(r)||c(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];\"lonaxis\"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):\"lataxis\"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:\"linear\",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};m.setConvert(l,r);var c=m.calcTicks(l);e.isScoped||\"lonaxis\"!==t||c.pop();for(var u=c.length,h=new Array(u),f=0;f-1&&_(n.event,i,[r.xaxis],[r.yaxis],r.id,u),s.indexOf(\"event\")>-1&&p.click(i,n.event))}))}function h(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i=\"clip\"+r._uid+t.id;t.clipDef=r._clips.append(\"clipPath\").attr(\"id\",i),t.clipRect=t.clipDef.append(\"rect\"),t.framework=n.select(t.container).append(\"g\").attr(\"class\",\"geo \"+t.id).call(f.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:\"x\",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:\"y\",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},m.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,\"projection.scale\":n.scale},e=t._isScoped?{\"center.lon\":r.lon,\"center.lat\":r.lat}:t._isClipped?{\"projection.rotation.lon\":i.lon,\"projection.rotation.lat\":i.lat}:{\"center.lon\":r.lon,\"center.lat\":r.lat,\"projection.rotation.lon\":i.lon},c.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?u(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?\"none\":null}for(t in this.basePaths)this.basePaths[t].attr(\"d\",r);for(t in this.dataPaths)this.dataPaths[t].attr(\"d\",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr(\"display\",i).attr(\"transform\",n)}},47544:function(t,e,r){\"use strict\";var n=r(4173).fX,i=r(34809).counterRegex,a=r(6493),o=\"geo\",s=i(o),l={};l[o]={valType:\"subplotid\",dflt:o,editType:\"calc\"},t.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(42194),supplyLayoutDefaults:r(31653),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[o],s=0;s0&&I<0&&(I+=360);var P,z,O,D=(L+I)/2;if(!p){var R=d?h.projRotate:[D,0,0];P=r(\"projection.rotation.lon\",R[0]),r(\"projection.rotation.lat\",R[1]),r(\"projection.rotation.roll\",R[2]),r(\"showcoastlines\",!d&&x)&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),r(\"showocean\",!!x&&void 0)&&r(\"oceancolor\")}p?(z=-96.6,O=38.7):(z=d?D:P,O=(C[0]+C[1])/2),r(\"center.lon\",z),r(\"center.lat\",O),m&&(r(\"projection.tilt\"),r(\"projection.distance\")),g&&r(\"projection.parallels\",h.projParallels||[0,60]),r(\"projection.scale\"),r(\"showland\",!!x&&void 0)&&r(\"landcolor\"),r(\"showlakes\",!!x&&void 0)&&r(\"lakecolor\"),r(\"showrivers\",!!x&&void 0)&&(r(\"rivercolor\"),r(\"riverwidth\")),r(\"showcountries\",d&&\"usa\"!==u&&x)&&(r(\"countrycolor\"),r(\"countrywidth\")),(\"usa\"===u||\"north america\"===u&&50===c)&&(r(\"showsubunits\",x),r(\"subunitcolor\"),r(\"subunitwidth\")),d||r(\"showframe\",x)&&(r(\"framecolor\"),r(\"framewidth\")),r(\"bgcolor\"),r(\"fitbounds\")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):y?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}t.exports=function(t,e,r){i(t,e,r,{type:\"geo\",attributes:s,handleDefaults:c,fullData:r,partition:\"y\"})}},14309:function(t,e,r){\"use strict\";var n=r(45568),i=r(34809),a=r(33626),o=Math.PI/180,s=180/Math.PI,l={cursor:\"pointer\"},c={cursor:\"auto\"};function u(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function h(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],h={},f={};function p(t,e){h[n+\".\"+t]=i.nestedProperty(l,t).get(),a.call(\"_storeDirectGUIEdit\",s,c._preGUI,h);var r=i.nestedProperty(u,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),f[n+\".\"+t]=e)}r(p),p(\"projection.scale\",e.scale()/t.fitScale),p(\"fitbounds\",!1),o.emit(\"plotly_relayout\",f)}function f(t,e){var r=u(0,e);function i(r){var n=e.invert(t.midPt);r(\"center.lon\",n[0]),r(\"center.lat\",n[1])}return r.on(\"zoomstart\",(function(){n.select(this).style(l)})).on(\"zoom\",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":e.scale()/t.fitScale,\"geo.center.lon\":r[0],\"geo.center.lat\":r[1]})})).on(\"zoomend\",(function(){n.select(this).style(c),h(t,e,i)})),r}function p(t,e){var r,i,a,o,s,f,p,d,m,g=u(0,e);function y(t){return e.invert(t)}function v(r){var n=e.rotate(),i=e.invert(t.midPt);r(\"projection.rotation.lon\",-n[0]),r(\"center.lon\",i[0]),r(\"center.lat\",i[1])}return g.on(\"zoomstart\",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)})).on(\"zoom\",(function(){if(f=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(f)&&(d=y(f),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=f),m=!0,t.render(!0);var l=e.rotate(),c=e.invert(t.midPt);t.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":e.scale()/t.fitScale,\"geo.center.lon\":c[0],\"geo.center.lat\":c[1],\"geo.projection.rotation.lon\":-l[0]})})).on(\"zoomend\",(function(){n.select(this).style(c),m&&h(t,e,v)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=u(0,e),f=function(t){for(var e=0,r=arguments.length,i=[];++ed?(a=(h>0?90:-90)-p,i=0):(a=Math.asin(h/d)*s-p,i=Math.sqrt(d*d-h*h));var m=180-a-2*p,y=(Math.atan2(f,u)-Math.atan2(c,i))*s,x=(Math.atan2(f,u)-Math.atan2(c,-i))*s;return g(r[0],r[1],a,y)<=g(r[0],r[1],m,x)?[a,y,r[2]]:[m,x,r[2]]}(T,r,E);isFinite(k[0])&&isFinite(k[1])&&isFinite(k[2])||(k=E),e.rotate(k),E=k}}else r=m(e,M=_);f.of(this,arguments)({type:\"zoom\"})})),A=f.of(this,arguments),p++||A({type:\"zoomstart\"})})).on(\"zoomend\",(function(){var r;n.select(this).style(c),d.call(a,\"zoom\",null),r=f.of(this,arguments),--p||r({type:\"zoomend\"}),h(t,e,y)})).on(\"zoom.redraw\",(function(){t.render(!0);var r=e.rotate();t.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":e.scale()/t.fitScale,\"geo.projection.rotation.lon\":-r[0],\"geo.projection.rotation.lat\":-r[1]})})),n.rebind(a,f,\"on\")}function m(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=y(r-t),a=y(n-e);return Math.sqrt(i*i+a*a)}function y(t){return(t%360+540)%360-180}function v(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[a]=t[a]*l-t[s]*c,i[s]=t[s]*l+t[a]*c,i}function x(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(a)*b*(s>=0?1:-1),c.boxEnd[1]l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(b))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/b*(a>=0?1:-1),c.boxEnd[0]l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(b)))}}else c.boxEnabled?(a=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],a||s?(a&&(g(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case\"pan\":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n).999&&(g=\"turntable\"):g=\"turntable\")}else g=\"turntable\";r(\"dragmode\",g),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}t.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:u,attributes:l,handleDefaults:h,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},77168:function(t,e,r){\"use strict\";var n=r(63397),i=r(13792).u,a=r(93049).extendFlat,o=r(34809).counterRegex;function s(t,e,r){return{x:{valType:\"number\",dflt:t,editType:\"camera\"},y:{valType:\"number\",dflt:e,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}t.exports={_arrayAttrRegexps:[o(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:i({name:\"scene\",editType:\"plot\"}),aspectmode:{valType:\"enumerated\",values:[\"auto\",\"cube\",\"data\",\"manual\"],dflt:\"auto\",editType:\"plot\",impliedEdits:{\"aspectratio.x\":void 0,\"aspectratio.y\":void 0,\"aspectratio.z\":void 0}},aspectratio:{x:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},y:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},z:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},editType:\"plot\",impliedEdits:{aspectmode:\"manual\"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:\"enumerated\",values:[\"orbit\",\"turntable\",\"zoom\",\"pan\",!1],editType:\"plot\"},hovermode:{valType:\"enumerated\",values:[\"closest\",!1],dflt:\"closest\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"plot\",_deprecated:{cameraposition:{valType:\"info_array\",editType:\"camera\"}}}},64087:function(t,e,r){\"use strict\";var n=r(55010),i=[\"xaxis\",\"yaxis\",\"zaxis\"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},t.exports=function(t){var e=new a;return e.merge(t),e}},32412:function(t,e,r){\"use strict\";t.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],c=0;c<3;++c){var u=s[a[c]];if(u._length=(r[c].hi-r[c].lo)*r[c].pixelsPerDataUnit/t.dataScale[c],Math.abs(u._length)===1/0||isNaN(u._length))l[c]=[];else{u._input_range=u.range.slice(),u.range[0]=r[c].lo/t.dataScale[c],u.range[1]=r[c].hi/t.dataScale[c],u._m=1/(t.dataScale[c]*r[c].pixelsPerDataUnit),u.range[0]===u.range[1]&&(u.range[0]-=1,u.range[1]+=1);var h=u.tickmode;if(\"auto\"===u.tickmode){u.tickmode=\"linear\";var f=u.nticks||i.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/f)}for(var p=n.calcTicks(u,{msUTC:!0}),d=0;d/g,\" \"));l[c]=p,u.tickmode=h}}for(e.ticks=l,c=0;c<3;++c)for(o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]),d=0;d<2;++d)e.bounds[d][c]=t.glplot.bounds[d][c];t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!c&&{passive:!1}),t.glplot.canvas.addEventListener(\"mousemove\",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit(\"plotly_relayouting\",e)}})),t.staticMode||t.glplot.canvas.addEventListener(\"webglcontextlost\",(function(r){e&&e.emit&&e.emit(\"plotly_webglcontextlost\",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},k.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,\"viewBox\",\"0 0 \"+s+\" \"+l),n.setAttributeNS(null,\"width\",s),n.setAttributeNS(null,\"height\",l),_(e),e.glplot.axes.update(e.axesOptions);for(var c=Object.keys(e.traces),u=null,f=e.glplot.selection,m=0;m\")):\"isosurface\"===t.type||\"volume\"===t.type?(k.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),t.valuehoverformat),E.push(\"value: \"+k.valueLabel),f.textLabel&&E.push(f.textLabel),x=E.join(\"
\")):x=f.textLabel;var C={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:b._input,fullData:b,curveNumber:b.index,pointNumber:T};d.appendArrayPointValue(C,b,T),t._module.eventData&&(C=b._module.eventData(C,f,b,{},T));var L={points:[C]};if(e.fullSceneLayout.hovermode){var I=[];d.loneHover({trace:b,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:x,name:u.name,color:d.castHoverOption(b,T,\"bgcolor\")||u.color,borderColor:d.castHoverOption(b,T,\"bordercolor\"),fontFamily:d.castHoverOption(b,T,\"font.family\"),fontSize:d.castHoverOption(b,T,\"font.size\"),fontColor:d.castHoverOption(b,T,\"font.color\"),nameLength:d.castHoverOption(b,T,\"namelength\"),textAlign:d.castHoverOption(b,T,\"align\"),hovertemplate:h.castOption(b,T,\"hovertemplate\"),hovertemplateLabels:h.extendFlat({},C,k),eventData:[C]},{container:n,gd:r,inOut_bbox:I}),C.bbox=I[0]}f.distance<5&&(f.buttons||w)?r.emit(\"plotly_click\",L):r.emit(\"plotly_hover\",L),this.oldEventData=L}else d.loneUnhover(n),this.oldEventData&&r.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},k.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):h.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\")};requestAnimationFrame(e)};var M=[\"xaxis\",\"yaxis\",\"zaxis\"];function S(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=M[i],o=a.charAt(0),s=n[a],l=e[o],c=e[o+\"calendar\"],u=e[\"_\"+o+\"length\"];if(h.isArrayOrTypedArray(l))for(var f,p=0;p<(u||l.length);p++)if(h.isArrayOrTypedArray(l[p]))for(var d=0;dy[1][o])y[0][o]=-1,y[1][o]=1;else{var P=y[1][o]-y[0][o];y[0][o]-=P/32,y[1][o]+=P/32}if(_=[y[0][o],y[1][o]],_=b(_,l),y[0][o]=_[0],y[1][o]=_[1],l.isReversed()){var z=y[0][o];y[0][o]=y[1][o],y[1][o]=z}}else _=l.range,y[0][o]=l.r2l(_[0]),y[1][o]=l.r2l(_[1]);y[0][o]===y[1][o]&&(y[0][o]-=1,y[1][o]+=1),v[o]=y[1][o]-y[0][o],l.range=[y[0][o],y[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var O=u.aspectmode;if(\"cube\"===O)g=[1,1,1];else if(\"manual\"===O){var D=u.aspectratio;g=[D.x,D.y,D.z]}else{if(\"auto\"!==O&&\"data\"!==O)throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");var R=[1,1,1];for(o=0;o<3;++o){var F=x[c=(l=u[M[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}g=\"data\"===O||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}u.aspectratio.x=h.aspectratio.x=g[0],u.aspectratio.y=h.aspectratio.y=g[1],u.aspectratio.z=h.aspectratio.z=g[2],n.glplot.setAspectratio(u.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:u.aspectratio.x,y:u.aspectratio.y,z:u.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=u.aspectmode);var B=u.domain||null,N=e._size||null;if(B&&N){var j=n.container.style;j.position=\"absolute\",j.left=N.l+B.x[0]*N.w+\"px\",j.top=N.t+(1-B.y[1])*N.h+\"px\",j.width=N.w*(B.x[1]-B.x[0])+\"px\",j.height=N.h*(B.y[1]-B.y[0])+\"px\"}n.glplot.redraw()}},k.destroy=function(){var t=this;t.glplot&&(t.camera.mouseListener.enabled=!1,t.container.removeEventListener(\"wheel\",t.camera.wheelListener),t.camera=null,t.glplot.dispose(),t.container.parentNode.removeChild(t.container),t.glplot=null)},k.getCamera=function(){var t,e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),{up:{x:(t=e.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?\"orthographic\":\"perspective\"}}},k.setViewport=function(t){var e,r=this,n=t.camera;r.camera.lookAt.apply(this,[[(e=n).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),r.glplot.setAspectratio(t.aspectratio),\"orthographic\"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},k.isCameraChanged=function(t){var e=this.getCamera(),r=h.nestedProperty(t,this.id+\".camera\").get();function n(t,e,r,n){var i=[\"up\",\"center\",\"eye\"],a=[\"x\",\"y\",\"z\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},k.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=h.nestedProperty(t,this.id+\".aspectratio\").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},k.saveLayout=function(t){var e,r,n,i,a,o,s=this,l=s.fullLayout,c=s.isCameraChanged(t),f=s.isAspectChanged(t),p=c||f;if(p){var d={};c&&(e=s.getCamera(),n=(r=h.nestedProperty(t,s.id+\".camera\")).get(),d[s.id+\".camera\"]=n),f&&(i=s.glplot.getAspectratio(),o=(a=h.nestedProperty(t,s.id+\".aspectratio\")).get(),d[s.id+\".aspectratio\"]=o),u.call(\"_storeDirectGUIEdit\",t,l._preGUI,d),c&&(r.set(e),h.nestedProperty(l,s.id+\".camera\").set(e)),f&&(a.set(i),h.nestedProperty(l,s.id+\".aspectratio\").set(i),s.glplot.redraw())}return p},k.updateFx=function(t,e){var r=this,n=r.camera;if(n)if(\"orbit\"===t)n.mode=\"orbit\",n.keyBindingMode=\"rotate\";else if(\"turntable\"===t){n.up=[0,0,1],n.mode=\"turntable\",n.keyBindingMode=\"rotate\";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,c=o.up.z;if(c/Math.sqrt(s*s+l*l+c*c)<.999){var f=r.id+\".camera.up\",p={x:0,y:0,z:1},d={};d[f]=p;var m=i.layout;u.call(\"_storeDirectGUIEdit\",m,a._preGUI,d),o.up=p,h.nestedProperty(m,f).set(p)}}else n.keyBindingMode=t;r.fullSceneLayout.hovermode=e},k.toImage=function(t){var e=this;t||(t=\"png\"),e.staticMode&&e.container.appendChild(n),e.glplot.redraw();var r=e.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(o,i,a);var s=document.createElement(\"canvas\");s.width=i,s.height=a;var l,c=s.getContext(\"2d\",{willReadFrequently:!0}),u=c.createImageData(i,a);switch(u.data.set(o),c.putImageData(u,0,0),t){case\"jpeg\":l=s.toDataURL(\"image/jpeg\");break;case\"webp\":l=s.toDataURL(\"image/webp\");break;default:l=s.toDataURL(\"image/png\")}return e.staticMode&&e.container.removeChild(n),l},k.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[M[t]];p.setConvert(e,this.fullLayout),e.setScale=h.noop}},k.make4thDimension=function(){var t=this,e=t.graphDiv._fullLayout;t._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},p.setConvert(t._mockAxis,e)},t.exports=T},88239:function(t){\"use strict\";t.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap
contributors',tiles:[\"https://tile.openstreetmap.org/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-osm-tiles\",type:\"raster\",source:\"plotly-osm-tiles\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-positron\":a,\"carto-darkmatter\":o,\"carto-voyager\":s,\"carto-positron-nolabels\":\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\",\"carto-darkmatter-nolabels\":\"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json\",\"carto-voyager-nolabels\":\"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json\"},c=n(l);t.exports={styleValueDflt:\"basic\",stylesMap:l,styleValuesMap:c,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",missingStyleErrorMsg:[\"No valid maplibre style found, please set `map.style` to one of:\",c.join(\", \"),\"or use a tile service.\"].join(\"\\n\"),mapOnErrorMsg:\"Map error.\"}},4657:function(t,e,r){\"use strict\";var n=r(34809);t.exports=function(t,e){var r=t.split(\" \"),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=[\"\",\"\"],u=[0,0];switch(i){case\"top\":c[0]=\"top\",u[1]=-l;break;case\"bottom\":c[0]=\"bottom\",u[1]=l}switch(a){case\"left\":c[1]=\"right\",u[0]=-s;break;case\"right\":c[1]=\"left\",u[0]=s}return{anchor:c[0]&&c[1]?c.join(\"-\"):c[0]?c[0]:c[1]?c[1]:\"center\",offset:u}}},34091:function(t,e,r){\"use strict\";var n=r(34809),i=n.strTranslate,a=n.strScale,o=r(4173).fX,s=r(62972),l=r(45568),c=r(62203),u=r(30635),h=r(38793),f=\"map\";e.name=f,e.attr=\"subplot\",e.idRoot=f,e.idRegex=e.attrRegex=n.counterRegex(f),e.attributes={subplot:{valType:\"subplotid\",dflt:\"map\",editType:\"calc\"}},e.layoutAttributes=r(8257),e.supplyLayoutDefaults=r(97446),e.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[f],a=0;ax/2){var _=m.split(\"|\").join(\"
\");y.text(_).attr(\"data-unformatted\",_).call(u.convertToTspans,t),v=c.bBox(y.node())}y.attr(\"transform\",i(-3,8-v.height)),g.insert(\"rect\",\".static-attribution\").attr({x:-v.width-6,y:-v.height-3,width:v.width+6,height:v.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var b=1;v.width+6>x&&(b=x/(v.width+6));var w=[n.l+n.w*p.x[1],n.t+n.h*(1-p.y[0])];g.attr(\"transform\",i(w[0],w[1])+a(b))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots[f],n=0;n0){for(var r=0;r0}function u(t){var e={},r={};switch(t.type){case\"circle\":n.extendFlat(r,{\"circle-radius\":t.circle.radius,\"circle-color\":t.color,\"circle-opacity\":t.opacity});break;case\"line\":n.extendFlat(r,{\"line-width\":t.line.width,\"line-color\":t.color,\"line-opacity\":t.opacity,\"line-dasharray\":t.line.dash});break;case\"fill\":n.extendFlat(r,{\"fill-color\":t.color,\"fill-outline-color\":t.fill.outlinecolor,\"fill-opacity\":t.opacity});break;case\"symbol\":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{\"icon-image\":i.icon+\"-15\",\"icon-size\":i.iconsize/10,\"text-field\":i.text,\"text-size\":i.textfont.size,\"text-anchor\":o.anchor,\"text-offset\":o.offset,\"symbol-placement\":i.placement}),n.extendFlat(r,{\"icon-color\":t.color,\"text-color\":i.textfont.color,\"text-opacity\":t.opacity});break;case\"raster\":n.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=c(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&\"image\"===this.sourceType&&\"image\"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,c(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return\"geojson\"===r?e=\"data\":\"vector\"===r?e=\"string\"==typeof n?\"url\":\"tiles\":\"raster\"===r?(e=\"tiles\",a.tileSize=256):\"image\"===r&&(e=\"url\",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapLayerId=function(t){if(\"traces\"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf(\"event\")>-1&&c.click(n,e.originalEvent)}}},_.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(c)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off(\"click\",e.onClickInPanHandler),f(o)||h(o)?(r.dragPan.disable(),r.on(\"zoomstart\",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener(\"touchstart\",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on(\"click\",e.onClickInPanHandler))}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},_.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+\"px\",n.height=r.h*(e.y[1]-e.y[0])+\"px\",n.left=r.l+e.x[0]*r.w+\"px\",n.top=r.t+(1-e.y[1])*r.h+\"px\",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},_.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;eOpenStreetMap contributors',o=['© Carto',a].join(\" \"),s=['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under ODbL'].join(\" \"),l={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:a,tiles:[\"https://a.tile.openstreetmap.org/{z}/{x}/{y}.png\",\"https://b.tile.openstreetmap.org/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-osm-tiles\",type:\"raster\",source:\"plotly-osm-tiles\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-positron\":{id:\"carto-positron\",version:8,sources:{\"plotly-carto-positron\":{type:\"raster\",attribution:o,tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-positron\",type:\"raster\",source:\"plotly-carto-positron\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-darkmatter\":{id:\"carto-darkmatter\",version:8,sources:{\"plotly-carto-darkmatter\":{type:\"raster\",attribution:o,tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-darkmatter\",type:\"raster\",source:\"plotly-carto-darkmatter\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-terrain\":{id:\"stamen-terrain\",version:8,sources:{\"plotly-stamen-terrain\":{type:\"raster\",attribution:s,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}.png?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-terrain\",type:\"raster\",source:\"plotly-stamen-terrain\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-toner\":{id:\"stamen-toner\",version:8,sources:{\"plotly-stamen-toner\":{type:\"raster\",attribution:s,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-toner\",type:\"raster\",source:\"plotly-stamen-toner\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-watercolor\":{id:\"stamen-watercolor\",version:8,sources:{\"plotly-stamen-watercolor\":{type:\"raster\",attribution:['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under CC BY SA'].join(\" \"),tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-watercolor\",type:\"raster\",source:\"plotly-stamen-watercolor\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"}},c=n(l);t.exports={requiredVersion:i,styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:l,styleValuesNonMapbox:c,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install @plotly/mapbox-gl@\"+i+\".\"].join(\"\\n\"),noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\" Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });\",\"More info here: https://www.mapbox.com/help/define-access-token/\"].join(\"\\n\"),missingStyleErrorMsg:[\"No valid mapbox style found, please set `mapbox.style` to one of:\",c.join(\", \"),\"or register a Mapbox access token to use a Mapbox-served style.\"].join(\"\\n\"),multipleTokensErrorMsg:[\"Set multiple mapbox access token across different mapbox subplot,\",\"using first token found as mapbox-gl does not allow multipleaccess tokens on the same page.\"].join(\"\\n\"),mapOnErrorMsg:\"Mapbox error.\",mapboxLogo:{path0:\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\",path1:\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\",path2:\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\",polygon:\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34\"},styleRules:{map:\"overflow:hidden;position:relative;\",\"missing-css\":\"display:none;\",canary:\"background-color:salmon;\",\"ctrl-bottom-left\":\"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;\",\"ctrl-bottom-right\":\"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;\",ctrl:\"clear: both; pointer-events: auto; transform: translate(0, 0);\",\"ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner\":\"display: none;\",\"ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner\":\"display: block; margin-top:2px\",\"ctrl-attrib.mapboxgl-compact:hover\":\"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;\",\"ctrl-attrib.mapboxgl-compact::after\":'content: \"\"; cursor: pointer; position: absolute; background-image: url(\\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"%3E %3Cpath fill=\"%23333333\" fill-rule=\"evenodd\" d=\"M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0\"/%3E %3C/svg%3E\\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',\"ctrl-attrib.mapboxgl-compact\":\"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;\",\"ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; right: 0\",\"ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; left: 0\",\"ctrl-bottom-left .mapboxgl-ctrl\":\"margin: 0 0 10px 10px; float: left;\",\"ctrl-bottom-right .mapboxgl-ctrl\":\"margin: 0 10px 10px 0; float: right;\",\"ctrl-attrib\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a:hover\":\"color: inherit; text-decoration: underline;\",\"ctrl-attrib .mapbox-improve-map\":\"font-weight: bold; margin-left: 2px;\",\"attrib-empty\":\"display: none;\",\"ctrl-logo\":'display:block; width: 21px; height: 21px; background-image: url(\\'data:image/svg+xml;charset=utf-8,%3C?xml version=\"1.0\" encoding=\"utf-8\"?%3E %3Csvg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 21 21\" style=\"enable-background:new 0 0 21 21;\" xml:space=\"preserve\"%3E%3Cg transform=\"translate(0,0.01)\"%3E%3Cpath d=\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3Cpath d=\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpath d=\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpolygon points=\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 \" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3C/g%3E%3C/svg%3E\\')'}}},2178:function(t,e,r){\"use strict\";var n=r(34809);t.exports=function(t,e){var r=t.split(\" \"),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=[\"\",\"\"],u=[0,0];switch(i){case\"top\":c[0]=\"top\",u[1]=-l;break;case\"bottom\":c[0]=\"bottom\",u[1]=l}switch(a){case\"left\":c[1]=\"right\",u[0]=-s;break;case\"right\":c[1]=\"left\",u[0]=s}return{anchor:c[0]&&c[1]?c.join(\"-\"):c[0]?c[0]:c[1]?c[1]:\"center\",offset:u}}},68192:function(t,e,r){\"use strict\";var n=r(32280),i=r(34809),a=i.strTranslate,o=i.strScale,s=r(4173).fX,l=r(62972),c=r(45568),u=r(62203),h=r(30635),f=r(5417),p=\"mapbox\",d=e.constants=r(44245);e.name=p,e.attr=\"subplot\",e.idRoot=p,e.idRegex=e.attrRegex=i.counterRegex(p);var m=[\"mapbox subplots and traces are deprecated!\",\"Please consider switching to `map` subplots and traces.\",\"Learn more at: https://plotly.com/javascript/maplibre-migration/\"].join(\" \");e.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}},e.layoutAttributes=r(67514),e.supplyLayoutDefaults=r(86989);var g=!0;function y(t){return\"string\"==typeof t&&(-1!==d.styleValuesMapbox.indexOf(t)||0===t.indexOf(\"mapbox://\")||0===t.indexOf(\"stamen\"))}e.plot=function(t){g&&(g=!1,i.warn(m));var e=t._fullLayout,r=t.calcdata,a=e._subplots[p];if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(\"\"===t._context.mapboxAccessToken)return\"\";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log([\"Listed mapbox access token(s)\",a.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}(t,a);n.accessToken=o;for(var l=0;lw/2){var T=v.split(\"|\").join(\"
\");_.text(T).attr(\"data-unformatted\",T).call(h.convertToTspans,t),b=u.bBox(_.node())}_.attr(\"transform\",a(-3,8-b.height)),x.insert(\"rect\",\".static-attribution\").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var k=1;b.width+6>w&&(k=w/(b.width+6));var A=[n.l+n.w*f.x[1],n.t+n.h*(1-f.y[0])];x.attr(\"transform\",a(A[0],A[1])+o(k))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots[p],n=0;n0){for(var r=0;r0}function u(t){var e={},r={};switch(t.type){case\"circle\":n.extendFlat(r,{\"circle-radius\":t.circle.radius,\"circle-color\":t.color,\"circle-opacity\":t.opacity});break;case\"line\":n.extendFlat(r,{\"line-width\":t.line.width,\"line-color\":t.color,\"line-opacity\":t.opacity,\"line-dasharray\":t.line.dash});break;case\"fill\":n.extendFlat(r,{\"fill-color\":t.color,\"fill-outline-color\":t.fill.outlinecolor,\"fill-opacity\":t.opacity});break;case\"symbol\":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{\"icon-image\":i.icon+\"-15\",\"icon-size\":i.iconsize/10,\"text-field\":i.text,\"text-size\":i.textfont.size,\"text-anchor\":o.anchor,\"text-offset\":o.offset,\"symbol-placement\":i.placement}),n.extendFlat(r,{\"icon-color\":t.color,\"text-color\":i.textfont.color,\"text-opacity\":t.opacity});break;case\"raster\":n.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=c(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&\"image\"===this.sourceType&&\"image\"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,c(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return\"geojson\"===r?e=\"data\":\"vector\"===r?e=\"string\"==typeof n?\"url\":\"tiles\":\"raster\"===r?(e=\"tiles\",a.tileSize=256):\"image\"===r&&(e=\"url\",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if(\"traces\"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf(\"event\")>-1&&c.click(n,e.originalEvent)}}},_.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(c)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off(\"click\",e.onClickInPanHandler),f(o)||h(o)?(r.dragPan.disable(),r.on(\"zoomstart\",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener(\"touchstart\",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on(\"click\",e.onClickInPanHandler))}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},_.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+\"px\",n.height=r.h*(e.y[1]-e.y[0])+\"px\",n.left=r.l+e.x[0]*r.w+\"px\",n.top=r.t+(1-e.y[1])*r.h+\"px\",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},_.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a[\"text-anchor\"]=\"start\",a.x=5):(a[\"text-anchor\"]=\"end\",a.x=e._paper.attr(\"width\")-7),r.attr(a);var o=r.select(\".js-link-to-tool\"),s=r.select(\".js-link-spacer\"),l=r.select(\".js-sourcelinks\");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text(\"\");var r=e.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(t._context.linkText+\" \"+String.fromCharCode(187));if(t._context.sendData)r.on(\"click\",(function(){w.sendDataToCloud(t)}));else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?\" - \":\"\")}},w.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit(\"plotly_beforeexport\");var r=n.select(t).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),i=r.append(\"form\").attr({action:e+\"/external\",method:\"post\",target:\"_blank\"});return i.append(\"input\").attr({type:\"text\",name:\"data\"}).node().value=w.graphJson(t,!1,\"keepdata\"),i.node().submit(),r.remove(),t.emit(\"plotly_afterexport\"),!1}};var A=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],M=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];function S(t,e){var r=t._context.locale;r||(r=\"en-US\");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&O.length>1){for(l.getComponentMethod(\"grid\",\"sizeDefaults\")(c,s),o=0;o15&&O.length>15&&0===s.shapes.length&&0===s.images.length,w.linkSubplots(f,s,u,n),w.cleanPlot(f,s,u,n);var N=!(!n._has||!n._has(\"gl2d\")),j=!(!s._has||!s._has(\"gl2d\")),U=!(!n._has||!n._has(\"cartesian\"))||N,V=!(!s._has||!s._has(\"cartesian\"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(s._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&m({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var u=1-2*s;n=Math.round(u*n),i=Math.round(u*i)}}var f=w.layoutAttributes.width.min,p=w.layoutAttributes.height.min;n1,m=!e.height&&Math.abs(r.height-i)>1;(m||d)&&(d&&(r.width=n),m&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),w.sanitizeMargins(r)},w.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=l.componentsRegistry,c=e._basePlotModules,u=l.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var f in c.length||c.push(u),e._has(\"cartesian\")&&(l.getComponentMethod(\"grid\",\"contentDefaults\")(t,e),u.finalizeSubplots(t,e)),e._subplots)e._subplots[f].sort(h.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var v=(r.t+r.b)/p;v>1&&(r.t/=v,r.b/=v)}var x=void 0!==r.xl?r.xl:r.x,_=void 0!==r.xr?r.xr:r.x,b=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:_,size:r.r+g},b:{val:T,size:r.b+g},t:{val:b,size:r.t+g}},m[e]=1}else delete d[e],delete m[e];if(!n._replotting)return w.doAutoMargin(t)}},w.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),P(e);var i=e._size,a=e.margin,s={t:0,b:0,l:0,r:0},c=h.extendFlat({},i),u=a.l,f=a.r,p=a.t,m=a.b,g=e._pushmargin,y=e._pushmarginIds,v=e.minreducedwidth,x=e.minreducedheight;if(!1!==a.autoexpand){for(var _ in g)y[_]||delete g[_];var b=t._fullLayout._reservedMargin;for(var T in b)for(var k in b[T]){var A=b[T][k];s[k]=Math.max(s[k],A)}for(var M in g.base={l:{val:0,size:u},r:{val:1,size:f},t:{val:1,size:p},b:{val:0,size:m}},s){var S=0;for(var E in g)\"base\"!==E&&o(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var C=Math.max(0,a[M]-S);s[M]=Math.max(0,s[M]-C)}for(var L in g){var I=g[L].l||{},z=g[L].b||{},O=I.val,D=I.size,R=z.val,F=z.size,B=r-s.r-s.l,N=n-s.t-s.b;for(var j in g){if(o(D)&&g[j].r){var U=g[j].r.val,V=g[j].r.size;if(U>O){var q=(D*U+(V-B)*O)/(U-O),H=(V*(1-O)+(D-B)*(1-U))/(U-O);q+H>u+f&&(u=q,f=H)}}if(o(F)&&g[j].t){var G=g[j].t.val,Z=g[j].t.size;if(G>R){var W=(F*G+(Z-N)*R)/(G-R),Y=(Z*(1-R)+(F-N)*(1-G))/(G-R);W+Y>m+p&&(m=W,p=Y)}}}}}var X=h.constrain(r-a.l-a.r,2,v),$=h.constrain(n-a.t-a.b,2,x),J=Math.max(0,r-X),K=Math.max(0,n-$);if(J){var Q=(u+f)/J;Q>1&&(u/=Q,f/=Q)}if(K){var tt=(m+p)/K;tt>1&&(m/=tt,p/=tt)}if(i.l=Math.round(u)+s.l,i.r=Math.round(f)+s.r,i.t=Math.round(p)+s.t,i.b=Math.round(m)+s.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&(w.didMarginChange(c,i)||function(t){if(\"_redrawFromAutoMarginCount\"in t._fullLayout)return!1;var e=d.list(t,\"\",!0);for(var r in e)if(e[r].autoshift||e[r].shift)return!0;return!1}(t))){\"_redrawFromAutoMarginCount\"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var et=3*(1+Object.keys(y).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return l.call(\"redraw\",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit(\"plotly_transitioninterrupted\",[])}));var a=0,o=0;function s(){return a++,function(){var e;o++,n||o!==a||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return l.call(\"redraw\",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\"plotly_transitioned\",[])})).then(e)))}}r.runFn(s),setTimeout(s())}))}],a=h.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}w.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},w.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&w.supplyDefaults(t);var o=i?t._fullData:t.data,l=i?t._fullLayout:t.layout,c=(t._transitionData||{})._frames;function u(t,e){if(\"function\"==typeof t)return e?\"_function_\":null;if(h.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===[\"_\",\"[\"].indexOf(a.charAt(0)))if(\"function\"!=typeof t[a]){if(\"keepdata\"===r){if(\"src\"===a.substr(a.length-3))return}else if(\"keepstream\"===r){if(\"string\"==typeof(n=t[a+\"src\"])&&n.indexOf(\":\")>0&&!h.isPlainObject(t.stream))return}else if(\"keepall\"!==r&&\"string\"==typeof(n=t[a+\"src\"])&&n.indexOf(\":\")>0)return;i[a]=u(t[a],e)}else e&&(i[a]=\"_function\")})),i}var a=Array.isArray(t),o=h.isTypedArray(t);if((a||o)&&t.dtype&&t.shape){var l=t.bdata;return u({dtype:t.dtype,shape:t.shape,bdata:h.isArrayBuffer(l)?s.encode(l):l},e)}return a?t.map((function(t){return u(t,e)})):o?h.simpleMap(t,h.identity):h.isJSDate(t)?h.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=u(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=u(l),i)){var p=l._size;f.layout.computed={margin:{b:p.b,l:p.l,r:p.r,t:p.t}}}return c&&(f.frames=u(c)),a&&(f.config=u(t._context,!0)),\"object\"===n?f:JSON.stringify(f)},w.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(l[a].enabled){r._indexToPoints=l[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:p,y:p}]),o[0].t||(o[0].t={}),o[0].trace=r,f[e]=o}}for(R(o,s,u),i=0;i1e-10?t:0}function f(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),c=(-o+l)/(2*a),u=(-o-l)/(2*a);return[[c,e*c+i+n],[u,e*u+i+n]]},clampTiny:h,pathPolygon:function(t,e,r,n,i,a){return\"M\"+f(u(t,e,r,n),i,a).join(\"L\")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||i>90&&a>=450?1:s<=0&&c<=0?0:Math.max(s,c),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&c>=0?0:Math.min(s,c),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),e]}(d),b=_[2]-_[0],w=_[3]-_[1],T=p/f,k=Math.abs(w/b);T>k?(m=f,x=(p-(g=f*k))/i.h/2,y=[s[0],s[1]],v=[h[0]+x,h[1]-x]):(g=p,x=(f-(m=p/k))/i.w/2,y=[s[0]+x,s[1]-x],v=[h[0],h[1]]),r.xLength2=m,r.yLength2=g,r.xDomain2=y,r.yDomain2=v;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-v[1]),E=r.radius=m/b,C=r.innerRadius=r.getHole(e)*E,L=r.cx=M-E*_[0],I=r.cy=S+E*_[3],P=r.cxx=L-M,z=r.cyy=I-S,O=a.side;\"counterclockwise\"===O?(A=O,O=\"top\"):\"clockwise\"===O&&(A=O,O=\"bottom\"),r.radialAxis=r.mockAxis(t,e,a,{_id:\"x\",side:O,_trueSide:A,domain:[C/i.w,E/i.w]}),r.angularAxis=r.mockAxis(t,e,o,{side:\"right\",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(t,e),r.updateAngularAxis(t,e),r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.xaxis=r.mockCartesianAxis(t,e,{_id:\"x\",domain:y}),r.yaxis=r.mockCartesianAxis(t,e,{_id:\"y\",domain:v});var F=r.pathSubplot();r.clipPaths.forTraces.select(\"path\").attr(\"d\",F).attr(\"transform\",l(P,z)),n.frontplot.attr(\"transform\",l(M,S)).call(u.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr(\"d\",F).attr(\"transform\",l(L,I)).call(c.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:\"linear\"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange=\"x\"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(e);m(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,\"gregorian\"),i.r2l(o[1],null,\"gregorian\")],void 0!==i.minallowed){var s=i.r2l(i.minallowed);i._rl[0]>i._rl[1]?i._rl[1]=Math.max(i._rl[1],s):i._rl[0]=Math.max(i._rl[0],s)}if(void 0!==i.maxallowed){var l=i.r2l(i.maxallowed);i._rl[0]90&&m<=270&&(g.tickangle=180);var x=v?function(t){var e=z(r,L([t.x,0]));return l(e[0]-h,e[1]-p)}:function(t){return l(g.l2p(t.x)+u,0)},_=v?function(t){return P(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+u)},b=j(d);if(r.radialTickLayout!==b&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=b),y){g.setScale();var w=0,T=v?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return f.tickText(g,t,!0,!1)})):f.calcTicks(g),k=v?T:f.clipEnds(g,T),A=f.getTickSigns(g)[2];v&&((\"top\"===g.ticks&&\"bottom\"===g.side||\"bottom\"===g.ticks&&\"top\"===g.side)&&(A=-A),\"top\"===g.ticks&&\"top\"===g.side&&(w=-g.ticklen),\"bottom\"===g.ticks&&\"bottom\"===g.side&&(w=g.ticklen)),f.drawTicks(n,g,{vals:T,layer:i[\"radial-axis\"],path:f.makeTickPath(g,0,A),transFn:x,crisp:!1}),f.drawGrid(n,g,{vals:k,layer:i[\"radial-grid\"],path:_,transFn:o.noop,crisp:!1}),f.drawLabels(n,g,{vals:T,layer:i[\"radial-axis\"],transFn:x,labelFns:f.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(h,p),E=S+s(-M);V(i[\"radial-axis\"],y&&(d.showticklabels||d.ticks),{transform:E}),V(i[\"radial-grid\"],y&&d.showgrid,{transform:v?\"\":S}),V(i[\"radial-line\"].select(\"line\"),y&&d.showline,{x1:v?-a:u,y1:0,x2:a,y2:0,transform:E}).attr(\"stroke-width\",d.linewidth).call(c.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(e),c=n.id+\"title\",h=0;if(l.title){var f=u.bBox(n.layers[\"radial-axis\"].node()).height,p=l.title.font.size,d=l.side;h=\"top\"===d?p:\"counterclockwise\"===d?-(f+.4*p):f+.8*p}var m=void 0!==r?r:n.radialAxisAngle,g=R(m),y=Math.cos(g),v=Math.sin(g),_=o+a/2*y+h*v,b=s-a/2*v+h*y;n.layers[\"radial-axis-title\"]=x.draw(i,c,{propContainer:l,propName:n.id+\".radialaxis.title\",placeholder:O(i,\"Click to enter radial axis title\"),attributes:{x:_,y:b,\"text-anchor\":\"middle\"},transform:{rotate:-m}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,u=r.innerRadius,h=r.cx,p=r.cy,d=r.getAngular(e),m=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey(\"angularaxis.rotation\",d.rotation),m.setGeometry(),m.setScale());var y=g?function(t){var e=z(r,L([0,t.x]));return Math.atan2(e[0]-h,e[1]-p)-Math.PI/2}:function(t){return m.t2g(t.x)};\"linear\"===m.type&&\"radians\"===m.thetaunit&&(m.tick0=F(m.tick0),m.dtick=F(m.dtick));var v=function(t){return l(h+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=z(r,L([0,t.x]));return l(e[0],e[1])}:function(t){return v(y(t))},_=g?function(t){var e=z(r,L([0,t.x])),n=Math.atan2(e[0]-h,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=y(t);return v(e)+s(-F(e))},b=g?function(t){return I(r,t.x,0,1/0)}:function(t){var e=y(t),r=Math.cos(e),n=Math.sin(e);return\"M\"+[h+u*r,p-u*n]+\"L\"+[h+a*r,p-a*n]},w=f.makeLabelFns(m,0).labelStandoff,T={xFn:function(t){var e=y(t);return Math.cos(e)*w},yFn:function(t){var e=y(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=y(t),r=Math.cos(e);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},heightFn:function(t,e,r){var n=y(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i[\"angular-axis\"].selectAll(\".\"+m._id+\"tick\").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(m.tickvals||[]).map((function(t){return f.tickText(m,t,!0,!1)})):f.calcTicks(m);if(g&&(S[0].text=\"∞\",S[0].fontSize*=1.75),\"linear\"===e.gridshape?(A=S.map(y),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,\"category\"===m.type&&(S=S.filter((function(t){return o.isAngleInsideSector(y(t),r.sectorInRad)}))),m.visible){var E=\"inside\"===m.ticks?-1:1,C=(m.linewidth||1)/2;f.drawTicks(n,m,{vals:S,layer:i[\"angular-axis\"],path:\"M\"+E*C+\",0h\"+E*m.ticklen,transFn:_,crisp:!1}),f.drawGrid(n,m,{vals:S,layer:i[\"angular-grid\"],path:b,transFn:o.noop,crisp:!1}),f.drawLabels(n,m,{vals:S,layer:i[\"angular-axis\"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i[\"angular-line\"].select(\"path\"),d.showline,{d:r.pathSubplot(),transform:l(h,p)}).attr(\"stroke-width\",d.linewidth).call(c.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,c=s.isSmith,u=s.gd,h=s.layers,f=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,m=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,C=s.sectorInRad,L=s.vangles,I=s.radialAxis,P=E.clampTiny,z=E.findXYatLength,O=E.findEnclosingVertexAngles,D=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(h,\"path\",\"maindrag\",!1===t.dragmode?\"none\":\"crosshair\");n.select(F).attr(\"d\",s.pathSubplot()).attr(\"transform\",l(T,k)),F.onmousemove=function(t){v.hover(u,t,s.id),u._fullLayout._lasthover=F,u._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){u._dragging||y.unhover(u,t)};var B,N,j,U,V,q,H,G,Z,W={element:F,gd:u,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function Y(t,e){return Math.sqrt(t*t+e*e)}function X(t,e){return Y(t-A,e-M)}function $(t,e){return Math.atan2(M-e,t-A)}function J(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function K(t,e){if(0===t)return s.pathSector(2*D);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,m)),o=a-D,l=a+D;return\"M\"+J(o,n)+\"A\"+[o,o]+\" 0,0,0 \"+J(o,i)+\"L\"+J(l,i)+\"A\"+[l,l]+\" 0,0,1 \"+J(l,n)+\"Z\"}function Q(t,e,r){if(0===t)return s.pathSector(2*D);var n,i,a=J(t,e),o=J(t,r),l=P((a[0]+o[0])/2),c=P((a[1]+o[1])/2);if(l&&c){var u=c/l,h=-1/u,f=z(D,u,l,c);n=z(R,h,f[0][0],f[0][1]),i=z(R,h,f[1][0],f[1][1])}else{var p,d;c?(p=R,d=D):(p=D,d=R),n=[[l-p,c-d],[l+p,c-d]],i=[[l-p,c+d],[l+p,c+d]]}return\"M\"+n.join(\"L\")+\"L\"+i.reverse().join(\"L\")+\"Z\"}function tt(t,e){return e=Math.max(Math.min(e,m),x),tp?(t-1&&1===t&&b(e,u,[s.xaxis],[s.yaxis],s.id,W),r.indexOf(\"event\")>-1&&v.click(u,e,s.id)}W.prepFn=function(t,n,a){var l=u._fullLayout.dragmode,h=F.getBoundingClientRect();u._fullLayout._calcInverseTransform(u);var p=u._fullLayout._invTransform;e=u._fullLayout._invScaleX,r=u._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-h.left,a-h.top);if(B=d[0],N=d[1],L){var y=E.findPolygonOffset(m,C[0],C[1],L);B+=A+y[0],N+=M+y[1]}switch(l){case\"zoom\":W.clickFn=st,c||(W.moveFn=L?it:rt,W.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),q=!1;var t=u._fullLayout[s.id];H=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(f,H,T,k,V)).attr(\"fill-rule\",\"evenodd\"),Z=g.makeCorners(f,T,k),w(u)}());break;case\"select\":case\"lasso\":_(t,n,a,W,l)}},y.init(W)},N.updateRadialDrag=function(t,e,r){var i=this,c=i.gd,u=i.layers,h=i.radius,f=i.innerRadius,p=i.cx,d=i.cy,m=i.radialAxis,v=S.radialDragBoxSize,x=v/2;if(m.visible){var _,b,T,M=R(i.radialAxisAngle),E=m._rl,C=E[0],L=E[1],I=E[r],P=.75*(E[1]-E[0])/(1-i.getHole(e))/h;r?(_=p+(h+x)*Math.cos(M),b=d-(h+x)*Math.sin(M),T=\"radialdrag\"):(_=p+(f-x)*Math.cos(M),b=d-(f-x)*Math.sin(M),T=\"radialdrag-inner\");var z,O,D,B=g.makeRectDragger(u,T,\"crosshair\",-x,-x,v,v),N={element:B,gd:c};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),m.visible&&f0==(r?D>C:Dn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case\"angularaxis\":!function(t,e){var r=t.type;if(\"linear\"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return\"degrees\"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return\"degrees\"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,r){var n,i,a=e[r],o=e._length,s=function(r){return t.d2c(r,e.thetaunit)};if(a)for(n=new Array(o),i=0;i0?1:0}function r(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function n(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function i(t,e){return e*t.radius}t.exports={smith:r,reactanceArc:function(t,e,a,o){var s=n(t,r([a,e])),l=s[0],c=s[1],u=n(t,r([o,e])),h=u[0],f=u[1];if(0===e)return[\"M\"+l+\",\"+c,\"L\"+h+\",\"+f].join(\" \");var p=i(t,1/Math.abs(e));return[\"M\"+l+\",\"+c,\"A\"+p+\",\"+p+\" 0 0,\"+(e<0?1:0)+\" \"+h+\",\"+f].join(\" \")},resistanceArc:function(t,a,o,s){var l=i(t,1/(a+1)),c=n(t,r([a,o])),u=c[0],h=c[1],f=n(t,r([a,s])),p=f[0],d=f[1];if(e(o)!==e(s)){var m=n(t,r([a,0]));return[\"M\"+u+\",\"+h,\"A\"+l+\",\"+l+\" 0 0,\"+(00){for(var n=[],i=0;i=u&&(f.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function m(t,e,r,n){var i=f[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o(\"uirevision\",n.uirevision),e.type=\"linear\";var p=o(\"color\"),d=p!==i.color.dflt?p:r.font.color,m=e._name.charAt(0).toUpperCase(),g=\"Component \"+m,y=o(\"title.text\",g);e._hovertitle=y===g?y:m,a.coerceFont(o,\"title.font\",r.font,{overrideDflt:{size:a.bigFont(r.font.size),color:d}}),o(\"min\"),u(t,e,o,\"linear\"),l(t,e,o,\"linear\"),s(t,e,o,\"linear\",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),c(t,e,o,{outerTicks:!0}),o(\"showticklabels\")&&(a.coerceFont(o,\"tickfont\",r.font,{overrideDflt:{color:d}}),o(\"tickangle\"),o(\"tickformat\")),h(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o(\"hoverformat\"),o(\"layer\")}t.exports=function(t,e,r){o(t,e,r,{type:\"ternary\",attributes:f,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},83637:function(t,e,r){\"use strict\";var n=r(45568),i=r(65657),a=r(33626),o=r(34809),s=o.strTranslate,l=o._,c=r(78766),u=r(62203),h=r(19091),f=r(93049).extendFlat,p=r(44122),d=r(29714),m=r(14751),g=r(32141),y=r(70414),v=y.freeMode,x=y.rectMode,_=r(17240),b=r(44844).prepSelect,w=r(44844).selectOnClick,T=r(44844).clearOutline,k=r(44844).clearSelectionsCache,A=r(54826);function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.updateFx(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*_?i=(a=_)*E:a=(i=x)/E,o=y*i/x,l=v*a/_,r=e.l+e.w*m-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=b,p.xaxis={type:\"linear\",range:[w+2*k-b,b-w-2*T],domain:[m-o/2,m+o/2],_id:\"x\"},h(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:\"linear\",range:[w,b-T-k],domain:[g-l/2,g+l/2],_id:\"y\"},h(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=f({},t.aaxis,{range:[w,b-T-k],side:\"left\",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:\"free\",position:0,_id:\"y\",_length:i});h(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=f({},t.baxis,{range:[b-w-k,T],side:\"bottom\",domain:p.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:i});h(S,p.graphDiv._fullLayout),S.setScale();var C=p.caxis=f({},t.caxis,{range:[b-w-T,k],side:\"right\",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:\"free\",position:0,_id:\"y\",_length:i});h(C,p.graphDiv._fullLayout),C.setScale();var L=\"M\"+r+\",\"+(n+a)+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";p.clipDef.select(\"path\").attr(\"d\",L),p.layers.plotbg.select(\"path\").attr(\"d\",L);var I=\"M0,\"+a+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";p.clipDefRelative.select(\"path\").attr(\"d\",I);var P=s(r,n);p.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",P),p.clipDefRelative.select(\"path\").attr(\"transform\",null);var z=s(r-S._offset,n+a);p.layers.baxis.attr(\"transform\",z),p.layers.bgrid.attr(\"transform\",z);var O=s(r+i/2,n)+\"rotate(30)\"+s(0,-M._offset);p.layers.aaxis.attr(\"transform\",O),p.layers.agrid.attr(\"transform\",O);var D=s(r+i/2,n)+\"rotate(-30)\"+s(0,-C._offset);p.layers.caxis.attr(\"transform\",D),p.layers.cgrid.attr(\"transform\",D),p.drawAxes(!0),p.layers.aline.select(\"path\").attr(\"d\",M.showline?\"M\"+r+\",\"+(n+a)+\"l\"+i/2+\",-\"+a:\"M0,0\").call(c.stroke,M.linecolor||\"#000\").style(\"stroke-width\",(M.linewidth||0)+\"px\"),p.layers.bline.select(\"path\").attr(\"d\",S.showline?\"M\"+r+\",\"+(n+a)+\"h\"+i:\"M0,0\").call(c.stroke,S.linecolor||\"#000\").style(\"stroke-width\",(S.linewidth||0)+\"px\"),p.layers.cline.select(\"path\").attr(\"d\",C.showline?\"M\"+(r+i/2)+\",\"+n+\"l\"+i/2+\",\"+a:\"M0,0\").call(c.stroke,C.linecolor||\"#000\").style(\"stroke-width\",(C.linewidth||0)+\"px\"),p.graphDiv._context.staticPlot||p.initInteractions(),u.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+\"title\",i=e.layers,a=e.aaxis,o=e.baxis,s=e.caxis;if(e.drawAx(a),e.drawAx(o),e.drawAx(s),t){var c=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+(\"outside\"===s.ticks?.87*s.ticklen:0)),u=(o.showticklabels?o.tickfont.size:0)+(\"outside\"===o.ticks?o.ticklen:0)+3;i[\"a-title\"]=_.draw(r,\"a\"+n,{propContainer:a,propName:e.id+\".aaxis.title\",placeholder:l(r,\"Click to enter Component A title\"),attributes:{x:e.x0+e.w/2,y:e.y0-a.title.font.size/3-c,\"text-anchor\":\"middle\"}}),i[\"b-title\"]=_.draw(r,\"b\"+n,{propContainer:o,propName:e.id+\".baxis.title\",placeholder:l(r,\"Click to enter Component B title\"),attributes:{x:e.x0-u,y:e.y0+e.h+.83*o.title.font.size+u,\"text-anchor\":\"middle\"}}),i[\"c-title\"]=_.draw(r,\"c\"+n,{propContainer:s,propName:e.id+\".caxis.title\",placeholder:l(r,\"Click to enter Component C title\"),attributes:{x:e.x0+e.w+u,y:e.y0+e.h+.83*s.title.font.size+u,\"text-anchor\":\"middle\"}})}},S.drawAx=function(t){var e,r=this,n=r.graphDiv,i=t._name,a=i.charAt(0),s=t._id,l=r.layers[i],c=a+\"tickLayout\",u=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);r[c]!==u&&(l.selectAll(\".\"+s+\"tick\").remove(),r[c]=u),t.setScale();var h=d.calcTicks(t),f=d.clipEnds(t,h),p=d.makeTransTickFn(t),m=d.getTickSigns(t)[2],g=o.deg2rad(30),y=m*(t.linewidth||1)/2,v=m*t.ticklen,x=r.w,_=r.h,b=\"b\"===a?\"M0,\"+y+\"l\"+Math.sin(g)*v+\",\"+Math.cos(g)*v:\"M\"+y+\",0l\"+Math.cos(g)*v+\",\"+-Math.sin(g)*v,w={a:\"M0,0l\"+_+\",-\"+x/2,b:\"M0,0l-\"+x/2+\",-\"+_,c:\"M0,0l-\"+_+\",\"+x/2}[a];d.drawTicks(n,t,{vals:\"inside\"===t.ticks?f:h,layer:l,path:b,transFn:p,crisp:!1}),d.drawGrid(n,t,{vals:f,layer:r.layers[a+\"grid\"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,t,{vals:h,layer:l,transFn:p,labelFns:d.makeLabelFns(t,0,30)})};var C=A.MINZOOM/2+.87,L=\"m-0.87,.5h\"+C+\"v3h-\"+(C+5.2)+\"l\"+(C/2+2.6)+\",-\"+(.87*C+4.5)+\"l2.6,1.5l-\"+C/2+\",\"+.87*C+\"Z\",I=\"m0.87,.5h-\"+C+\"v3h\"+(C+5.2)+\"l-\"+(C/2+2.6)+\",-\"+(.87*C+4.5)+\"l-2.6,1.5l\"+C/2+\",\"+.87*C+\"Z\",P=\"m0,1l\"+C/2+\",\"+.87*C+\"l2.6,-1.5l-\"+(C/2+2.6)+\",-\"+(.87*C+4.5)+\"l-\"+(C/2+2.6)+\",\"+(.87*C+4.5)+\"l2.6,1.5l\"+C/2+\",-\"+.87*C+\"Z\",z=!0;function O(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,h,f,p,d,y,_,T,k,M=this,S=M.layers.plotbg.select(\"path\").node(),C=M.graphDiv,D=C._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+\".aaxis.min\"]=t.a,e[M.id+\".baxis.min\"]=t.b,e[M.id+\".caxis.min\"]=t.c,e}function F(t,e){var r=C._fullLayout.clickmode;O(C),2===t&&(C.emit(\"plotly_doubleclick\",null),a.call(\"_guiRelayout\",C,R({a:0,b:0,c:0}))),r.indexOf(\"select\")>-1&&1===t&&w(e,C,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf(\"event\")>-1&&g.click(C,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),c=Math.max(0,Math.min(1,N(r,n),N(o,s))),u=Math.max(0,Math.min(1,j(r,n),j(o,s))),m=(l/2+u)*M.w,g=(1-l/2-c)*M.w,v=(m+g)/2,x=g-m,b=(1-l)*M.h,w=b-x/E;x.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),k.transition().style(\"opacity\",1).duration(200),_=!0),C.emit(\"plotly_relayouting\",R(p))}function V(){O(C),p!==h&&(a.call(\"_guiRelayout\",C,R(p)),z&&C.data&&C._context.showTips&&(o.notifier(l(C,\"Double-click to zoom back out\"),\"long\"),z=!1))}function q(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:h.a-n,b:h.b+(r+n)/2,c:h.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),c=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[c]},e=(h.a-p.a)*M.yaxis._m,t=(h.c-p.c-h.b+p.b)*M.xaxis._m);var f=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",f);var d=s(-t,-e);M.clipDefRelative.select(\"path\").attr(\"transform\",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(u.hideOutsideRangePoints,M),C.emit(\"plotly_relayouting\",R(p))}function H(){a.call(\"_guiRelayout\",C,R(p))}this.dragOptions={element:S,gd:C,plotinfo:{id:M.id,domain:C._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,u){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=C._fullLayout._invScaleX,e=C._fullLayout._invScaleY;var m=M.dragOptions.dragmode=C._fullLayout.dragmode;v(m)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,\"zoom\"===m?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,C._fullLayout._calcInverseTransform(C);var u=C._fullLayout._invTransform,m=o.apply3DTransform(u)(r,n);r=m[0],n=m[1],h={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=h,f=M.aaxis.range[1]-h.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),y=\"M0,\"+M.h+\"L\"+M.w/2+\", 0L\"+M.w+\",\"+M.h+\"Z\",_=!1,T=D.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",s(M.x0,M.y0)).style({fill:d>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",y),k=D.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",s(M.x0,M.y0)).style({fill:c.background,stroke:c.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),M.clearOutline(C)}(0,l,u)):\"pan\"===m?(M.dragOptions.moveFn=q,M.dragOptions.clickFn=F,M.dragOptions.doneFn=H,h={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=h,M.clearOutline(C)):(x(m)||v(m))&&b(a,l,u,M.dragOptions,m)}},S.onmousemove=function(t){g.hover(C,t,M.id),C._fullLayout._lasthover=S,C._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){C._dragging||m.unhover(C,t)},m.init(this.dragOptions)}},33626:function(t,e,r){\"use strict\";var n=r(48636),i=r(4969),a=r(36539),o=r(56174),s=r(95425).addStyleRule,l=r(93049),c=r(9829),u=r(6704),h=l.extendFlat,f=l.extendDeepAll;function p(t){var i=t.name,a=t.categories,o=t.meta;if(e.modules[i])n.log(\"Type \"+i+\" already registered\");else{e.subplotsRegistry[t.basePlotModule.name]||function(t){var r=t.name;if(e.subplotsRegistry[r])n.log(\"Plot type \"+r+\" already registered.\");else for(var i in y(t),e.subplotsRegistry[r]=t,e.componentsRegistry)_(i,t.name)}(t.basePlotModule);for(var l={},c=0;c-1&&(h[p[r]].title={text:\"\"});for(r=0;r\")?\"\":e.html(t).text()}));return e.remove(),r}(w)).replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&\")).replace(u,\"'\"),i.isIE()&&(w=(w=(w=w.replace(/\"/gi,\"'\")).replace(/(\\('#)([^']*)('\\))/gi,'(\"#$2\")')).replace(/(\\\\')/gi,'\"')),w}},35374:function(t,e,r){\"use strict\";var n=r(34809);t.exports=function(t,e){for(var r=0;rh+c||!n(u))}for(var p=0;p=0)return t}else if(\"string\"==typeof t&&\"%\"===(t=t.trim()).slice(-1)&&n(t.slice(0,-1))&&(t=+t.slice(0,-1))>=0)return t+\"%\"}function d(t,e,r,n,a,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),c=!(!1===o.moduleHasConstrain),u=!(!1===o.moduleHasCliponaxis),h=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,m=Array.isArray(a)||\"auto\"===a,g=m||\"inside\"===a,y=m||\"outside\"===a;if(g||y){var v=f(n,\"textfont\",r.font),x=i.extendFlat({},v),_=!(t.textfont&&t.textfont.color);if(_&&delete x.color,f(n,\"insidetextfont\",x),d){var b=i.extendFlat({},v);_&&delete b.color,f(n,\"pathbar.textfont\",b)}y&&f(n,\"outsidetextfont\",v),s&&n(\"selected.textfont.color\"),l&&n(\"unselected.textfont.color\"),c&&n(\"constraintext\"),u&&n(\"cliponaxis\"),h&&n(\"textangle\"),n(\"texttemplate\")}g&&p&&n(\"insidetextanchor\")}t.exports={supplyDefaults:function(t,e,r,n){function u(r,n){return i.coerce(t,e,h,r,n)}if(s(t,e,n,u)){l(t,e,n,u),u(\"xhoverformat\"),u(\"yhoverformat\"),u(\"zorder\"),u(\"orientation\",e.x&&!e.y?\"h\":\"v\"),u(\"base\"),u(\"offset\"),u(\"width\"),u(\"text\"),u(\"hovertext\"),u(\"hovertemplate\");var f=u(\"textposition\");d(t,0,n,u,f,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),c(t,e,u,r,n);var p=(e.marker.line||{}).color,m=o.getComponentMethod(\"errorbars\",\"supplyDefaults\");m(t,e,p||a.defaultLine,{axis:\"y\"}),m(t,e,p||a.defaultLine,{axis:\"x\",inherit:\"y\"}),i.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1},crossTraceDefaults:function(t,e){var r,n;function a(t,e){return i.coerce(n._input,n,h,t,e)}for(var o=0;oa))return e}return void 0!==r?r:t.dflt},e.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},e.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},e.getValue=function(t,e){var r;return a(t)?e0?e+=r:u<0&&(e-=r)}return e}function O(t){var e=u,r=t.b,i=z(t);return n.inbox(r-e,i-e,b+(i-e)/(i-r)-1)}var D=t[h+\"a\"],R=t[f+\"a\"];m=Math.abs(D.r2c(D.range[1])-D.r2c(D.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==c){k||(C=function(t){return Math.min(A(t),t.p-v.bargroupwidth/2)},L=function(t){return Math.max(M(t),t.p+v.bargroupwidth/2)});var B=g[t.index],N=y.base?B.b+B.s:B.s;t[f+\"0\"]=t[f+\"1\"]=R.c2p(B[f],!0),t[f+\"LabelVal\"]=N;var j=v.extents[v.extents.round(B.p)];t[h+\"0\"]=D.c2p(x?C(B):j[0],!0),t[h+\"1\"]=D.c2p(x?L(B):j[1],!0);var U=void 0!==B.orig_p;return t[h+\"LabelVal\"]=U?B.orig_p:B.p,t.labelLabel=l(D,t[h+\"LabelVal\"],y[h+\"hoverformat\"]),t.valueLabel=l(R,t[f+\"LabelVal\"],y[f+\"hoverformat\"]),t.baseLabel=l(R,B.b,y[f+\"hoverformat\"]),t.spikeDistance=(function(t){var e=u,r=t.b,i=z(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return I(A(t),M(t),w)}(B))/2,t[h+\"Spike\"]=D.c2p(B.p,!0),o(B,y,t),t.hovertemplate=y.hovertemplate,t}}function h(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}t.exports={hoverPoints:function(t,e,r,n,a){var o=u(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,c=s[o.index];return o.color=h(l,c),i.getComponentMethod(\"errorbars\",\"hoverInfo\")(c,l,o),[o]}},hoverOnBars:u,getTraceColor:h}},58218:function(t,e,r){\"use strict\";t.exports={attributes:r(81481),layoutAttributes:r(25412),supplyDefaults:r(17550).supplyDefaults,crossTraceDefaults:r(17550).crossTraceDefaults,supplyLayoutDefaults:r(78931),calc:r(67565),crossTraceCalc:r(24782).crossTraceCalc,colorbar:r(21146),arraysToCalcdata:r(35374),plot:r(32995).plot,style:r(6851).style,styleOnSelect:r(6851).styleOnSelect,hoverPoints:r(91664).hoverPoints,eventData:r(59541),selectPoints:r(88384),moduleType:\"trace\",name:\"bar\",basePlotModule:r(37703),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],animatable:!0,meta:{}}},25412:function(t){\"use strict\";t.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\",\"relative\"],dflt:\"group\",editType:\"calc\"},barnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},bargap:{valType:\"number\",min:0,max:1,editType:\"calc\"},bargroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},barcornerradius:{valType:\"any\",editType:\"calc\"}}},78931:function(t,e,r){\"use strict\";var n=r(33626),i=r(29714),a=r(34809),o=r(25412),s=r(17550).validateCornerradius;t.exports=function(t,e,r){function l(r,n){return a.coerce(t,e,o,r,n)}for(var c=!1,u=!1,h=!1,f={},p=l(\"barmode\"),d=0;d0)-(t<0)}function A(t,e){return t0}function E(t,e,r,n,i){return!(t<0||e<0)&&(r<=t&&n<=e||r<=e&&n<=t||(i?t>=r*(e/n):e>=n*(t/r)))}function C(t){return\"auto\"===t?0:t}function L(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function I(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,c=a.anchor,u=\"end\"===c,h=\"start\"===c,f=((a.leftToRight||0)+1)/2,p=1-f,d=a.hasB,m=a.r,g=a.overhead,y=i.width,v=i.height,x=Math.abs(e-t),_=Math.abs(n-r),w=x>2*b&&_>2*b?b:0;x-=2*w,_-=2*w;var T=C(l);\"auto\"!==l||y<=x&&v<=_||!(y>x||v>_)||(y>_||v>x)&&yb){var E=function(t,e,r,n,i,a,o,s,l){var c,u,h,f,p=Math.max(0,Math.abs(e-t)-2*b),d=Math.max(0,Math.abs(n-r)-2*b),m=a-b,g=o?m-Math.sqrt(m*m-(m-o)*(m-o)):m,y=l?2*m:s?m-o:2*g,v=l?2*m:s?2*g:m-o;return i.y/i.x>=d/(p-y)?f=d/i.y:i.y/i.x<=(d-v)/p?f=p/i.x:!l&&s?(c=i.x*i.x+i.y*i.y/4,h=(p-m)*(p-m)+(d/2-m)*(d/2-m)-m*m,f=(-(u=-2*i.x*(p-m)-i.y*(d/2-m))+Math.sqrt(u*u-4*c*h))/(2*c)):l?(c=(i.x*i.x+i.y*i.y)/4,h=(p/2-m)*(p/2-m)+(d/2-m)*(d/2-m)-m*m,f=(-(u=-i.x*(p/2-m)-i.y*(d/2-m))+Math.sqrt(u*u-4*c*h))/(2*c)):(c=i.x*i.x/4+i.y*i.y,h=(p/2-m)*(p/2-m)+(d-m)*(d-m)-m*m,f=(-(u=-i.x*(p/2-m)-2*i.y*(d-m))+Math.sqrt(u*u-4*c*h))/(2*c)),{scale:f=Math.min(1,f),pad:s?Math.max(0,m-Math.sqrt(Math.max(0,m*m-(m-(d-i.y*f)/2)*(m-(d-i.y*f)/2)))-o):Math.max(0,m-Math.sqrt(Math.max(0,m*m-(m-(p-i.x*f)/2)*(m-(p-i.x*f)/2)))-o)}}(t,e,r,n,S,m,g,o,d);k=E.scale,M=E.pad}else k=1,s&&(k=Math.min(1,x/S.x,_/S.y)),M=0;var I=i.left*p+i.right*f,P=(i.top+i.bottom)/2,z=(t+b)*p+(e-b)*f,O=(r+n)/2,D=0,R=0;if(h||u){var F=(o?S.x:S.y)/2;m&&(u||d)&&(w+=M);var B=o?A(t,e):A(r,n);o?h?(z=t+B*w,D=-B*F):(z=e-B*w,D=B*F):h?(O=r+B*w,R=-B*F):(O=n-B*w,R=B*F)}return{textX:I,textY:P,targetX:z,targetY:O,anchorX:D,anchorY:R,scale:k,rotate:T}}t.exports={plot:function(t,e,r,h,g,y){var w=e.xaxis,P=e.yaxis,z=t._fullLayout,O=t._context.staticPlot;g||(g={mode:z.barmode,norm:z.barmode,gap:z.bargap,groupgap:z.bargroupgap},p(\"bar\",z));var D=a.makeTraceGroups(h,r,\"trace bars\").each((function(r){var c=n.select(this),h=r[0].trace,p=r[0].t,D=\"waterfall\"===h.type,R=\"funnel\"===h.type,F=\"histogram\"===h.type,B=\"bar\"===h.type,N=B||R,j=0;D&&h.connector.visible&&\"between\"===h.connector.mode&&(j=h.connector.line.width/2);var U=\"h\"===h.orientation,V=S(g),q=a.ensureSingle(c,\"g\",\"points\"),H=T(h),G=q.selectAll(\"g.point\").data(a.identity,H);G.enter().append(\"g\").classed(\"point\",!0),G.exit().remove(),G.each((function(c,T){var S,D,R=n.select(this),q=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),n?[i,a]:[a,i]}(c,w,P,U),H=q[0][0],G=q[0][1],Z=q[1][0],W=q[1][1],Y=0==(U?G-H:W-Z);if(Y&&N&&m.getLineWidth(h,c)&&(Y=!1),Y||(Y=!(i(H)&&i(G)&&i(Z)&&i(W))),c.isBlank=Y,Y&&(U?G=H:W=Z),j&&!Y&&(U?(H-=A(H,G)*j,G+=A(H,G)*j):(Z-=A(Z,W)*j,W+=A(Z,W)*j)),\"waterfall\"===h.type){if(!Y){var X=h[c.dir].marker;S=X.line.width,D=X.color}}else S=m.getLineWidth(h,c),D=c.mc||h.marker.color;function $(t){var e=n.round(S/2%1,2);return 0===g.gap&&0===g.groupgap?n.round(Math.round(t)-e,2):t}var J=s.opacity(D)<1||S>.01?$:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?$(t):t>e?Math.ceil(t):Math.floor(t)};t._context.staticPlot||(H=J(H,G,U),G=J(G,H,U),Z=J(Z,W,!U),W=J(W,Z,!U));var K,Q=U?w.c2p:P.c2p;K=c.s0>0?c._sMax:c.s0<0?c._sMin:c.s1>0?c._sMax:c._sMin;var tt,et,rt=B||F?function(t,e){if(!t)return 0;var r,n=U?Math.abs(W-Z):Math.abs(G-H),i=U?Math.abs(G-H):Math.abs(W-Z),a=J(Math.abs(Q(K,!0)-Q(0,!0))),o=c.hasB?Math.min(n/2,i/2):Math.min(n/2,a);return r=\"%\"===e?n*(Math.min(50,t)/100):t,J(Math.max(Math.min(r,o),0))}(p.cornerradiusvalue,p.cornerradiusform):0,nt=\"M\"+H+\",\"+Z+\"V\"+W+\"H\"+G+\"V\"+Z+\"Z\",it=0;if(rt&&c.s){var at=0===k(c.s0)||k(c.s)===k(c.s0)?c.s1:c.s0;if((it=J(c.hasB?0:Math.abs(Q(K,!0)-Q(at,!0))))0?Math.sqrt(it*(2*rt-it)):0,ht=ot>0?Math.max:Math.min;tt=\"M\"+H+\",\"+Z+\"V\"+(W-ct*st)+\"H\"+ht(G-(rt-it)*ot,H)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+G+\",\"+(W-rt*st-ut)+\"V\"+(Z+rt*st+ut)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+ht(G-(rt-it)*ot,H)+\",\"+(Z+ct*st)+\"Z\"}else if(c.hasB)tt=\"M\"+(H+rt*ot)+\",\"+Z+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+H+\",\"+(Z+rt*st)+\"V\"+(W-rt*st)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+(H+rt*ot)+\",\"+W+\"H\"+(G-rt*ot)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+G+\",\"+(W-rt*st)+\"V\"+(Z+rt*st)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+(G-rt*ot)+\",\"+Z+\"Z\";else{var ft=(et=Math.abs(W-Z)+it)0?Math.sqrt(it*(2*rt-it)):0,dt=st>0?Math.max:Math.min;tt=\"M\"+(H+ft*ot)+\",\"+Z+\"V\"+dt(W-(rt-it)*st,Z)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+(H+rt*ot-pt)+\",\"+W+\"H\"+(G-rt*ot+pt)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+(G-ft*ot)+\",\"+dt(W-(rt-it)*st,Z)+\"V\"+Z+\"Z\"}}else tt=nt}else tt=nt;var mt=M(a.ensureSingle(R,\"path\"),z,g,y);if(mt.style(\"vector-effect\",O?\"none\":\"non-scaling-stroke\").attr(\"d\",isNaN((G-H)*(W-Z))||Y&&t._context.staticPlot?\"M0,0Z\":tt).call(l.setClipUrl,e.layerClipId,t),!z.uniformtext.mode&&V){var gt=l.makePointStyleFns(h);l.singlePointStyle(c,mt,h,gt,t)}!function(t,e,r,n,i,s,c,h,p,g,y,w,T){var k,S=e.xaxis,P=e.yaxis,z=t._fullLayout;function O(e,r,n){return a.ensureSingle(e,\"text\").text(r).attr({class:\"bartext bartext-\"+k,\"text-anchor\":\"middle\",\"data-notex\":1}).call(l.font,n).call(o.convertToTspans,t)}var D=n[0].trace,R=\"h\"===D.orientation,F=function(t,e,r,n,i){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,\"texttemplate\");if(!s)return\"\";var l,c,h,f,p=\"histogram\"===o.type,d=\"waterfall\"===o.type,m=\"funnel\"===o.type,g=\"h\"===o.orientation;function y(t){return u(f,f.c2l(t),!0).text}g?(l=\"y\",c=i,h=\"x\",f=n):(l=\"x\",c=n,h=\"y\",f=i);var v,x=e[r],b={};b.label=x.p,b.labelLabel=b[l+\"Label\"]=(v=x.p,u(c,c.c2l(v),!0).text);var w=a.castOption(o,x.i,\"text\");(0===w||w)&&(b.text=w),b.value=x.s,b.valueLabel=b[h+\"Label\"]=y(x.s);var T={};_(T,o,x.i),(p||void 0===T.x)&&(T.x=g?b.value:b.label),(p||void 0===T.y)&&(T.y=g?b.label:b.value),(p||void 0===T.xLabel)&&(T.xLabel=g?b.valueLabel:b.labelLabel),(p||void 0===T.yLabel)&&(T.yLabel=g?b.labelLabel:b.valueLabel),d&&(b.delta=+x.rawS||x.s,b.deltaLabel=y(b.delta),b.final=x.v,b.finalLabel=y(b.final),b.initial=b.final-b.delta,b.initialLabel=y(b.initial)),m&&(b.value=x.s,b.valueLabel=y(b.value),b.percentInitial=x.begR,b.percentInitialLabel=a.formatPercent(x.begR),b.percentPrevious=x.difR,b.percentPreviousLabel=a.formatPercent(x.difR),b.percentTotal=x.sumR,b.percenTotalLabel=a.formatPercent(x.sumR));var k=a.castOption(o,x.i,\"customdata\");return k&&(b.customdata=k),a.texttemplateString(s,b,t._d3locale,T,b,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o=\"h\"===i.orientation,s=\"waterfall\"===i.type,l=\"funnel\"===i.type;function c(t){return u(o?r:n,+t,!0).text}var h,f,p=i.textinfo,d=t[e],m=p.split(\"+\"),g=[],y=function(t){return-1!==m.indexOf(t)};if(y(\"label\")&&g.push((f=t[e].p,u(o?n:r,f,!0).text)),y(\"text\")&&(0===(h=a.castOption(i,d.i,\"text\"))||h)&&g.push(h),s){var v=+d.rawS||d.s,x=d.v,_=x-v;y(\"initial\")&&g.push(c(_)),y(\"delta\")&&g.push(c(v)),y(\"final\")&&g.push(c(x))}if(l){y(\"value\")&&g.push(c(d.s));var b=0;y(\"percent initial\")&&b++,y(\"percent previous\")&&b++,y(\"percent total\")&&b++;var w=b>1;y(\"percent initial\")&&(h=a.formatPercent(d.begR),w&&(h+=\" of initial\"),g.push(h)),y(\"percent previous\")&&(h=a.formatPercent(d.difR),w&&(h+=\" of previous\"),g.push(h)),y(\"percent total\")&&(h=a.formatPercent(d.sumR),w&&(h+=\" of total\"),g.push(h))}return g.join(\"
\")}(e,r,n,i):m.getValue(s.text,r),m.coerceString(v,o)}(z,n,i,S,P);k=function(t,e){var r=m.getValue(t.textposition,e);return m.coerceEnumerated(x,r)}(D,i);var B=\"stack\"===w.mode||\"relative\"===w.mode,N=n[i],j=!B||N._outmost,U=N.hasB,V=g&&g-y>b;if(F&&\"none\"!==k&&(!N.isBlank&&s!==c&&h!==p||\"auto\"!==k&&\"inside\"!==k)){var q=z.font,H=d.getBarColor(n[i],D),G=d.getInsideTextFont(D,i,q,H),Z=d.getOutsideTextFont(D,i,q),W=D.insidetextanchor||\"end\",Y=r.datum();R?\"log\"===S.type&&Y.s0<=0&&(s=S.range[0]0&&K>0;it=V?U?E(rt-2*g,nt,J,K,R)||E(rt,nt-2*g,J,K,R):R?E(rt-(g-y),nt,J,K,R)||E(rt,nt-2*(g-y),J,K,R):E(rt,nt-(g-y),J,K,R)||E(rt-2*(g-y),nt,J,K,R):E(rt,nt,J,K,R),at&&it?k=\"inside\":(k=\"outside\",X.remove(),X=null)}else k=\"inside\";if(!X){var ot=(X=O(r,F,Q=a.ensureUniformFontSize(t,\"outside\"===k?Z:G))).attr(\"transform\");if(X.attr(\"transform\",\"\"),J=($=l.bBox(X.node())).width,K=$.height,X.attr(\"transform\",ot),J<=0||K<=0)return void X.remove()}var st,lt=D.textangle;st=\"outside\"===k?function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,c=a.angle||0,u=i.width,h=i.height,f=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*b?b:0:f>2*b?b:0;var d=1;l&&(d=s?Math.min(1,p/h):Math.min(1,f/u));var m=C(c),g=L(i,m),y=(s?g.x:g.y)/2,v=(i.left+i.right)/2,x=(i.top+i.bottom)/2,_=(t+e)/2,w=(r+n)/2,T=0,k=0,M=s?A(e,t):A(r,n);return s?(_=e-M*o,T=M*y):(w=n+M*o,k=-M*y),{textX:v,textY:x,targetX:_,targetY:w,anchorX:T,anchorY:k,scale:d,rotate:m}}(s,c,h,p,$,{isHorizontal:R,constrained:\"both\"===D.constraintext||\"outside\"===D.constraintext,angle:lt}):I(s,c,h,p,$,{isHorizontal:R,constrained:\"both\"===D.constraintext||\"inside\"===D.constraintext,angle:lt,anchor:W,hasB:U,r:g,overhead:y}),st.fontSize=Q.size,f(\"histogram\"===D.type?\"bar\":D.type,st,z),N.transform=st;var ct=M(X,z,w,T);a.setTransormAndDisplay(ct,st)}else r.select(\"text\").remove()}(t,e,R,r,T,H,G,Z,W,rt,it,g,y),e.layerClipId&&l.hideOutsideRangePoint(c,R.select(\"text\"),w,P,h.xcalendar,h.ycalendar)}));var Z=!1===h.cliponaxis;l.setClipUrl(c,Z?null:e.layerClipId,t)}));c.getComponentMethod(\"errorbars\",\"plot\")(t,D,e,g)},toMoveInsideBar:I}},88384:function(t){\"use strict\";function e(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(t,r){var n,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l=\"funnel\"===s.type,c=\"h\"===s.orientation,u=[];if(!1===r)for(n=0;n1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr(\"shape-rendering\",\"crispEdges\")})),e.selectAll(\"g.points\").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod(\"errorbars\",\"style\")(e)},styleTextPoints:m,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll(\"path\"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll(\"text\"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod(\"errorbars\",\"style\")(r))},getInsideTextFont:v,getOutsideTextFont:x,getBarColor:b,resizeText:l}},59760:function(t,e,r){\"use strict\";var n=r(78766),i=r(65477).hasColorscale,a=r(39356),o=r(34809).coercePattern;t.exports=function(t,e,r,s,l){var c=r(\"marker.color\",s),u=i(t,\"marker\");u&&a(t,e,l,r,{prefix:\"marker.\",cLetter:\"c\"}),r(\"marker.line.color\",n.defaultLine),i(t,\"marker.line\")&&a(t,e,l,r,{prefix:\"marker.line.\",cLetter:\"c\"}),r(\"marker.line.width\"),r(\"marker.opacity\"),o(r,\"marker.pattern\",c,u),r(\"selected.marker.color\"),r(\"unselected.marker.color\")}},84102:function(t,e,r){\"use strict\";var n=r(45568),i=r(34809);function a(t){return\"_\"+t+\"Text_minsize\"}t.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=o g.point\"}e.selectAll(s).each((function(t){var e=t.transform;if(e){e.scale=l&&e.hide?0:o/e.fontSize;var r=n.select(this).select(\"text\");i.setTransormAndDisplay(r,e)}}))}}}},32225:function(t,e,r){\"use strict\";var n,i=r(3208).rb,a=r(93049).extendFlat,o=r(8738),s=r(81481);t.exports={r:o.r,theta:o.theta,r0:o.r0,dr:o.dr,theta0:o.theta0,dtheta:o.dtheta,thetaunit:o.thetaunit,base:a({},s.base,{}),offset:a({},s.offset,{}),width:a({},s.width,{}),text:a({},s.text,{}),hovertext:a({},s.hovertext,{}),marker:(n=a({},s.marker),delete n.cornerradius,n),hoverinfo:o.hoverinfo,hovertemplate:i(),selected:s.selected,unselected:s.unselected}},27941:function(t,e,r){\"use strict\";var n=r(65477).hasColorscale,i=r(28379),a=r(34809).isArrayOrTypedArray,o=r(35374),s=r(24782).setGroupPositions,l=r(48861),c=r(33626).traceIs,u=r(34809).extendFlat;t.exports={calc:function(t,e){for(var r=t._fullLayout,s=e.subplot,c=r[s].radialaxis,u=r[s].angularaxis,h=c.makeCalcdata(e,\"r\"),f=u.makeCalcdata(e,\"theta\"),p=e._length,d=new Array(p),m=h,g=f,y=0;yf.range[1]&&(x+=Math.PI),n.getClosest(c,(function(t){return m(v,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/y)-1+(t.rp1-v)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var _=c[t.index];t.x0=t.x1=_.ct[0],t.y0=t.y1=_.ct[1];var b=i.extendFlat({},_,{r:_.s,theta:_.p});return o(_,u,t),s(b,u,h,t),t.hovertemplate=u.hovertemplate,t.color=a(u,_),t.xLabelVal=t.yLabelVal=void 0,_.s<0&&(t.idealAlign=\"left\"),[t]}}},89362:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:r(31645),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:r(32225),layoutAttributes:r(42956),supplyDefaults:r(77318),supplyLayoutDefaults:r(60507),calc:r(27941).calc,crossTraceCalc:r(27941).crossTraceCalc,plot:r(11627),colorbar:r(21146),formatLabels:r(33368),style:r(6851).style,styleOnSelect:r(6851).styleOnSelect,hoverPoints:r(83080),selectPoints:r(88384),meta:{}}},42956:function(t){\"use strict\";t.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}},60507:function(t,e,r){\"use strict\";var n=r(34809),i=r(42956);t.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(c=o,u=l):(c=l,u=o);var h=[s.findEnclosingVertexAngles(c,t.vangles)[0],(c+u)/2,s.findEnclosingVertexAngles(u,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,c,u,h,e,r)}:function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),d=e.layers.frontplot.select(\"g.barlayer\");a.makeTraceGroups(d,r,\"trace bars\").each((function(){var r=n.select(this),s=a.ensureSingle(r,\"g\",\"points\").selectAll(\"g.point\").data(a.identity);s.enter().append(\"g\").style(\"vector-effect\",l?\"none\":\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=h.c2p(t.s0),s=t.rp1=h.c2p(t.s1),l=t.thetag0=f.c2g(t.p0),d=t.thetag1=f.c2g(t.p1);if(i(o)&&i(s)&&i(l)&&i(d)&&o!==s&&l!==d){var m=h.c2g(t.s1),g=(l+d)/2;t.ct=[c.c2p(m*Math.cos(g)),u.c2p(m*Math.sin(g))],e=p(o,s,l,d)}else e=\"M0,0Z\";a.ensureSingle(r,\"path\").attr(\"d\",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},64625:function(t,e,r){\"use strict\";var n=r(19326),i=r(36640),a=r(81481),o=r(10229),s=r(80712).axisHoverFormat,l=r(3208).rb,c=r(93049).extendFlat,u=i.marker,h=u.line;t.exports={y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",editType:\"calc\"},dy:{valType:\"number\",editType:\"calc\"},xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:s(\"x\"),yhoverformat:s(\"y\"),name:{valType:\"string\",editType:\"calc+clearAxisTypes\"},q1:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},median:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},q3:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},lowerfence:{valType:\"data_array\",editType:\"calc\"},upperfence:{valType:\"data_array\",editType:\"calc\"},notched:{valType:\"boolean\",editType:\"calc\"},notchwidth:{valType:\"number\",min:0,max:.5,dflt:.25,editType:\"calc\"},notchspan:{valType:\"data_array\",editType:\"calc\"},boxpoints:{valType:\"enumerated\",values:[\"all\",\"outliers\",\"suspectedoutliers\",!1],editType:\"calc\"},jitter:{valType:\"number\",min:0,max:1,editType:\"calc\"},pointpos:{valType:\"number\",min:-2,max:2,editType:\"calc\"},sdmultiple:{valType:\"number\",min:0,editType:\"calc\",dflt:1},sizemode:{valType:\"enumerated\",values:[\"quartiles\",\"sd\"],editType:\"calc\",dflt:\"quartiles\"},boxmean:{valType:\"enumerated\",values:[!0,\"sd\",!1],editType:\"calc\"},mean:{valType:\"data_array\",editType:\"calc\"},sd:{valType:\"data_array\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},quartilemethod:{valType:\"enumerated\",values:[\"linear\",\"exclusive\",\"inclusive\"],dflt:\"linear\",editType:\"calc\"},width:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},marker:{outliercolor:{valType:\"color\",dflt:\"rgba(0, 0, 0, 0)\",editType:\"style\"},symbol:c({},u.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:c({},u.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),angle:c({},u.angle,{arrayOk:!1,editType:\"calc\"}),size:c({},u.size,{arrayOk:!1,editType:\"calc\"}),color:c({},u.color,{arrayOk:!1,editType:\"style\"}),line:{color:c({},h.color,{arrayOk:!1,dflt:o.defaultLine,editType:\"style\"}),width:c({},h.width,{arrayOk:!1,dflt:0,editType:\"style\"}),outliercolor:{valType:\"color\",editType:\"style\"},outlierwidth:{valType:\"number\",min:0,dflt:1,editType:\"style\"},editType:\"style\"},editType:\"plot\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:n(),whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},showwhiskers:{valType:\"boolean\",editType:\"calc\"},offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:i.selected.marker,editType:\"style\"},unselected:{marker:i.unselected.marker,editType:\"style\"},text:c({},i.text,{}),hovertext:c({},i.hovertext,{}),hovertemplate:l({}),hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"},zorder:i.zorder}},89429:function(t,e,r){\"use strict\";var n=r(10721),i=r(29714),a=r(40528),o=r(34809),s=r(63821).BADNUM,l=o._;t.exports=function(t,e){var r,c,v,x,_,b,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||\"x\"),A=i.getFromId(t,e.yaxis||\"y\"),M=[],S=\"violin\"===e.type?\"_numViolins\":\"_numBoxes\";\"h\"===e.orientation?(v=k,x=\"x\",_=A,b=\"y\",w=!!e.yperiodalignment):(v=A,x=\"y\",_=k,b=\"x\",w=!!e.xperiodalignment);var E,C,L,I,P,z,O=function(t,e,r,i){var s,l=e+\"0\"in t;if(e in t||l&&\"d\"+e in t){var c=r.makeCalcdata(t,e);return[a(t,r,e,c).vals,c]}s=l?t[e+\"0\"]:\"name\"in t&&(\"category\"===r.type||n(t.name)&&-1!==[\"linear\",\"log\"].indexOf(r.type)||o.isDateTime(t.name)&&\"date\"===r.type)?t.name:i;for(var u=\"multicategory\"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+\"calendar\"]),h=t._length,f=new Array(h),p=0;pE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return v.d2c((e[t]||[])[r])},q=1/0,H=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var Z=V(\"lowerfence\");E.lf=Z!==s&&Z<=E.q1?Z:p(E,L,I);var W=V(\"upperfence\");E.uf=W!==s&&W>=E.q3?W:d(E,L,I);var Y=V(\"mean\");E.mean=Y!==s?Y:I?o.mean(L,I):(E.q1+E.q3)/2;var X=V(\"sd\");E.sd=Y!==s&&X>=0?X:I?o.stdev(L,I,E.mean):E.q3-E.q1,E.lo=m(E),E.uo=g(E);var $=V(\"notchspan\");$=$!==s&&$>0?$:y(E,I),E.ln=E.med-$,E.un=E.med+$;var J=E.lf,K=E.uf;e.boxpoints&&L.length&&(J=Math.min(J,L[0]),K=Math.max(K,L[I-1])),e.notched&&(J=Math.min(J,E.ln),K=Math.max(K,E.un)),E.min=J,E.max=K}else{var Q;o.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+E.q1,\"median = \"+E.med,\"q3 = \"+E.q3].join(\"\\n\")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=C.filter(j),M.push(E)}}e._extremes[v._id]=i.findExtremes(v,[q,H],{padded:!0})}else{var tt=v.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ut,ht;(E={}).pos=E[b]=B[r],C=E.pts=nt[r].sort(h),I=(L=E[x]=C.map(f)).length,E.min=L[0],E.max=L[I-1],E.mean=o.mean(L,I),E.sd=o.stdev(L,I,E.mean)*e.sdmultiple,E.med=o.interp(L,.5),I%2&&(lt||ct)?(lt?(ut=L.slice(0,I/2),ht=L.slice(I/2+1)):ct&&(ut=L.slice(0,I/2+1),ht=L.slice(I/2)),E.q1=o.interp(ut,.5),E.q3=o.interp(ht,.5)):(E.q1=o.interp(L,.25),E.q3=o.interp(L,.75)),E.lf=p(E,L,I),E.uf=d(E,L,I),E.lo=m(E),E.uo=g(E);var ft=y(E,I);E.ln=E.med-ft,E.un=E.med+ft,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=C.filter(j),M.push(E)}e.notched&&o.isTypedArray(tt)&&(tt=Array.from(tt)),e._extremes[v._id]=i.findExtremes(v,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:b,valLetter:x,labels:{med:l(t,\"median:\"),min:l(t,\"min:\"),q1:l(t,\"q1:\"),q3:l(t,\"q3:\"),max:l(t,\"max:\"),mean:\"sd\"===e.boxmean||\"sd\"===e.sizemode?l(t,\"mean ± σ:\").replace(\"σ\",1===e.sdmultiple?\"σ\":e.sdmultiple+\"σ\"):l(t,\"mean:\"),lf:l(t,\"lower fence:\"),uf:l(t,\"upper fence:\")}},T[S]++,M):[{t:{empty:!0}}]};var c={text:\"tx\",hovertext:\"htx\"};function u(t,e,r){for(var n in c)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[c[n]]=e[n][r[0]][r[1]]):t[c[n]]=e[n][r])}function h(t,e){return t.v-e.v}function f(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function m(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function y(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},81606:function(t,e,r){\"use strict\";var n=r(29714),i=r(34809),a=r(84391).getAxisGroup,o=[\"v\",\"h\"];function s(t,e,r,o){var s,l,c,u=e.calcdata,h=e._fullLayout,f=o._id,p=f.charAt(0),d=[],m=0;for(s=0;s1,_=1-h[t+\"gap\"],b=1-h[t+\"groupgap\"];for(s=0;s0){var H=E.pointpos,G=E.jitter,Z=E.marker.size/2,W=0;H+G>=0&&((W=V*(H+G))>M?(q=!0,j=Z,B=W):W>R&&(j=Z,B=M)),W<=M&&(B=M);var Y=0;H-G<=0&&((Y=-V*(H-G))>S?(q=!0,U=Z,N=Y):Y>F&&(U=Z,N=S)),Y<=S&&(N=S)}else B=M,N=S;var X=new Array(c.length);for(l=0;l0?(g=\"v\",y=x>0?Math.min(b,_):Math.min(_)):x>0?(g=\"h\",y=Math.min(b)):y=0;if(y){e._length=y;var S=r(\"orientation\",g);e._hasPreCompStats?\"v\"===S&&0===x?(r(\"x0\",0),r(\"dx\",1)):\"h\"===S&&0===v&&(r(\"y0\",0),r(\"dy\",1)):\"v\"===S&&0===x?r(\"x0\"):\"h\"===S&&0===v&&r(\"y0\"),i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],a)}else e.visible=!1}function h(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,c,\"marker.outliercolor\"),s=r(\"marker.line.outliercolor\"),l=\"outliers\";e._hasPreCompStats?l=\"all\":(o||s)&&(l=\"suspectedoutliers\");var u=r(a+\"points\",l);u?(r(\"jitter\",\"all\"===u?.3:0),r(\"pointpos\",\"all\"===u?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.angle\"),r(\"marker.color\",e.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),\"suspectedoutliers\"===u&&(r(\"marker.line.outliercolor\",e.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\"),r(\"hovertext\")):delete e.marker;var h=r(\"hoveron\");\"all\"!==h&&-1===h.indexOf(\"points\")||r(\"hovertemplate\"),n.coerceSelectionMarkerOpacity(e,r)}t.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,c,r,i)}if(u(t,e,s,i),!1!==e.visible){o(t,e,i,s),s(\"xhoverformat\"),s(\"yhoverformat\");var l=e._hasPreCompStats;l&&(s(\"lowerfence\"),s(\"upperfence\")),s(\"line.color\",(t.marker||{}).color||r),s(\"line.width\"),s(\"fillcolor\",a.addOpacity(e.line.color,.5));var f=!1;if(l){var p=s(\"mean\"),d=s(\"sd\");p&&p.length&&(f=!0,d&&d.length&&(f=\"sd\"))}s(\"whiskerwidth\");var m,g=s(\"sizemode\");\"quartiles\"===g&&(m=s(\"boxmean\",f)),s(\"showwhiskers\",\"quartiles\"===g),\"sd\"!==g&&\"sd\"!==m||s(\"sdmultiple\"),s(\"width\"),s(\"quartilemethod\");var y=!1;if(l){var v=s(\"notchspan\");v&&v.length&&(y=!0)}else n.validate(t.notchwidth,c.notchwidth)&&(y=!0);s(\"notched\",y)&&s(\"notchwidth\"),h(t,e,s,{prefix:\"box\"}),s(\"zorder\")}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,c,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));f.enter().append(\"path\").classed(\"point\",!0),f.exit().remove(),f.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,c=e.pos,u=!!c.rangebreaks,h=a.bPos,f=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll(\"path.mean\").data(\"box\"===r.type&&r.boxmean||\"violin\"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),d.exit().remove(),d.each((function(t){var e=c.c2l(t.pos+h,!0),i=c.l2p(e-o)+f,a=c.l2p(e+s)+f,d=u?(i+a)/2:c.l2p(e)+f,m=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),y=l.c2p(t.mean+t.sd,!0);\"h\"===r.orientation?n.select(this).attr(\"d\",\"M\"+m+\",\"+i+\"V\"+a+(\"sd\"===p?\"m0,0L\"+g+\",\"+d+\"L\"+m+\",\"+i+\"L\"+y+\",\"+d+\"Z\":\"\")):n.select(this).attr(\"d\",\"M\"+i+\",\"+m+\"H\"+a+(\"sd\"===p?\"m0,0L\"+d+\",\"+g+\"L\"+i+\",\"+m+\"L\"+d+\",\"+y+\"Z\":\"\"))}))}t.exports={plot:function(t,e,r,a){var c=t._context.staticPlot,u=e.xaxis,h=e.yaxis;i.makeTraceGroups(a,r,\"trace boxes\").each((function(t){var e,r,i=n.select(this),a=t[0],f=a.t,p=a.trace;f.wdPos=f.bdPos*p.whiskerwidth,!0!==p.visible||f.empty?i.remove():(\"h\"===p.orientation?(e=h,r=u):(e=u,r=h),o(i,{pos:e,val:r},p,f,c),s(i,{x:u,y:h},p,f),l(i,{pos:e,val:r},p,f))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},72488:function(t){\"use strict\";t.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var r=1/0,a=-1/0,o=t.length,s=0;s0?Math.floor:Math.ceil,P=C>0?Math.ceil:Math.floor,z=C>0?Math.min:Math.max,O=C>0?Math.max:Math.min,D=I(S+L),R=P(E-L),F=[[h=M(S)]];for(a=D;a*C=0;i--)a[u-i]=t[h][i],o[u-i]=e[h][i];for(s.push({x:a,y:o,bicubic:l}),i=h,a=[],o=[];i>=0;i--)a[h-i]=t[i][0],o[h-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},4753:function(t,e,r){\"use strict\";var n=r(29714),i=r(93049).extendFlat;t.exports=function(t,e,r){var a,o,s,l,c,u,h,f,p,d,m,g,y,v,x=t[\"_\"+e],_=t[e+\"axis\"],b=_._gridlines=[],w=_._minorgridlines=[],T=_._boundarylines=[],k=t[\"_\"+r],A=t[r+\"axis\"];\"array\"===_.tickmode&&(_.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,C=M.length,L=t._a.length,I=t._b.length;n.prepTicks(_),\"array\"===_.tickmode&&delete _.tickvals;var P=_.smoothing?3:1;function z(n){var i,a,o,s,l,c,u,h,p,d,m,g,y=[],v=[],x={};if(\"b\"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(I-2,a))),s=a-o,x.length=I,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),y.push(l[0]+p[0]/3),v.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),y.push(h[0]-d[0]/3),v.push(h[1]-d[1]/3)),y.push(h[0]),v.push(h[1]),l=h;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,i))),u=i-c,x.length=L,x.crossLength=I,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a0&&(m=t.dxydj([],c,a-1,u,0),y.push(l[0]+m[0]/3),v.push(l[1]+m[1]/3),g=t.dxydj([],c,a-1,u,1),y.push(h[0]-g[0]/3),v.push(h[1]-g[1]/3)),y.push(h[0]),v.push(h[1]),l=h;return x.axisLetter=e,x.axis=_,x.crossAxis=A,x.value=n,x.constvar=r,x.index=f,x.x=y,x.y=v,x.smoothing=A.smoothing,x}function O(n){var i,a,o,s,l,c=[],u=[],h={};if(h.length=x.length,h.crossLength=k.length,\"b\"===e)for(o=Math.max(0,Math.min(I-2,n)),l=Math.min(1,Math.max(0,n-o)),h.xy=function(e){return t.evalxy([],e,n)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||b.push(i(O(o),{color:_.gridcolor,width:_.gridwidth,dash:_.griddash}));for(f=u;fx.length-1||m<0||m>x.length-1))for(g=x[s],y=x[m],a=0;a<_.minorgridcount;a++)(v=m-s)<=0||(d=g+(y-g)*(a+1)/(_.minorgridcount+1)*(_.arraydtick/v))x[x.length-1]||w.push(i(z(d),{color:_.minorgridcolor,width:_.minorgridwidth,dash:_.minorgriddash}));_.startline&&T.push(i(O(0),{color:_.startlinecolor,width:_.startlinewidth})),_.endline&&T.push(i(O(x.length-1),{color:_.endlinecolor,width:_.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-_.tick0)/_.dtick*(1+l)),Math.ceil((x[0]-_.tick0)/_.dtick/(1+l))].sort((function(t,e){return t-e})))[0],h=c[1],f=u;f<=h;f++)p=_.tick0+_.dtick*f,b.push(i(z(p),{color:_.gridcolor,width:_.gridwidth,dash:_.griddash}));for(f=u-1;fx[x.length-1]||w.push(i(z(d),{color:_.minorgridcolor,width:_.minorgridwidth,dash:_.minorgriddash}));_.startline&&T.push(i(z(x[0]),{color:_.startlinecolor,width:_.startlinewidth})),_.endline&&T.push(i(z(x[x.length-1]),{color:_.endlinecolor,width:_.endlinewidth}))}}},93923:function(t,e,r){\"use strict\";var n=r(29714),i=r(93049).extendFlat;t.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},87947:function(t,e,r){\"use strict\";var n=r(45568),i=r(62203),a=r(6720),o=r(3685),s=r(33163),l=r(30635),c=r(34809),u=c.strRotate,h=c.strTranslate,f=r(4530);function p(t,e,r,s,l,c,u){var h=\"const-\"+l+\"-lines\",f=r.selectAll(\".\"+h).data(c);f.enter().append(\"path\").classed(h,!0).style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\"),f.each((function(r){var s=r,l=s.x,c=s.y,u=a([],l,t.c2p),h=a([],c,e.c2p),f=\"M\"+o(u,h,s.smoothing);n.select(this).attr(\"d\",f).style(\"stroke-width\",s.width).style(\"stroke\",s.color).style(\"stroke-dasharray\",i.dashStyle(s.dash,s.width)).style(\"fill\",\"none\")})),f.exit().remove()}function d(t,e,r,a,o,c,f,p){var d=c.selectAll(\"text.\"+p).data(f);d.enter().append(\"text\").classed(p,!0);var m=0,g={};return d.each((function(o,c){var f;if(\"auto\"===o.axis.tickangle)f=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;f=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}c||(g={angle:f.angle,flip:f.flip});var d=(o.endAnchor?-1:1)*f.flip,y=n.select(this).attr({\"text-anchor\":d>0?\"start\":\"end\",\"data-notex\":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),v=i.bBox(this);y.attr(\"transform\",h(f.p[0],f.p[1])+u(f.angle)+h(o.axis.labelpadding*d,.3*v.height)),m=Math.max(m,v.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=m,g}t.exports=function(t,e,r,i){var l=t._context.staticPlot,u=e.xaxis,h=e.yaxis,f=t._fullLayout._clips;c.makeTraceGroups(i,r,\"trace\").each((function(e){var r=n.select(this),i=e[0],m=i.trace,g=m.aaxis,v=m.baxis,x=c.ensureSingle(r,\"g\",\"minorlayer\"),_=c.ensureSingle(r,\"g\",\"majorlayer\"),b=c.ensureSingle(r,\"g\",\"boundarylayer\"),w=c.ensureSingle(r,\"g\",\"labellayer\");r.style(\"opacity\",m.opacity),p(u,h,_,0,\"a\",g._gridlines,!0),p(u,h,_,0,\"b\",v._gridlines,!0),p(u,h,x,0,\"a\",g._minorgridlines,!0),p(u,h,x,0,\"b\",v._minorgridlines,!0),p(u,h,b,0,\"a-boundary\",g._boundarylines,l),p(u,h,b,0,\"b-boundary\",v._boundarylines,l);var T=d(t,u,h,m,0,w,g._labels,\"a-label\"),k=d(t,u,h,m,0,w,v._labels,\"b-label\");!function(t,e,r,n,i,a,o,l){var u,h,f,p,d=c.aggNums(Math.min,null,r.a),m=c.aggNums(Math.max,null,r.a),g=c.aggNums(Math.min,null,r.b),v=c.aggNums(Math.max,null,r.b);u=.5*(d+m),h=g,f=r.ab2xy(u,h,!0),p=r.dxyda_rough(u,h),void 0===o.angle&&c.extendFlat(o,s(r,i,a,f,r.dxydb_rough(u,h))),y(t,e,r,0,f,p,r.aaxis,i,a,o,\"a-title\"),u=d,h=.5*(g+v),f=r.ab2xy(u,h,!0),p=r.dxydb_rough(u,h),void 0===l.angle&&c.extendFlat(l,s(r,i,a,f,r.dxyda_rough(u,h))),y(t,e,r,0,f,p,r.baxis,i,a,l,\"b-title\")}(t,w,m,0,u,h,T,k),function(t,e,r,n,i){var s,l,u,h,f=r.select(\"#\"+t._clipPathId);f.size()||(f=r.append(\"clipPath\").classed(\"carpetclip\",!0));var p=c.ensureSingle(f,\"path\",\"carpetboundary\"),d=e.clipsegments,m=[];for(h=0;h90&&v<270,_=n.select(this);_.text(f.title.text).call(l.convertToTspans,t),x&&(b=(-l.lineCount(_)+g)*m*a-b),_.attr(\"transform\",h(e.p[0],e.p[1])+u(e.angle)+h(0,b)).attr(\"text-anchor\",\"middle\").call(i.font,f.title.font)})),_.exit().remove()}},76842:function(t,e,r){\"use strict\";var n=r(45923),i=r(98813).findBin,a=r(57075),o=r(13828),s=r(39848),l=r(41839);t.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,h=t.aaxis,f=t.baxis,p=e[0],d=e[c-1],m=r[0],g=r[u-1],y=e[e.length-1]-e[0],v=r[r.length-1]-r[0],x=y*n.RELATIVE_CULL_TOLERANCE,_=v*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,m-=_,g+=_,t.isVisible=function(t,e){return t>p&&tm&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,h.smoothing,f.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,h.smoothing,f.smoothing),t.dxydi=s([t._xctrl,t._yctrl],h.smoothing,f.smoothing),t.dxydj=l([t._xctrl,t._yctrl],h.smoothing,f.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[c-1]|ir[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var h,f,p,d,m=0,g=0,y=[];ne[c-1]?(h=c-2,f=1,m=(n-e[c-1])/(e[c-1]-e[c-2])):f=o-(h=Math.max(0,Math.min(c-2,Math.floor(o)))),ir[u-1]?(p=u-2,d=1,g=(i-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),m&&(t.dxydi(y,h,p,f,d),l[0]+=y[0]*m,l[1]+=y[1]*m),g&&(t.dxydj(y,h,p,f,d),l[0]+=y[0]*g,l[1]+=y[1]*g)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},13007:function(t,e,r){\"use strict\";var n=r(34809);t.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function h(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log(\"Smoother converged to\",k,\"after\",A,\"iterations\"),t}},10820:function(t,e,r){\"use strict\";var n=r(34809).isArray1D;t.exports=function(t,e,r){var i=r(\"x\"),a=i&&i.length,o=r(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},92802:function(t,e,r){\"use strict\";var n=r(3208).rb,i=r(6893),a=r(87163),o=r(9829),s=r(10229).defaultLine,l=r(93049).extendFlat,c=i.marker.line;t.exports=l({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:i.locationmode,z:{valType:\"data_array\",editType:\"calc\"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},c.color,{dflt:s}),width:l({},c.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:i.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:l({},o.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},12702:function(t,e,r){\"use strict\";var n=r(10721),i=r(63821).BADNUM,a=r(28379),o=r(99203),s=r(48861);function l(t){return t&&\"string\"==typeof t}t.exports=function(t,e){var r,c=e._length,u=new Array(c);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var h=0;h\")}}(t,h,o),[t]}},58075:function(t,e,r){\"use strict\";t.exports={attributes:r(92802),supplyDefaults:r(51893),colorbar:r(12431),calc:r(12702),calcGeoJSON:r(4700).calcGeoJSON,plot:r(4700).plot,style:r(59342).style,styleOnSelect:r(59342).styleOnSelect,hoverPoints:r(94125),eventData:r(38414),selectPoints:r(43727),moduleType:\"trace\",name:\"choropleth\",basePlotModule:r(47544),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}},4700:function(t,e,r){\"use strict\";var n=r(45568),i=r(34809),a=r(3994),o=r(11577).getTopojsonFeatures,s=r(32919).findExtremes,l=r(59342).style;t.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,c=r._length,u=\"geojson-id\"===l?a.extractTraceFeature(t):o(r,i.topojson),h=[],f=[],p=0;p=0;n--){var i=r[n].id;if(\"string\"==typeof i&&0===i.indexOf(\"water\"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup[\"trace-\"+r.uid];return t.map.addSource(a,{type:\"geojson\",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},86227:function(t,e,r){\"use strict\";var n=r(92802),i=r(87163),a=r(3208).rb,o=r(9829),s=r(93049).extendFlat;t.exports=s({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:s({},n.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:n.text,hovertext:n.hovertext,marker:{line:{color:s({},n.marker.line.color,{editType:\"plot\"}),width:s({},n.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:s({},n.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:s({},n.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:s({},n.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:n.hoverinfo,hovertemplate:a({},{keys:[\"properties\"]}),showlegend:s({},o.showlegend,{dflt:!1})},i(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},51335:function(t,e,r){\"use strict\";var n=r(10721),i=r(34809),a=r(88856),o=r(62203),s=r(39532).makeBlank,l=r(3994);function c(t){var e,r=t[0].trace,n=r._opts;if(r.selectedpoints){for(var a=o.makeSelectedPointStyleFns(r),s=0;s=0;n--){var i=r[n].id;if(\"string\"==typeof i&&0===i.indexOf(\"water\"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup[\"trace-\"+r.uid];return t.map.addSource(a,{type:\"geojson\",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},49865:function(t,e,r){\"use strict\";var n=r(87163),i=r(80712).axisHoverFormat,a=r(3208).rb,o=r(42450),s=r(9829),l=r(93049).extendFlat,c={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"scaled\",\"absolute\",\"raw\"],editType:\"calc\",dflt:\"scaled\"},sizeref:{valType:\"number\",editType:\"calc\",min:0},anchor:{valType:\"enumerated\",editType:\"calc\",values:[\"tip\",\"tail\",\"cm\",\"center\"],dflt:\"cm\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:a({editType:\"calc\"},{keys:[\"norm\"]}),uhoverformat:i(\"u\",1),vhoverformat:i(\"v\",1),whoverformat:i(\"w\",1),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),showlegend:l({},s.showlegend,{dflt:!1})};l(c,n(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"})),[\"opacity\",\"lightposition\",\"lighting\"].forEach((function(t){c[t]=o[t]})),c.hoverinfo=l({},s.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),c.transforms=void 0,t.exports=c},93805:function(t,e,r){\"use strict\";var n=r(28379);t.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,c=0;co.level||o.starts.length&&a===o.level)}break;case\"constraint\":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r\":p>c&&(n.prefixBoundary=!0);break;case\"<\":(pc||n.starts.length&&f===u)&&(n.prefixBoundary=!0);break;case\"][\":h=Math.min(p[0],p[1]),f=Math.max(p[0],p[1]),hc&&(n.prefixBoundary=!0)}}}},92697:function(t,e,r){\"use strict\";var n=r(88856),i=r(16438),a=r(48715);t.exports={min:\"zmin\",max:\"zmax\",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,c=o.coloring,u=i(e,{isColorbar:!0});if(\"heatmap\"===c){var h=n.extractOpts(e);r._fillgradient=h.reversescale?n.flipScale(h.colorscale):h.colorscale,r._zrange=[h.min,h.max]}else\"fill\"===c&&(r._fillcolor=u);r._line={color:\"lines\"===c?u:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},53156:function(t){\"use strict\";t.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},29503:function(t,e,r){\"use strict\";var n=r(10721),i=r(20576),a=r(78766),o=a.addOpacity,s=a.opacity,l=r(20726),c=r(34809).isArrayOrTypedArray,u=l.CONSTRAINT_REDUCTION,h=l.COMPARISON_OPS2;t.exports=function(t,e,r,a,l,f){var p,d,m,g=e.contours,y=r(\"contours.operation\");g._operation=u[y],function(t,e){var r;-1===h.indexOf(e.operation)?(t(\"contours.value\",[0,1]),c(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t(\"contours.value\",0),n(e.value)||(c(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),\"=\"===y?p=g.showlines=!0:(p=r(\"contours.showlines\"),m=r(\"fillcolor\",o((t.line||{}).color||l,.5))),p&&(d=r(\"line.color\",m&&s(m)?o(e.fillcolor,1):l),r(\"line.width\",2),r(\"line.dash\")),r(\"line.smoothing\"),i(r,a,d,f)}},22783:function(t,e,r){\"use strict\";var n=r(20726),i=r(10721);function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}t.exports={\"[]\":o(\"[]\"),\"][\":o(\"][\"),\">\":s(\">\"),\"<\":s(\"<\"),\"=\":s(\"=\")}},47495:function(t){\"use strict\";t.exports=function(t,e,r,n){var i=n(\"contours.start\"),a=n(\"contours.end\"),o=!1===i||!1===a,s=r(\"contours.size\");!(o?e.autocontour=!0:r(\"autocontour\",!1))&&s||r(\"ncontours\")}},1999:function(t,e,r){\"use strict\";var n=r(34809);function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}t.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case\"=\":case\"<\":return t;case\">\":for(1!==t.length&&n.warn(\"Contour data invalid for the specified inequality operation.\"),a=t[0],r=0;r1e3){n.warn(\"Too many contours, clipping at 1000\",t);break}return l}},48715:function(t){\"use strict\";t.exports=function(t){return t.end+t.size/1e6}},27657:function(t,e,r){\"use strict\";var n=r(34809),i=r(53156);function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1,[n,a]}(h,r,e),p=[s(t,e,[-f[0],-f[1]])],d=t.z.length,m=t.z[0].length,g=e.slice(),y=f.slice();for(c=0;c<1e4;c++){if(h>20?(h=i.CHOOSESADDLE[h][(f[0]||f[1])<0?0:1],t.crossings[u]=i.SADDLEREMAINDER[h]):delete t.crossings[u],!(f=i.NEWDELTA[h])){n.log(\"Found bad marching index:\",h,e,t.level);break}p.push(s(t,e,f)),e[0]+=f[0],e[1]+=f[1],u=e.join(\",\"),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var v=f[0]&&(e[0]<0||e[0]>m-2)||f[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&f[0]===y[0]&&f[1]===y[1]||r&&v)break;h=t.crossings[u]}1e4===c&&n.log(\"Infinite loop in contour?\");var x,_,b,w,T,k,A,M,S,E,C,L,I,P,z,O=a(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c=B;c--)if((x=F[c])=B&&x+F[_]M&&S--,t.edgepaths[S]=C.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;M=v)&&(r<=y&&(r=y),o>=v&&(o=v),l=Math.floor((o-r)/s)+1,c=0),f=0;fy&&(m.unshift(y),g.unshift(g[0])),m[m.length-1]t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(t){var e,r,a,o,s,l,c,u,h,f=t[0].z,p=f.length,d=f[0].length,m=2===p||2===d;for(r=0;r=0&&(n=v,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-v[1])<.01&&(v[0]-r[0])*(n[0]-v[0])>=0&&(n=v,s=l):i.log(\"endpt to newendpt is not vert. or horz.\",r,n,v)}if(r=n,s>=0)break;h+=\"L\"+n}if(s===t.edgepaths.length){i.log(\"unclosed perimeter path\");break}f=s,(d=-1===p.indexOf(f))&&(f=p[0],h+=\"Z\")}for(f=0;fn.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(h)+Math.cos(c)*o);if(f<1||p<1)return 1/0;var d=y.EDGECOST*(1/(f-1)+1/(p-1));d+=y.ANGLECOST*c*c;for(var m=s-u,g=l-h,v=s+u,x=l+h,_=0;_2*y.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(f<=y.MAXCOST)return u},e.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,c=t.theta,u=Math.sin(c),h=Math.cos(c),f=function(t,e){return[s+t*h-e*u,l+t*u+e*h]},p=[f(-a/2,-o/2),f(-a/2,o/2),f(a/2,o/2),f(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:c,level:e.level,width:a,height:o}),n.push(p)},e.drawLabels=function(t,e,r,a,o){var l=t.selectAll(\"text\").data(e,(function(t){return t.text+\",\"+t.x+\",\"+t.y+\",\"+t.theta}));if(l.exit().remove(),l.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:\"rotate(\"+180*t.theta/Math.PI+\" \"+e+\" \"+i+\")\"}).call(s.convertToTspans,r)})),o){for(var c=\"\",u=0;ur.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if(\"constraint\"!==r.type){var c,u=r.start,h=r.end,f=t._input.contours;u>h&&(r.start=f.start=h,h=r.end=f.end=u,u=r.start),r.size>0||(c=u===h?1:a(u,h,t.ncontours).dtick,f.size=r.size=c)}}},1328:function(t,e,r){\"use strict\";var n=r(45568),i=r(62203),a=r(12774),o=r(16438);t.exports=function(t){var e=n.select(t).selectAll(\"g.contour\");e.style(\"opacity\",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u=\"constraint\"===a.type,h=!u&&\"lines\"===a.coloring,f=!u&&\"fill\"===a.coloring,p=h||f?o(r):null;e.selectAll(\"g.contourlevel\").each((function(t){n.select(this).selectAll(\"path\").call(i.lineGroupStyle,s.width,h?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll(\"g.contourlabels text\").each((function(t){i.font(n.select(this),{weight:d.weight,style:d.style,variant:d.variant,textcase:d.textcase,lineposition:d.lineposition,shadow:d.shadow,family:d.family,size:d.size,color:d.color||(h?p(t.level):s.color)})})),u)e.selectAll(\"g.contourfill path\").style(\"fill\",r.fillcolor);else if(f){var m;e.selectAll(\"g.contourfill path\").style(\"fill\",(function(t){return void 0===m&&(m=t.level),p(t.level+.5*l)})),void 0===m&&(m=c),e.selectAll(\"g.contourbg path\").style(\"fill\",p(m-.5*l))}})),a(t)}},39889:function(t,e,r){\"use strict\";var n=r(39356),i=r(20576);t.exports=function(t,e,r,a,o){var s,l=r(\"contours.coloring\"),c=\"\";\"fill\"===l&&(s=r(\"contours.showlines\")),!1!==s&&(\"lines\"!==l&&(c=r(\"line.color\",\"#000\")),r(\"line.width\",.5),r(\"line.dash\")),\"none\"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:\"\",cLetter:\"z\"})),r(\"line.smoothing\"),i(r,a,c,o)}},66365:function(t,e,r){\"use strict\";var n=r(81658),i=r(52240),a=r(87163),o=r(93049).extendFlat,s=i.contours;t.exports=o({carpet:{valType:\"string\",editType:\"calc\"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:\"plot\"},zorder:i.zorder,transforms:void 0},a(\"\",{cLetter:\"z\",autoColorDflt:!1}))},80849:function(t,e,r){\"use strict\";var n=r(28379),i=r(34809),a=r(87869),o=r(93877),s=r(69295),l=r(78106),c=r(80924),u=r(50538),h=r(26571),f=r(62475);t.exports=function(t,e){var r=e._carpetTrace=h(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),u(d,e,e._defaultColor,t._fullLayout)}var m=function(t,e){var r,u,h,f,p,d,m,g=e._carpetTrace,y=g.aaxis,v=g.baxis;y._minDtick=0,v._minDtick=0,i.isArray1D(e.z)&&a(e,y,v,\"a\",\"b\",[\"z\"]),r=e._a=e._a||e.a,f=e._b=e._b||e.b,r=r?y.makeCalcdata(e,\"_a\"):[],f=f?v.makeCalcdata(e,\"_b\"):[],u=e.a0||0,h=e.da||1,p=e.b0||0,d=e.db||1,m=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(m),s(m,e._emptypoints);var x=i.maxRowLength(m),_=\"scaled\"===e.xtype?\"\":r,b=c(e,_,u,h,x,y),w=\"scaled\"===e.ytype?\"\":f,T={a:b,b:c(e,w,p,d,m.length,v),z:m};return\"levels\"===e.contours.type&&\"none\"!==e.contours.coloring&&n(t,e,{vals:m,containerStr:\"\",cLetter:\"z\"}),[T]}(t,e);return f(e,e._z),m}}},50538:function(t,e,r){\"use strict\";var n=r(34809),i=r(86073),a=r(66365),o=r(29503),s=r(47495),l=r(39889);t.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,a,r,i)}if(u(\"carpet\"),t.a&&t.b){if(!i(t,e,u,c,\"a\",\"b\"))return void(e.visible=!1);u(\"text\"),\"constraint\"===u(\"contours.type\")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null;u(\"zorder\")}},34406:function(t,e,r){\"use strict\";t.exports={attributes:r(66365),supplyDefaults:r(50538),colorbar:r(92697),calc:r(80849),plot:r(71815),style:r(1328),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:r(37703),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}},71815:function(t,e,r){\"use strict\";var n=r(45568),i=r(6720),a=r(3685),o=r(62203),s=r(34809),l=r(83545),c=r(27657),u=r(8850),h=r(53156),f=r(1999),p=r(86828),d=r(49886),m=r(26571),g=r(94903);function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function v(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}t.exports=function(t,e,r,_){var b=e.xaxis,w=e.yaxis;s.makeTraceGroups(_,r,\"contour\").each((function(r){var _=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=m(t,k),M=t.calcdata[A.index][0];if(A.visible&&\"legendonly\"!==A.visible){var S=T.a,E=T.b,C=k.contours,L=p(C,e,T),I=\"constraint\"===C.type,P=C._operation,z=I?\"=\"===P?\"lines\":\"fill\":C.coloring,O=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(L);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);c(L,D,R);var F,B,N,j,U=L;\"constraint\"===C.type&&(U=f(L,P)),function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,b.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var q=\"M\"+V.join(\"L\")+\"Z\";!function(t,e,r,n,o,l){var c,u,h,f,p=s.ensureSingle(t,\"g\",\"contourbg\").selectAll(\"path\").data(\"fill\"!==l||o?[]:[0]);p.enter().append(\"path\"),p.exit().remove();var d=[];for(f=0;f=0&&(f=C,d=m):Math.abs(h[1]-f[1])=0&&(f=C,d=m):s.log(\"endpt to newendpt is not vert. or horz.\",h,f,C)}if(d>=0)break;v+=S(h,f),h=f}if(d===e.edgepaths.length){s.log(\"unclosed perimeter path\");break}u=d,(_=-1===x.indexOf(u))&&(u=x[0],v+=S(h,f)+\"Z\",h=null)}for(u=0;um&&(n.max=m),n.len=n.max-n.min}function g(t,e){var r,n=0,o=.1;return(Math.abs(t[0]-l)0?+p[u]:0),h.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:y},properties:v})}}var _=o.extractOpts(e),b=_.reversescale?o.flipScale(_.colorscale):_.colorscale,w=b[0][1],T=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(u=1;u=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup[\"trace-\"+r.uid];return t.map.addSource(o,{type:\"geojson\",data:s.geojson}),i._addLayers(s,l),i}},17347:function(t,e,r){\"use strict\";var n=r(87163),i=r(3208).rb,a=r(9829),o=r(95833),s=r(93049).extendFlat;t.exports=s({lon:o.lon,lat:o.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:o.text,hovertext:o.hovertext,hoverinfo:s({},a.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:i(),showlegend:s({},a.showlegend,{dflt:!1})},n(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},60675:function(t,e,r){\"use strict\";var n=r(10721),i=r(34809).isArrayOrTypedArray,a=r(63821).BADNUM,o=r(28379),s=r(34809)._;t.exports=function(t,e){for(var r=e._length,l=new Array(r),c=e.z,u=i(c)&&c.length,h=0;h0?+p[u]:0),h.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:y},properties:v})}}var _=o.extractOpts(e),b=_.reversescale?o.flipScale(_.colorscale):_.colorscale,w=b[0][1],T=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(u=1;u=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup[\"trace-\"+r.uid];return t.map.addSource(o,{type:\"geojson\",data:s.geojson}),i._addLayers(s,l),i}},43179:function(t,e,r){\"use strict\";var n=r(34809);t.exports=function(t,e){for(var r=0;r\"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(u,f),[l]}}},52213:function(t,e,r){\"use strict\";t.exports={attributes:r(62824),layoutAttributes:r(93795),supplyDefaults:r(30495).supplyDefaults,crossTraceDefaults:r(30495).crossTraceDefaults,supplyLayoutDefaults:r(34980),calc:r(28152),crossTraceCalc:r(82539),plot:r(83482),style:r(7240).style,hoverPoints:r(27759),eventData:r(29412),selectPoints:r(88384),moduleType:\"trace\",name:\"funnel\",basePlotModule:r(37703),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},93795:function(t){\"use strict\";t.exports={funnelmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},funnelgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},funnelgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},34980:function(t,e,r){\"use strict\";var n=r(34809),i=r(93795);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path\").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style(\"opacity\",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(\".regions\").each((function(){n.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(\".lines\").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll(\"path\"),t.width,t.color,t.dash)}))}))}}},63447:function(t,e,r){\"use strict\";var n=r(55412),i=r(9829),a=r(13792).u,o=r(3208).rb,s=r(3208).ay,l=r(93049).extendFlat;t.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:n.marker.pattern,editType:\"calc\"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:s({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hoverinfo:l({},i.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:o({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),textposition:l({},n.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:a({name:\"funnelarea\",trace:!0,editType:\"calc\"}),aspectratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},baseratio:{valType:\"number\",min:0,max:1,dflt:.333,editType:\"plot\"}}},86817:function(t,e,r){\"use strict\";var n=r(44122);e.name=\"funnelarea\",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},2807:function(t,e,r){\"use strict\";var n=r(44148);t.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:\"funnelarea\"})}}},79824:function(t,e,r){\"use strict\";var n=r(34809),i=r(63447),a=r(13792).N,o=r(17550).handleText,s=r(46979).handleLabelsAndValues,l=r(46979).handleMarkerDefaults;t.exports=function(t,e,r,c){function u(r,a){return n.coerce(t,e,i,r,a)}var h=u(\"labels\"),f=u(\"values\"),p=s(h,f),d=p.len;if(e._hasLabels=p.hasLabels,e._hasValues=p.hasValues,!e._hasLabels&&e._hasValues&&(u(\"label0\"),u(\"dlabel\")),d){e._length=d,l(t,e,c,u),u(\"scalegroup\");var m,g=u(\"text\"),y=u(\"texttemplate\");if(y||(m=u(\"textinfo\",Array.isArray(g)?\"text+percent\":\"percent\")),u(\"hovertext\"),u(\"hovertemplate\"),y||m&&\"none\"!==m){var v=u(\"textposition\");o(t,e,c,u,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else\"none\"===m&&u(\"textposition\",\"none\");a(e,c,u),u(\"title.text\")&&(u(\"title.position\"),n.coerceFont(u,\"title.font\",c.font)),u(\"aspectratio\"),u(\"baseratio\")}else e.visible=!1}},91132:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:r(86817),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:r(63447),layoutAttributes:r(10270),supplyDefaults:r(79824),supplyLayoutDefaults:r(69161),calc:r(2807).calc,crossTraceCalc:r(2807).crossTraceCalc,plot:r(96673),style:r(13757),styleOne:r(32891),meta:{}}},10270:function(t,e,r){\"use strict\";var n=r(4031).hiddenlabels;t.exports={hiddenlabels:n,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},69161:function(t,e,r){\"use strict\";var n=r(34809),i=r(10270);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"hiddenlabels\"),r(\"funnelareacolorway\",e.colorway),r(\"extendfunnelareacolors\")}},96673:function(t,e,r){\"use strict\";var n=r(45568),i=r(62203),a=r(34809),o=a.strScale,s=a.strTranslate,l=r(30635),c=r(32995).toMoveInsideBar,u=r(84102),h=u.recordMinTextSize,f=u.clearMinTextSize,p=r(37252),d=r(35734),m=d.attachFxHandlers,g=d.determineInsideTextFont,y=d.layoutAreas,v=d.prerenderTitles,x=d.positionTitleOutside,_=d.formatSliceLabel;function b(t,e){return\"l\"+(e[0]-t[0])+\",\"+(e[1]-t[1])}t.exports=function(t,e){var r=t._context.staticPlot,u=t._fullLayout;f(\"funnelarea\",u),v(e,t),y(e,u._size),a.makeTraceGroups(u._funnelarealayer,e,\"trace\").each((function(e){var f=n.select(this),d=e[0],y=d.trace;!function(t){if(t.length){var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),c=e.vTotal,u=c,h=c*l/(1-l)/c,f=[];for(f.push(E()),o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var p=s.v/u;h+=p,f.push(E())}var d=1/0,m=-1/0;for(o=0;o-1;o--)if(!(s=t[o]).hidden){var M=f[A+=1][0],S=f[A][1];s.TL=[-M,S],s.TR=[M,S],s.BL=T,s.BR=k,s.pxmid=(b=s.TR,w=s.BR,[.5*(b[0]+w[0]),.5*(b[1]+w[1])]),T=s.TL,k=s.TR}}function E(){var t,e={x:t=Math.sqrt(h),y:-t};return[e.x,e.y]}}(e),f.each((function(){var f=n.select(this).selectAll(\"g.slice\").data(e);f.enter().append(\"g\").classed(\"slice\",!0),f.exit().remove(),f.each((function(o,s){if(o.hidden)n.select(this).selectAll(\"path,g\").remove();else{o.pointNumber=o.i,o.curveNumber=y.index;var f=d.cx,v=d.cy,x=n.select(this),w=x.selectAll(\"path.surface\").data([o]);w.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),x.call(m,t,e);var T=\"M\"+(f+o.TR[0])+\",\"+(v+o.TR[1])+b(o.TR,o.BR)+b(o.BR,o.BL)+b(o.BL,o.TL)+\"Z\";w.attr(\"d\",T),_(t,o,d);var k=p.castOption(y.textposition,o.pts),A=x.selectAll(\"g.slicetext\").data(o.text&&\"none\"!==k?[0]:[]);A.enter().append(\"g\").classed(\"slicetext\",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),p=a.ensureUniformFontSize(t,g(y,o,u.font));r.text(o.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(i.font,p).call(l.convertToTspans,t);var d,m,x,_=i.bBox(r.node()),b=Math.min(o.BL[1],o.BR[1])+v,w=Math.max(o.TL[1],o.TR[1])+v;m=Math.max(o.TL[0],o.BL[0])+f,x=Math.min(o.TR[0],o.BR[0])+f,(d=c(m,x,b,w,_,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"})).fontSize=p.size,h(y.type,d,u),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var v=n.select(this).selectAll(\"g.titletext\").data(y.title.text?[0]:[]);v.enter().append(\"g\").classed(\"titletext\",!0),v.exit().remove(),v.each((function(){var e=a.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),r=y.title.text;y._meta&&(r=a.templateString(r,y._meta)),e.text(r).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(i.font,y.title.font).call(l.convertToTspans,t);var c=x(d,u._size);e.attr(\"transform\",s(c.x,c.y)+o(Math.min(1,c.scale))+s(c.tx,c.ty))}))}))}))}},13757:function(t,e,r){\"use strict\";var n=r(45568),i=r(32891),a=r(84102).resizeText;t.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(\".trace\");a(t,e,\"funnelarea\"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll(\"path.surface\").each((function(e){n.select(this).call(i,e,r,t)}))}))}},81658:function(t,e,r){\"use strict\";var n=r(36640),i=r(9829),a=r(80337),o=r(80712).axisHoverFormat,s=r(3208).rb,l=r(3208).ay,c=r(87163),u=r(93049).extendFlat;t.exports=u({z:{valType:\"data_array\",editType:\"calc\"},x:u({},n.x,{impliedEdits:{xtype:\"array\"}}),x0:u({},n.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:u({},n.dx,{impliedEdits:{xtype:\"scaled\"}}),y:u({},n.y,{impliedEdits:{ytype:\"array\"}}),y0:u({},n.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:u({},n.dy,{impliedEdits:{ytype:\"scaled\"}}),xperiod:u({},n.xperiod,{impliedEdits:{xtype:\"scaled\"}}),yperiod:u({},n.yperiod,{impliedEdits:{ytype:\"scaled\"}}),xperiod0:u({},n.xperiod0,{impliedEdits:{xtype:\"scaled\"}}),yperiod0:u({},n.yperiod0,{impliedEdits:{ytype:\"scaled\"}}),xperiodalignment:u({},n.xperiodalignment,{impliedEdits:{xtype:\"scaled\"}}),yperiodalignment:u({},n.yperiodalignment,{impliedEdits:{ytype:\"scaled\"}}),text:{valType:\"data_array\",editType:\"calc\"},hovertext:{valType:\"data_array\",editType:\"calc\"},transpose:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xtype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},ytype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",\"best\",!1],dflt:!1,editType:\"calc\"},hoverongaps:{valType:\"boolean\",dflt:!0,editType:\"none\"},connectgaps:{valType:\"boolean\",editType:\"calc\"},xgap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},ygap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),zhoverformat:o(\"z\",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:\"plot\"},{keys:[\"x\",\"y\",\"z\",\"text\"]}),textfont:a({editType:\"plot\",autoSize:!0,autoColor:!0,colorEditType:\"style\"}),showlegend:u({},i.showlegend,{dflt:!1}),zorder:n.zorder},{transforms:void 0},c(\"\",{cLetter:\"z\",autoColorDflt:!1}))},51670:function(t,e,r){\"use strict\";var n=r(33626),i=r(34809),a=r(29714),o=r(40528),s=r(19226),l=r(28379),c=r(87869),u=r(93877),h=r(69295),f=r(78106),p=r(80924),d=r(63821).BADNUM;function m(t){for(var e=[],r=t.length,n=0;n1){var e=(t[t.length-1]-t[0])/(t.length-1),r=Math.abs(e/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a=0;o--)(s=((h[[(r=(a=f[o])[0])-1,i=a[1]]]||m)[2]+(h[[r+1,i]]||m)[2]+(h[[r,i-1]]||m)[2]+(h[[r,i+1]]||m)[2])/20)&&(l[a]=[r,i,s],f.splice(o,1),c=!0);if(!c)throw\"findEmpties iterated with no new neighbors\";for(a in l)h[a]=l[a],u.push(l[a])}return u.sort((function(t,e){return e[2]-t[2]}))}},93125:function(t,e,r){\"use strict\";var n=r(32141),i=r(34809),a=i.isArrayOrTypedArray,o=r(29714),s=r(88856).extractOpts;t.exports=function(t,e,r,l,c){c||(c={});var u,h,f,p,d=c.isContour,m=t.cd[0],g=m.trace,y=t.xa,v=t.ya,x=m.x,_=m.y,b=m.z,w=m.xCenter,T=m.yCenter,k=m.zmask,A=g.zhoverformat,M=x,S=_;if(!1!==t.index){try{f=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void i.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index)}if(f<0||f>=b[0].length||p<0||p>b.length)return}else{if(n.inbox(e-x[0],e-x[x.length-1],0)>0||n.inbox(r-_[0],r-_[_.length-1],0)>0)return;if(d){var E;for(M=[2*x[0]-x[1]],E=1;Em&&(y=Math.max(y,Math.abs(t[a][o]-d)/(g-m))))}return y}t.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log(\"interp2d didn't converge quickly\",i),t}},63814:function(t,e,r){\"use strict\";var n=r(34809);t.exports=function(t,e){t(\"texttemplate\");var r=n.extendFlat({},e.font,{color:\"auto\",size:\"auto\"});n.coerceFont(t,\"textfont\",r)}},80924:function(t,e,r){\"use strict\";var n=r(33626),i=r(34809).isArrayOrTypedArray;t.exports=function(t,e,r,a,o,s){var l,c,u,h=[],f=n.traceIs(t,\"contour\"),p=n.traceIs(t,\"histogram\"),d=n.traceIs(t,\"gl2d\");if(i(e)&&e.length>1&&!p&&\"category\"!==s.type){var m=e.length;if(!(m<=o))return f?e.slice(0,o):e.slice(0,o+1);if(f||d)h=Array.from(e).slice(0,o);else if(1===o)h=\"log\"===s.type?[.5*e[0],2*e[0]]:[e[0]-.5,e[0]+.5];else if(\"log\"===s.type){for(h=[Math.pow(e[0],1.5)/Math.pow(e[1],.5)],u=1;u0;)k=A.c2p(N[L]),L--;for(k0;)C=M.c2p(j[L]),L--;C=A._length||k<=0||E>=M._length||C<=0)return z.selectAll(\"image\").data([]).exit().remove(),void _(z);\"fast\"===X?(J=Z,K=G):(J=Q,K=tt);var et=document.createElement(\"canvas\");et.width=J,et.height=K;var rt,nt,it=et.getContext(\"2d\",{willReadFrequently:!0}),at=p(D,{noNumericCheck:!0,returnArray:!0});\"fast\"===X?(rt=W?function(t){return Z-1-t}:l.identity,nt=Y?function(t){return G-1-t}:l.identity):(rt=function(t){return l.constrain(Math.round(A.c2p(N[t])-r),0,Q)},nt=function(t){return l.constrain(Math.round(M.c2p(j[t])-E),0,tt)});var ot,st,lt,ct,ut=nt(0),ht=[ut,ut],ft=W?0:1,pt=Y?0:1,dt=0,mt=0,gt=0,yt=0;function vt(t,e){if(void 0!==t){var r=at(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),dt+=e,mt+=r[0]*e,gt+=r[1]*e,yt+=r[2]*e,r}return[0,0,0,0]}function xt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return vt(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],c=o-i||0,u=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,vt(i+r.frac*c+n.frac*(u+r.frac*a))}if(\"default\"!==X){var _t,bt=0;try{_t=new Uint8Array(J*K*4)}catch(t){_t=new Array(J*K*4)}if(\"smooth\"===X){var wt,Tt,kt,At=U||N,Mt=V||j,St=new Array(At.length),Et=new Array(Mt.length),Ct=new Array(Q),Lt=U?w:b,It=V?w:b;for(L=0;LXt||Xt>M._length))for(I=Gt;IJt||Jt>A._length)){var Kt=u({x:$t,y:Yt},D,t._fullLayout);Kt.x=$t,Kt.y=Yt;var Qt=O.z[L][I];void 0===Qt?(Kt.z=\"\",Kt.zLabel=\"\"):(Kt.z=Qt,Kt.zLabel=s.tickText(Ut,Qt,\"hover\").text);var te=O.text&&O.text[L]&&O.text[L][I];void 0!==te&&!1!==te||(te=\"\"),Kt.text=te;var ee=l.texttemplateString(Nt,Kt,t._fullLayout._d3locale,Kt,D._meta||{});if(ee){var re=ee.split(\"
\"),ne=re.length,ie=0;for(P=0;P0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split(\"-\");return\"\"===n[0]&&(n.unshift(),n[0]=\"-\"+n[0]),n}t.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,f=-.1*e,p=t-f,d=r[0],m=r[1],g=Math.min(h(d+f,d+p,n,a),h(m+f,m+p,n,a)),y=Math.min(h(d+c,d+f,n,a),h(m+c,m+f,n,a));if(g>y&&yo){var v=s===i?1:6,x=s===i?\"M12\":\"M1\";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf(\"-\",v);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(cr.r2l(B)&&(j=o.tickIncrement(j,_.size,!0,p)),O.start=r.l2r(j),F||i.nestedProperty(e,y+\".start\").set(O.start)}var U=_.end,V=r.r2l(z.end),q=void 0!==V;if((_.endFound||q)&&V!==r.r2l(U)){var H=q?V:i.aggNums(Math.max,null,d);O.end=r.l2r(H),q||i.nestedProperty(e,y+\".start\").set(O.end)}var G=\"autobin\"+s;return!1===e._input[G]&&(e._input[y]=i.extendFlat({},e[y]||{}),delete e._input[G],delete e[G]),[O,d]}t.exports={calc:function(t,e){var r,a,p,d,m=[],g=[],y=\"h\"===e.orientation,v=o.getFromId(t,y?e.yaxis:e.xaxis),x=y?\"y\":\"x\",_={x:\"y\",y:\"x\"}[x],b=e[x+\"calendar\"],w=e.cumulative,T=f(t,e,v,x),k=T[0],A=T[1],M=\"string\"==typeof k.size,S=[],E=M?S:k,C=[],L=[],I=[],P=0,z=e.histnorm,O=e.histfunc,D=-1!==z.indexOf(\"density\");w.enabled&&D&&(z=z.replace(/ ?density$/,\"\"),D=!1);var R,F=\"max\"===O||\"min\"===O?null:0,B=l.count,N=c[z],j=!1,U=function(t){return v.r2c(t,0,b)};for(i.isArrayOrTypedArray(e[_])&&\"count\"!==O&&(R=e[_],j=\"avg\"===O,B=l[O]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,b))/1e6;r=0&&d=0;n--)s(n);else if(\"increasing\"===e){for(n=1;n=0;n--)t[n]+=t[n+1];\"exclude\"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var J=Math.min(m.length,g.length),K=[],Q=0,tt=J-1;for(r=0;r=Q;r--)if(g[r]){tt=r;break}for(r=Q;r<=tt;r++)if(n(m[r])&&n(g[r])){var et={p:m[r],s:g[r],b:0};w.enabled||(et.pts=I[r],Z?et.ph0=et.ph1=I[r].length?A[I[r][0]]:m[r]:(e._computePh=!0,et.ph0=H(S[r]),et.ph1=H(S[r+1],!0))),K.push(et)}return 1===K.length&&(K[0].width1=o.tickIncrement(K[0].p,k.size,!1,b)-K[0].p),s(K,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected(K,e,X),K},calcAllAutoBins:f}},39732:function(t){\"use strict\";t.exports={eventDataKeys:[\"binNumber\"]}},83380:function(t,e,r){\"use strict\";var n=r(34809),i=r(5975),a=r(33626).traceIs,o=r(36301),s=r(17550).validateCornerradius,l=n.nestedProperty,c=r(84391).getAxisGroup,u=[{aStr:{x:\"xbins.start\",y:\"ybins.start\"},name:\"start\"},{aStr:{x:\"xbins.end\",y:\"ybins.end\"},name:\"end\"},{aStr:{x:\"xbins.size\",y:\"ybins.size\"},name:\"size\"},{aStr:{x:\"nbinsx\",y:\"nbinsy\"},name:\"nbins\"}],h=[\"x\",\"y\"];t.exports=function(t,e){var r,f,p,d,m,g,y,v=e._histogramBinOpts={},x=[],_={},b=[];function w(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function T(t){return\"v\"===t.orientation?\"x\":\"y\"}function k(t,r,a){var o=t.uid+\"__\"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+\"calendar\"]||\"\",c=v[r],u=!0;c&&(s===c.axType&&l===c.calendar?(u=!1,c.traces.push(t),c.dirs.push(a)):(r=o,s!==c.axType&&n.warn([\"Attempted to group the bins of trace\",t.index,\"set on a\",\"type:\"+s,\"axis\",\"with bins on\",\"type:\"+c.axType,\"axis.\"].join(\" \")),l!==c.calendar&&n.warn([\"Attempted to group the bins of trace\",t.index,\"set with a\",l,\"calendar\",\"with bins\",c.calendar?\"on a \"+c.calendar+\" calendar\":\"w/o a set calendar\"].join(\" \")))),u&&(v[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+\"calendar\"]||\"\"}),t[\"_\"+a+\"bingroup\"]=r}for(m=0;mS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],C=[],L=[],I=\"string\"==typeof w.size,P=\"string\"==typeof A.size,z=[],O=[],D=I?z:w,R=P?O:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf(\"density\"),q=\"max\"===U||\"min\"===U?null:0,H=a.count,G=o[j],Z=!1,W=[],Y=[],X=\"z\"in e?e.z:\"marker\"in e&&Array.isArray(e.marker.color)?e.marker.color:\"\";X&&\"count\"!==U&&(Z=\"avg\"===U,H=a[U]);var $=w.size,J=x(w.start),K=x(w.end)+(J-i.tickIncrement(J,$,!1,y))/1e6;for(r=J;r=0&&p=0&&d-1,flipY:L.tiling.flip.indexOf(\"y\")>-1,orientation:L.tiling.orientation,pad:{inner:L.tiling.pad},maxDepth:L._maxDepth}).descendants(),D=1/0,R=-1/0;O.forEach((function(t){var e=t.depth;e>=L._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(D=Math.min(D,e),R=Math.max(R,e))})),d=d.data(O,u.getPtId),L._maxVisibleLayers=isFinite(R)?R-D+1:0,d.enter().append(\"g\").classed(\"slice\",!0),k(d,p,{},[g,y],_),d.order();var F=null;if(T&&S){var B=u.getPtId(S);d.each((function(t){null===F&&u.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},j=d;return T&&(j=j.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=v(s.x0),s._x1=v(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=v(s.x1-L.tiling.pad),s._hoverY=x(z?s.y1-L.tiling.pad/2:s.y0+L.tiling.pad/2);var d=n.select(this),m=i.ensureSingle(d,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",E?\"none\":\"all\")}));T?m.transition().attrTween(\"d\",(function(t){var e=A(t,p,N(),[g,y],{orientation:L.tiling.orientation,flipX:L.tiling.flip.indexOf(\"x\")>-1,flipY:L.tiling.flip.indexOf(\"y\")>-1});return function(t){return _(e(t))}})):m.attr(\"d\",_),d.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),m.call(l,s,L,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text=\"\":s._text=f(s,r,L,e,C)||\"\";var k=i.ensureSingle(d,\"g\",\"slicetext\"),S=i.ensureSingle(k,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),O=i.ensureUniformFontSize(t,u.determineTextFont(L,s,C.font));S.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",P?\"end\":I?\"start\":\"middle\").call(a.font,O).call(o.convertToTspans,t),s.textBB=a.bBox(S.node()),s.transform=b(s,{fontSize:O.size}),s.transform.fontSize=O.size,T?S.transition().attrTween(\"transform\",(function(t){var e=M(t,p,N(),[g,y]);return function(t){return w(e(t))}})):S.attr(\"transform\",w(s))})),F}},36858:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:r(63387),categories:[],animatable:!0,attributes:r(12505),layoutAttributes:r(60052),supplyDefaults:r(17918),supplyLayoutDefaults:r(11747),calc:r(36349)._,crossTraceCalc:r(36349).t,plot:r(1395),style:r(50579).style,colorbar:r(21146),meta:{}}},60052:function(t){\"use strict\";t.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},11747:function(t,e,r){\"use strict\";var n=r(34809),i=r(60052);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"iciclecolorway\",e.colorway),r(\"extendiciclecolors\")}},29316:function(t,e,r){\"use strict\";var n=r(92264),i=r(36141);t.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s=\"h\"===r.orientation,l=r.maxDepth,c=e[0],u=e[1];l&&(c=(t.height+1)*e[0]/Math.min(t.height+1,l),u=(t.height+1)*e[1]/Math.min(t.height+1,l));var h=n.partition().padding(r.pad.inner).size(s?[e[1],c]:[e[0],u])(t);return(s||a||o)&&i(h,e,{swapXY:s,flipX:a,flipY:o}),h}},1395:function(t,e,r){\"use strict\";var n=r(41567),i=r(23593);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:\"icicle\",drawDescendants:i})}},50579:function(t,e,r){\"use strict\";var n=r(45568),i=r(78766),a=r(34809),o=r(84102).resizeText,s=r(72043);function l(t,e,r,n){var o=e.data.data,l=!e.children,c=o.i,u=a.castOption(r,c,\"marker.line.color\")||i.defaultLine,h=a.castOption(r,c,\"marker.line.width\")||0;t.call(s,e,r,n).style(\"stroke-width\",h).call(i.stroke,u).style(\"opacity\",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(\".trace\");o(t,e,\"icicle\"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style(\"opacity\",i.opacity),r.selectAll(\"path.surface\").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},22153:function(t,e,r){\"use strict\";for(var n=r(9829),i=r(36640).zorder,a=r(3208).rb,o=r(93049).extendFlat,s=r(42939).colormodel,l=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],c=[],u=[],h=0;h0||n.inbox(r-s.y0,r-(s.y0+s.h*l.dy),0)>0)){var h,f=Math.floor((e-s.x0)/l.dx),p=Math.floor(Math.abs(r-s.y0)/l.dy);if(l._hasZ?h=s.z[p][f]:l._hasSource&&(h=l._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(f,p,1,1).data),h){var d,m=s.hi||l.hoverinfo;if(m){var g=m.split(\"+\");-1!==g.indexOf(\"all\")&&(g=[\"color\"]),-1!==g.indexOf(\"color\")&&(d=!0)}var y,v=o.colormodel[l.colormodel],x=v.colormodel||l.colormodel,_=x.length,b=l._scaler(h),w=v.suffix,T=[];(l.hovertemplate||d)&&(T.push(\"[\"+[b[0]+w[0],b[1]+w[1],b[2]+w[2]].join(\", \")),4===_&&T.push(\", \"+b[3]+w[3]),T.push(\"]\"),T=T.join(\"\"),t.extraText=x.toUpperCase()+\": \"+T),a(l.hovertext)&&a(l.hovertext[p])?y=l.hovertext[p][f]:a(l.text)&&a(l.text[p])&&(y=l.text[p][f]);var k=u.c2p(s.y0+(p+.5)*l.dy),A=s.x0+(f+.5)*l.dx,M=s.y0+(p+.5)*l.dy,S=\"[\"+h.slice(0,l.colormodel.length).join(\", \")+\"]\";return[i.extendFlat(t,{index:[p,f],x0:c.c2p(s.x0+f*l.dx),x1:c.c2p(s.x0+(f+1)*l.dx),y0:k,y1:k,color:b,xVal:A,xLabelVal:A,yVal:M,yLabelVal:M,zLabelVal:S,text:y,hovertemplateLabels:{zLabel:S,colorLabel:T,\"color[0]Label\":b[0]+w[0],\"color[1]Label\":b[1]+w[1],\"color[2]Label\":b[2]+w[2],\"color[3]Label\":b[3]+w[3]}})]}}}},92106:function(t,e,r){\"use strict\";t.exports={attributes:r(22153),supplyDefaults:r(82766),calc:r(31181),plot:r(36899),style:r(67555),hoverPoints:r(57328),eventData:r(45461),moduleType:\"trace\",name:\"image\",basePlotModule:r(37703),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}},36899:function(t,e,r){\"use strict\";var n=r(45568),i=r(34809),a=i.strTranslate,o=r(62972),s=r(42939),l=r(95544),c=r(1837).STYLE;t.exports=function(t,e,r,u){var h=e.xaxis,f=e.yaxis,p=!t._context._exportedPlot&&l();i.makeTraceGroups(u,r,\"im\").each((function(e){var r=n.select(this),l=e[0],u=l.trace,d=(\"fast\"===u.zsmooth||!1===u.zsmooth&&p)&&!u._hasZ&&u._hasSource&&\"linear\"===h.type&&\"linear\"===f.type;u._realImage=d;var m,g,y,v,x,_,b=l.z,w=l.x0,T=l.y0,k=l.w,A=l.h,M=u.dx,S=u.dy;for(_=0;void 0===m&&_0;)g=h.c2p(w+_*M),_--;for(_=0;void 0===v&&_0;)x=f.c2p(T+_*S),_--;gz[0];if(O||D){var R=m+E/2,F=v+C/2;I+=\"transform:\"+a(R+\"px\",F+\"px\")+\"scale(\"+(O?-1:1)+\",\"+(D?-1:1)+\")\"+a(-R+\"px\",-F+\"px\")+\";\"}}L.attr(\"style\",I);var B=new Promise((function(t){if(u._hasZ)t();else if(u._hasSource)if(u._canvas&&u._canvas.el.width===k&&u._canvas.el.height===A&&u._canvas.source===u.source)t();else{var e=document.createElement(\"canvas\");e.width=k,e.height=A;var r=e.getContext(\"2d\",{willReadFrequently:!0});u._image=u._image||new Image;var n=u._image;n.onload=function(){r.drawImage(n,0,0),u._canvas={el:e,source:u.source},t()},n.setAttribute(\"src\",u.source)}})).then((function(){var t,e;if(u._hasZ)e=N((function(t,e){var r=b[e][t];return i.isTypedArray(r)&&(r=Array.from(r)),r})),t=e.toDataURL(\"image/png\");else if(u._hasSource)if(d)t=u.source;else{var r=u._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=N((function(t,e){var n=4*(e*k+t);return[r[n],r[n+1],r[n+2],r[n+3]]})),t=e.toDataURL(\"image/png\")}L.attr({\"xlink:href\":t,height:C,width:E,x:m,y:v})}));t._promises.push(B)}function N(t){var e=document.createElement(\"canvas\");e.width=E,e.height=C;var r,n=e.getContext(\"2d\",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(h.c2p(w+t*M)-m),0,E)},o=function(t){return i.constrain(Math.round(f.c2p(T+t*S)-v),0,C)},c=s.colormodel[u.colormodel],p=c.colormodel||u.colormodel,d=c.fmt;for(_=0;_0}function T(t){t.each((function(t){v.stroke(n.select(this),t.line.color)})).each((function(t){v.fill(n.select(this),t.color)})).style(\"stroke-width\",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:\"linear\",ticks:\"outside\",range:r,showline:!0},e),a={type:\"linear\",_id:\"x\"+e._id},s={letter:\"x\",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,y,t,e)}return m(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+\"x\"+r]}function M(t,e,r,i){var a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),o=n.select(a);return o.text(t).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",r).attr(\"data-unformatted\",t).call(p.convertToTspans,i).call(h.font,e),h.bBox(o.node())}function S(t,e,r,n,i,a){var s=\"_cache\"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}t.exports=function(t,e,r,m){var g,y=t._fullLayout;w(r)&&m&&(g=m()),o.makeTraceGroups(y._indicatorlayer,e,\"trace\").each((function(e){var m,E,C,L,I,P=e[0].trace,z=n.select(this),O=P._hasGauge,D=P._isAngular,R=P._isBullet,F=P.domain,B={w:y._size.w*(F.x[1]-F.x[0]),h:y._size.h*(F.y[1]-F.y[0]),l:y._size.l+y._size.w*F.x[0],r:y._size.r+y._size.w*(1-F.x[1]),t:y._size.t+y._size.h*(1-F.y[1]),b:y._size.b+y._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=f.innerRadius*U,q=P.align||\"center\";if(E=j,O){if(D&&(m=N,E=j+U/2,C=function(t){return function(t,e){return[e/Math.sqrt(t.width/2*(t.width/2)+t.height*t.height),t,e]}(t,.9*V)}),R){var H=f.bulletPadding,G=1-f.bulletNumberDomainSize+H;m=B.l+(G+(1-G)*_[q])*B.w,C=function(t){return A(t,(f.bulletNumberDomainSize-H)*B.w,B.h)}}}else m=B.l+_[q]*B.w,C=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var c,u,f,m=r[0].trace,g=i.numbersX,y=i.numbersY,T=m.align||\"center\",A=x[T],E=i.transitionOpts,C=i.onComplete,L=o.ensureSingle(e,\"g\",\"numbers\"),I=[];m._hasNumber&&I.push(\"number\"),m._hasDelta&&(I.push(\"delta\"),\"left\"===m.delta.position&&I.reverse());var P=L.selectAll(\"text\").data(I);function z(e,r,n,i){if(!e.match(\"s\")||n>=0==i>=0||r(n).slice(-1).match(b)||r(i).slice(-1).match(b))return r;var a=e.slice().replace(\"s\",\"f\").replace(/\\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}P.enter().append(\"text\"),P.attr(\"text-anchor\",(function(){return A})).attr(\"class\",(function(t){return t})).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),P.exit().remove();var O,D=m.mode+m.align;if(m._hasDelta&&(O=function(){var e=k(t,{tickformat:m.delta.valueformat},m._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=m.delta.suffix,s=m.delta.prefix,l=function(t){return m.delta.relative?t.relativeDelta:t.delta},c=function(t,e){return 0===t||\"number\"!=typeof t||isNaN(t)?\"-\":(t>0?m.delta.increasing.symbol:m.delta.decreasing.symbol)+s+e(t)+o},f=function(t){return t.delta>=0?m.delta.increasing.color:m.delta.decreasing.color};void 0===m._deltaLastValue&&(m._deltaLastValue=l(r[0]));var g=L.select(\"text.delta\");function y(){g.text(c(l(r[0]),i)).call(v.fill,f(r[0])).call(p.convertToTspans,t)}return g.call(h.font,m.delta.font).call(v.fill,f({delta:m._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween(\"text\",(function(){var t=n.select(this),e=l(r[0]),o=m._deltaLastValue,s=z(m.delta.valueformat,i,o,e),u=a(o,e);return m._deltaLastValue=e,function(e){t.text(c(u(e),s)),t.call(v.fill,f({delta:u(e)}))}})).each(\"end\",(function(){y(),C&&C()})).each(\"interrupt\",(function(){y(),C&&C()})):y(),u=M(c(l(r[0]),i),m.delta.font,A,t),g}(),D+=m.delta.position+m.delta.font.size+m.delta.font.family+m.delta.valueformat,D+=m.delta.increasing.symbol+m.delta.decreasing.symbol,f=u),m._hasNumber&&(function(){var e=k(t,{tickformat:m.number.valueformat},m._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=m.number.suffix,s=m.number.prefix,l=L.select(\"text.number\");function u(){var e=\"number\"==typeof r[0].y?s+i(r[0].y)+o:\"-\";l.text(e).call(h.font,m.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each(\"end\",(function(){u(),C&&C()})).each(\"interrupt\",(function(){u(),C&&C()})).attrTween(\"text\",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);m._lastValue=r[0].y;var l=z(m.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):u(),c=M(s+i(r[0].y)+o,m.number.font,A,t)}(),D+=m.number.font.size+m.number.font.family+m.number.valueformat+m.number.suffix+m.number.prefix,f=c),m._hasDelta&&m._hasNumber){var R,F,B=[(c.left+c.right)/2,(c.top+c.bottom)/2],N=[(u.left+u.right)/2,(u.top+u.bottom)/2],j=.75*m.delta.font.size;\"left\"===m.delta.position&&(R=S(m,\"deltaPos\",0,-1*(c.width*_[m.align]+u.width*(1-_[m.align])+j),D,Math.min),F=B[1]-N[1],f={width:c.width+u.width+j,height:Math.max(c.height,u.height),left:u.left+R,right:c.right,top:Math.min(c.top,u.top+F),bottom:Math.max(c.bottom,u.bottom+F)}),\"right\"===m.delta.position&&(R=S(m,\"deltaPos\",0,c.width*(1-_[m.align])+u.width*_[m.align]+j,D,Math.max),F=B[1]-N[1],f={width:c.width+u.width+j,height:Math.max(c.height,u.height),left:c.left,right:u.right+R,top:Math.min(c.top,u.top+F),bottom:Math.max(c.bottom,u.bottom+F)}),\"bottom\"===m.delta.position&&(R=null,F=u.height,f={width:Math.max(c.width,u.width),height:c.height+u.height,left:Math.min(c.left,u.left),right:Math.max(c.right,u.right),top:c.bottom-c.height,bottom:c.bottom+u.height}),\"top\"===m.delta.position&&(R=null,F=c.top,f={width:Math.max(c.width,u.width),height:c.height+u.height,left:Math.min(c.left,u.left),right:Math.max(c.right,u.right),top:c.bottom-c.height-u.height,bottom:c.bottom}),O.attr({dx:R,dy:F})}(m._hasNumber||m._hasDelta)&&L.attr(\"transform\",(function(){var t=i.numbersScaler(f);D+=t[2];var e,r=S(m,\"numbersScale\",1,t[0],D,Math.min);m._scaleNumbers||(r=1),e=m._isAngular?y-r*f.bottom:y-r*(f.top+f.bottom)/2,m._numbersTop=r*f.top+e;var n=f[T];\"center\"===T&&(n=(f.left+f.right)/2);var a=g-r*n;return a=S(m,\"numbersTranslate\",0,a,D,Math.max),l(a,e)+s(r)}))}(t,z,e,{numbersX:m,numbersY:E,numbersScaler:C,transitionOpts:r,onComplete:g}),O&&(L={range:P.gauge.axis.range,color:P.gauge.bgcolor,line:{color:P.gauge.bordercolor,width:0},thickness:1},I={range:P.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:P.gauge.bordercolor,width:P.gauge.borderwidth},thickness:1});var Z=z.selectAll(\"g.angular\").data(D?e:[]);Z.exit().remove();var W=z.selectAll(\"g.angularaxis\").data(D?e:[]);W.exit().remove(),D&&function(t,e,r,a){var o,s,h,f,p=r[0].trace,m=a.size,g=a.radius,y=a.innerRadius,v=a.gaugeBg,x=a.gaugeOutline,_=[m.l+m.w/2,m.t+m.h/2+g/2],b=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function C(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function L(t){return n.svg.arc().innerRadius((y+g)/2-t/2*(g-y)).outerRadius((y+g)/2+t/2*(g-y)).startAngle(-E)}function I(t){t.attr(\"d\",(function(t){return L(t.thickness).startAngle(C(t.range[0])).endAngle(C(t.range[1]))()}))}b.enter().append(\"g\").classed(\"angular\",!0),b.attr(\"transform\",l(_[0],_[1])),A.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),A.selectAll(\"g.xangularaxistick,path,text\").remove(),(o=k(t,p.gauge.axis)).type=\"linear\",o.range=p.gauge.axis.range,o._id=\"xangularaxis\",o.ticklabeloverflow=\"allow\",o.setScale();var P=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},z={},O=d.makeLabelFns(o,0).labelStandoff;z.xFn=function(t){var e=P(t);return Math.cos(e)*O},z.yFn=function(t){var e=P(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(O+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*u)},z.anchorFn=function(t){var e=P(t),r=Math.cos(e);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},z.heightFn=function(t,e,r){var n=P(t);return-.5*(1+Math.sin(n))*r};var D=function(t){return l(_[0]+g*Math.cos(t),_[1]-g*Math.sin(t))};h=function(t){return D(P(t))};if(s=d.calcTicks(o),f=d.getTickSigns(o)[2],o.visible){f=\"inside\"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:\"M\"+f*R+\",0h\"+f*o.ticklen,transFn:function(t){var e=P(t);return D(e)+\"rotate(\"+-c(e)+\")\"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:h,labelFns:z})}var F=[v].concat(p.gauge.steps),B=b.selectAll(\"g.bg-arc\").data(F);B.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),B.select(\"path\").call(I).call(T),B.exit().remove();var N=L(p.gauge.bar.thickness),j=b.selectAll(\"g.value-arc\").data([p.gauge.bar]);j.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var U,V,q,H=j.select(\"path\");w(M)?(H.transition().duration(M.duration).ease(M.easing).each(\"end\",(function(){S&&S()})).each(\"interrupt\",(function(){S&&S()})).attrTween(\"d\",(U=N,V=C(r[0].lastY),q=C(r[0].y),function(){var t=i(V,q);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):H.attr(\"d\",\"number\"==typeof r[0].y?N.endAngle(C(r[0].y)):\"M0,0Z\"),H.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var Z=b.selectAll(\"g.threshold-arc\").data(F);Z.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),Z.select(\"path\").call(I).call(T),Z.exit().remove();var W=b.selectAll(\"g.gauge-outline\").data([x]);W.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),W.select(\"path\").call(I).call(T),W.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:Z,layer:W,size:B,gaugeBg:L,gaugeOutline:I,transitionOpts:r,onComplete:g});var Y=z.selectAll(\"g.bullet\").data(R?e:[]);Y.exit().remove();var X=z.selectAll(\"g.bulletaxis\").data(R?e:[]);X.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,c,u=r[0].trace,h=n.gauge,p=n.layer,m=n.gaugeBg,g=n.gaugeOutline,y=n.size,x=u.domain,_=n.transitionOpts,b=n.onComplete;h.enter().append(\"g\").classed(\"bullet\",!0),h.attr(\"transform\",l(y.l,y.t)),p.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),p.selectAll(\"g.xbulletaxistick,path,text\").remove();var A=y.h,M=u.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(u._hasNumber||u._hasDelta?1-f.bulletNumberDomainSize:1);function C(t){t.attr(\"width\",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr(\"x\",(function(t){return i.c2p(t.range[0])})).attr(\"y\",(function(t){return.5*(1-t.thickness)*A})).attr(\"height\",(function(t){return t.thickness*A}))}(i=k(t,u.gauge.axis))._id=\"xbulletaxis\",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],c=y.t+y.h,i.visible&&(d.drawTicks(t,i,{vals:\"inside\"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,c,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,c)}));var L=[m].concat(u.gauge.steps),I=h.selectAll(\"g.bg-bullet\").data(L);I.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),I.select(\"rect\").call(C).call(T),I.exit().remove();var P=h.selectAll(\"g.value-bullet\").data([u.gauge.bar]);P.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),P.select(\"rect\").attr(\"height\",M).attr(\"y\",(A-M)/2).call(T),w(_)?P.select(\"rect\").transition().duration(_.duration).ease(_.easing).each(\"end\",(function(){b&&b()})).each(\"interrupt\",(function(){b&&b()})).attr(\"width\",Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y)))):P.select(\"rect\").attr(\"width\",\"number\"==typeof r[0].y?Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y))):0),P.exit().remove();var z=r.filter((function(){return u.gauge.threshold.value||0===u.gauge.threshold.value})),O=h.selectAll(\"g.threshold-bullet\").data(z);O.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),O.select(\"line\").attr(\"x1\",i.c2p(u.gauge.threshold.value)).attr(\"x2\",i.c2p(u.gauge.threshold.value)).attr(\"y1\",(1-u.gauge.threshold.thickness)/2*A).attr(\"y2\",(1-(1-u.gauge.threshold.thickness)/2)*A).call(v.stroke,u.gauge.threshold.line.color).style(\"stroke-width\",u.gauge.threshold.line.width),O.exit().remove();var D=h.selectAll(\"g.gauge-outline\").data([g]);D.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),D.select(\"rect\").call(C).call(T),D.exit().remove()}(t,0,e,{gauge:Y,layer:X,size:B,gaugeBg:L,gaugeOutline:I,transitionOpts:r,onComplete:g});var $=z.selectAll(\"text.title\").data(e);$.exit().remove(),$.enter().append(\"text\").classed(\"title\",!0),$.attr(\"text-anchor\",(function(){return R?x.right:x[P.title.align]})).text(P.title.text).call(h.font,P.title.font).call(p.convertToTspans,t),$.attr(\"transform\",(function(){var t,e=B.l+B.w*_[P.title.align],r=f.titlePadding,n=h.bBox($.node());return O?(D&&(t=P.gauge.axis.visible?h.bBox(W.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(t=E-(n.top+n.bottom)/2,e=B.l-f.bulletPadding*B.w)):t=P._numbersTop-r-n.bottom,l(e,t)}))}))}},70252:function(t,e,r){\"use strict\";var n=r(87163),i=r(80712).axisHoverFormat,a=r(3208).rb,o=r(42450),s=r(9829),l=r(93049).extendFlat,c=r(13582).overrideAll,u=t.exports=c(l({x:{valType:\"data_array\"},y:{valType:\"data_array\"},z:{valType:\"data_array\"},value:{valType:\"data_array\"},isomin:{valType:\"number\"},isomax:{valType:\"number\"},surface:{show:{valType:\"boolean\",dflt:!0},count:{valType:\"integer\",dflt:2,min:1},fill:{valType:\"number\",min:0,max:1,dflt:1},pattern:{valType:\"flaglist\",flags:[\"A\",\"B\",\"C\",\"D\",\"E\"],extras:[\"all\",\"odd\",\"even\"],dflt:\"all\"}},spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}},y:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}},z:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}},y:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}},z:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}}},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:a(),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),valuehoverformat:i(\"value\",1),showlegend:l({},s.showlegend,{dflt:!1})},n(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),\"calc\",\"nested\");u.flatshading.dflt=!0,u.lighting.facenormalsepsilon.dflt=0,u.x.editType=u.y.editType=u.z.editType=u.value.editType=\"calc+clearAxisTypes\",u.transforms=void 0},58988:function(t,e,r){\"use strict\";var n=r(28379),i=r(36402).processGrid,a=r(36402).filter;t.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){L();var i,a,o,l=[r],c=[n];if(s>=1)l=[r],c=[n];else if(s>0){var u=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:C(d,m,y);f[p]=x>-1?x:P(d,m,y,R(e,v))}i=f[0],a=f[1],o=f[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}var V=3;function q(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):aMath.abs(C-M)?[A,C]:[C,M];d=!0,Q(r,L[0],L[1]),d=!1}}var z=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];[\"x\",\"y\",\"z\"].forEach((function(r){for(var n=[],i=0;i0&&(h.push(d.id),\"x\"===r?f.push([d.distRatio,0,0]):\"y\"===r?f.push([0,d.distRatio,0]):f.push([0,0,d.distRatio]))}else u=nt(1,\"x\"===r?_-1:\"y\"===r?b-1:w-1);h.length>0&&(n[a]=\"x\"===r?tt(e,h,o,s,f,n[a]):\"y\"===r?et(e,h,o,s,f,n[a]):rt(e,h,o,s,f,n[a]),a++),u.length>0&&(n[a]=\"x\"===r?$(e,u,o,s,n[a]):\"y\"===r?J(e,u,o,s,n[a]):K(e,u,o,s,n[a]),a++)}var m=t.caps[r];m.show&&m.fill&&(O(m.fill),n[a]=\"x\"===r?$(e,[0,_-1],o,s,n[a]):\"y\"===r?J(e,[0,b-1],o,s,n[a]):K(e,[0,w-1],o,s,n[a]),a++)}})),0===g&&I(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=y,t._Ys=v,t._Zs=x}(),t}t.exports={findNearestOnAxis:c,generateIsoMeshes:p,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new u(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},44731:function(t,e,r){\"use strict\";var n=r(34809),i=r(33626),a=r(70252),o=r(39356);function s(t,e,r,n,a){var s=a(\"isomin\"),l=a(\"isomax\");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var c=a(\"x\"),u=a(\"y\"),h=a(\"z\"),f=a(\"value\");c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length?(i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],n),a(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach((function(t){a(t+\"hoverformat\");var e=\"caps.\"+t;a(e+\".show\")&&a(e+\".fill\");var r=\"slices.\"+t;a(r+\".show\")&&(a(r+\".fill\"),a(r+\".locations\"))})),a(\"spaceframe.show\")&&a(\"spaceframe.fill\"),a(\"surface.show\")&&(a(\"surface.count\"),a(\"surface.fill\"),a(\"surface.pattern\")),a(\"contour.show\")&&(a(\"contour.color\"),a(\"contour.width\")),[\"text\",\"hovertext\",\"hovertemplate\",\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"opacity\"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:\"\",cLetter:\"c\"}),e._length=null):e.visible=!1}t.exports={supplyDefaults:function(t,e,r,i){s(t,e,0,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},75297:function(t,e,r){\"use strict\";t.exports={attributes:r(70252),supplyDefaults:r(44731).supplyDefaults,calc:r(58988),colorbar:{min:\"cmin\",max:\"cmax\"},plot:r(91370).createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:r(2487),categories:[\"gl3d\",\"showLegend\"],meta:{}}},42450:function(t,e,r){\"use strict\";var n=r(87163),i=r(80712).axisHoverFormat,a=r(3208).rb,o=r(16131),s=r(9829),l=r(93049).extendFlat;t.exports=l({x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},i:{valType:\"data_array\",editType:\"calc\"},j:{valType:\"data_array\",editType:\"calc\"},k:{valType:\"data_array\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:a({editType:\"calc\"}),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\",editType:\"calc\"},alphahull:{valType:\"number\",dflt:-1,editType:\"calc\"},intensity:{valType:\"data_array\",editType:\"calc\"},intensitymode:{valType:\"enumerated\",values:[\"vertex\",\"cell\"],dflt:\"vertex\",editType:\"calc\"},color:{valType:\"color\",editType:\"calc\"},vertexcolor:{valType:\"data_array\",editType:\"calc\"},facecolor:{valType:\"data_array\",editType:\"calc\"},transforms:void 0},n(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:o.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:\"calc\"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:l({vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12,editType:\"calc\"},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6,editType:\"calc\"},editType:\"calc\"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:\"calc\"}),showlegend:l({},s.showlegend,{dflt:!1})})},44878:function(t,e,r){\"use strict\";var n=r(28379);t.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:\"\",cLetter:\"c\"})}},82836:function(t,e,r){\"use strict\";var n=r(99098).gl_mesh3d,i=r(99098).delaunay_triangulate,a=r(99098).alpha_shape,o=r(99098).convex_hull,s=r(46998).parseColorScale,l=r(34809).isArrayOrTypedArray,c=r(55010),u=r(88856).extractOpts,h=r(88239);function f(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var p=f.prototype;function d(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}p.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return l(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},p.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,l=t.x.length,f=h(m(r.xaxis,t.x,e.dataScale[0],t.xcalendar),m(r.yaxis,t.y,e.dataScale[1],t.ycalendar),m(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!y(t.i,l)||!y(t.j,l)||!y(t.k,l))return;n=h(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(f):t.alphahull>0?a(t.alphahull,f):function(t,e){for(var r=[\"x\",\"y\",\"z\"].indexOf(t),n=[],a=e.length,o=0;oy):g=A>w,y=A;var M=c(w,T,k,A);M.pos=b,M.yc=(w+A)/2,M.i=_,M.dir=g?\"increasing\":\"decreasing\",M.x=M.pos,M.y=[k,T],v&&(M.orig_p=r[_]),d&&(M.tx=e.text[_]),m&&(M.htx=e.hovertext[_]),x.push(M)}else x.push({pos:b,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(f,h),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,\"open:\")+\" \",high:i(t,\"high:\")+\" \",low:i(t,\"low:\")+\" \",close:i(t,\"close:\")+\" \"}}),x}t.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a\"+c.labels[x]+n.hoverLabelText(s,_,l.yhoverformat):((v=i.extendFlat({},f)).y0=v.y1=b,v.yLabelVal=_,v.yLabel=c.labels[x]+n.hoverLabelText(s,_,l.yhoverformat),v.name=\"\",h.push(v),g[_]=v)}return h}function f(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,h=a[0].t,f=u(t,e,r,i);if(!f)return[];var p=a[f.index],d=f.index=p.i,m=p.dir;function g(t){return h.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var y=p.hi||l.hoverinfo,v=y.split(\"+\"),x=\"all\"===y,_=x||-1!==v.indexOf(\"y\"),b=x||-1!==v.indexOf(\"text\"),w=_?[g(\"open\"),g(\"high\"),g(\"low\"),g(\"close\")+\" \"+c[m]]:[];return b&&s(p,l,w),f.extraText=w.join(\"
\"),f.y0=f.y1=o.c2p(p.yc,!0),[f]}t.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?h(t,e,r,n):f(t,e,r,n)},hoverSplit:h,hoverOnPoints:f}},12683:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:r(37703),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:r(86706),supplyDefaults:r(22629),calc:r(95694).calc,plot:r(38956),style:r(57406),hoverPoints:r(93245).hoverPoints,selectPoints:r(49343)}},28270:function(t,e,r){\"use strict\";var n=r(33626),i=r(34809);t.exports=function(t,e,r,a){var o=r(\"x\"),s=r(\"open\"),l=r(\"high\"),c=r(\"low\"),u=r(\"close\");if(r(\"hoverlabel.split\"),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\"],a),s&&l&&c&&u){var h=Math.min(s.length,l.length,c.length,u.length);return o&&(h=Math.min(h,i.minRowLength(o))),e._length=h,h}}},38956:function(t,e,r){\"use strict\";var n=r(45568),i=r(34809);t.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,\"trace ohlc\").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var c=a.tickLen,u=e.selectAll(\"path\").data(i.identity);u.enter().append(\"path\"),u.exit().remove(),u.attr(\"d\",(function(t){if(t.empty)return\"M0,0Z\";var e=s.c2p(t.pos-c,!0),r=s.c2p(t.pos+c,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return\"M\"+e+\",\"+o.c2p(t.o,!0)+\"H\"+n+\"M\"+n+\",\"+o.c2p(t.h,!0)+\"V\"+o.c2p(t.l,!0)+\"M\"+r+\",\"+o.c2p(t.c,!0)+\"H\"+n}))}}))}},49343:function(t){\"use strict\";t.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(r))for(e=0;e0||u(s);c&&(o=\"array\");var h=r(\"categoryorder\",o);\"array\"===h?(r(\"categoryarray\"),r(\"ticktext\")):(delete t.categoryarray,delete t.ticktext),c||\"array\"!==h||(e.categoryorder=\"trace\")}}t.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:\"dimensions\",handleItemDefaults:h}),d=function(t,e,r,o,s){s(\"line.shape\"),s(\"line.hovertemplate\");var l=s(\"line.color\",o.colorway[0]);if(i(t,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;e.line.color=r}return 1/0}(t,e,r,u,f);o(e,u,f),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,\"values\",d),f(\"hoveron\"),f(\"hovertemplate\"),f(\"arrangement\"),f(\"bundlecolors\"),f(\"sortpaths\"),f(\"counts\");var m=u.font;n.coerceFont(f,\"labelfont\",m,{overrideDflt:{size:Math.round(m.size)}}),n.coerceFont(f,\"tickfont\",m,{autoShadowDflt:!0,overrideDflt:{size:Math.round(m.size/1.2)}})}},6305:function(t,e,r){\"use strict\";t.exports={attributes:r(11660),supplyDefaults:r(62651),calc:r(95564),plot:r(37822),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:r(83260),categories:[\"noOpacity\"],meta:{}}},27219:function(t,e,r){\"use strict\";var n=r(45568),i=r(88640).Dj,a=r(31420),o=r(32141),s=r(34809),l=s.strTranslate,c=r(62203),u=r(65657),h=r(30635);function f(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),u=i.selectAll(\"g.parcatslayer\").data([null]);u.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",a?\"none\":\"all\");var f=u.selectAll(\"g.trace.parcats\").data(o,p),v=f.enter().append(\"g\").attr(\"class\",\"trace parcats\");f.attr(\"transform\",(function(t){return l(t.x,t.y)})),v.append(\"g\").attr(\"class\",\"paths\");var x=f.select(\"g.paths\").selectAll(\"path.path\").data((function(t){return t.paths}),p);x.attr(\"fill\",(function(t){return t.model.color}));var w=x.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.model.color})).attr(\"fill-opacity\",0);b(w),x.attr(\"d\",(function(t){return t.svgD})),w.empty()||x.sort(m),x.exit().remove(),x.on(\"mouseover\",g).on(\"mouseout\",y).on(\"click\",_),v.append(\"g\").attr(\"class\",\"dimensions\");var A=f.select(\"g.dimensions\").selectAll(\"g.dimension\").data((function(t){return t.dimensions}),p);A.enter().append(\"g\").attr(\"class\",\"dimension\"),A.attr(\"transform\",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll(\"g.category\").data((function(t){return t.categories}),p),S=M.enter().append(\"g\").attr(\"class\",\"category\");M.attr(\"transform\",(function(t){return l(0,t.y)})),S.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),M.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})),T(S);var E=M.selectAll(\"rect.bandrect\").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr(\"fill\",(function(t){return t.color}));var O=E.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.color})).attr(\"fill-opacity\",0);E.attr(\"fill\",(function(t){return t.color})).attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})).attr(\"y\",(function(t){return t.y})).attr(\"cursor\",(function(t){return\"fixed\"===t.parcatsViewModel.arrangement?\"default\":\"perpendicular\"===t.parcatsViewModel.arrangement?\"ns-resize\":\"move\"})),k(O),E.exit().remove(),S.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\"),M.select(\"text.catlabel\").attr(\"text-anchor\",(function(t){return d(t)?\"start\":\"end\"})).attr(\"alignment-baseline\",\"middle\").style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",(function(t){return d(t)?t.width+5:-5})).attr(\"y\",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){c.font(n.select(this),t.parcatsViewModel.categorylabelfont),h.convertToTspans(n.select(this),e)})),S.append(\"text\").attr(\"class\",\"dimlabel\"),M.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",(function(t){return\"fixed\"===t.parcatsViewModel.arrangement?\"default\":\"ew-resize\"})).attr(\"x\",(function(t){return t.width/2})).attr(\"y\",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){c.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll(\"rect.bandrect\").on(\"mouseover\",C).on(\"mouseout\",L),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on(\"dragstart\",I).on(\"drag\",P).on(\"dragend\",z)),f.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),t.dimensionSelection=n.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")})),f.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function m(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor\"),C=n.mouse(h)[0];o.loneHover({trace:f,x:_-d.left+m.left,y:b-d.top+m.top,text:E,color:t.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:T,idealAlign:C<_?\"right\":\"left\",hovertemplate:(f.line||{}).hovertemplate,hovertemplateLabels:M,eventData:[{data:f._input,fullData:f,count:k,probability:A}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:h})}}}function y(t){if(!t.parcatsViewModel.dragDimension&&(b(n.select(this)),o.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),t.parcatsViewModel.pathSelection.sort(m),-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\"))){var e=v(t),r=x(t);t.parcatsViewModel.graphDiv.emit(\"plotly_unhover\",{points:e,event:n.event,constraints:r})}}function v(t){for(var e=[],r=O(t.parcatsViewModel),n=0;n1&&f.displayInd===h.dimensions.length-1?(i=c.left,a=\"left\"):(i=c.left+c.width,a=\"right\");var m=u.model.count,g=u.model.categoryLabel,y=m/u.parcatsViewModel.model.count,v={countLabel:m,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==u.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&x.push([\"Count:\",v.countLabel].join(\" \")),-1!==u.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&x.push([\"P(\"+v.categoryLabel+\"):\",v.probabilityLabel].join(\" \"));var _=x.join(\"
\");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:_,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:v,eventData:[{data:p._input,fullData:p,count:m,category:g,probability:y}]}}function C(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron,c=this;\"color\"===l?(function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll(\"rect.bandrect\").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr(\"stroke\",\"black\").attr(\"stroke-width\",1.5)}))}(c),S(c,\"plotly_hover\",n.event)):(function(t){n.select(t.parentNode).selectAll(\"rect.bandrect\").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",2.5)}(c),M(c,\"plotly_hover\",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"none\")&&(\"category\"===l?e=E(r,a,c):\"color\"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),c=n.select(r).datum(),h=c.categoryViewModel,f=h.parcatsViewModel,p=f.model.dimensions[h.model.dimensionInd],d=f.trace,m=l.y+l.height/2;f.dimensions.length>1&&p.displayInd===f.dimensions.length-1?(i=l.left,a=\"left\"):(i=l.left+l.width,a=\"right\");var g=h.model.categoryLabel,y=c.parcatsViewModel.model.count,v=0;c.categoryViewModel.bands.forEach((function(t){t.color===c.color&&(v+=t.count)}));var x=h.model.count,_=0;f.pathSelection.each((function(t){t.model.color===c.color&&(_+=t.model.count)}));var b=v/y,w=v/_,T=v/x,k={countLabel:v,categoryLabel:g,probabilityLabel:b.toFixed(3)},A=[];-1!==h.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&A.push([\"Count:\",k.countLabel].join(\" \")),-1!==h.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&(A.push(\"P(color ∩ \"+g+\"): \"+k.probabilityLabel),A.push(\"P(\"+g+\" | color): \"+w.toFixed(3)),A.push(\"P(color | \"+g+\"): \"+T.toFixed(3)));var M=A.join(\"
\"),S=u.mostReadable(c.color,[\"black\",\"white\"]);return{trace:d,x:o*(i-e.left),y:s*(m-e.top),text:M,color:c.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:b,categorycount:x,colorcount:_,bandcolorcount:v}]}}(r,a,c):\"dimension\"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each((function(){i.push(E(t,e,this))})),i}(r,a,c)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function L(t){var e=t.parcatsViewModel;e.dragDimension||(b(e.pathSelection),T(e.dimensionSelection.selectAll(\"g.category\")),k(e.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(m),-1!==e.hoverinfoItems.indexOf(\"skip\"))||(\"color\"===t.parcatsViewModel.hoveron?S(this,\"plotly_unhover\",n.event):M(this,\"plotly_unhover\",n.event))}function I(t){\"fixed\"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll(\"rect.bandrect\").each((function(e){e.yh.y+h.height/2&&(o.model.displayInd=h.model.displayInd,h.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||\"freeform\"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var f=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==f&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),D(t.parcatsViewModel)}}function z(t){if(\"fixed\"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var e={},r=O(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e[\"dimensions[\"+i+\"].displayindex\"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var c=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),u=c.map((function(t){return t.categoryValue})),h=c.map((function(t){return t.categoryLabel}));e[\"dimensions[\"+t.model.containerInd+\"].categoryarray\"]=[u],e[\"dimensions[\"+t.model.containerInd+\"].ticktext\"]=[h],e[\"dimensions[\"+t.model.containerInd+\"].categoryorder\"]=\"array\"}}-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")&&!t.dragHasMoved&&t.potentialClickBand&&(\"color\"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,\"plotly_click\",n.event.sourceEvent):M(t.potentialClickBand,\"plotly_click\",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd&&(t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null),t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease(\"cubic-in-out\").each((function(){R(t.parcatsViewModel,!0),D(t.parcatsViewModel,!0)})).each(\"end\",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function O(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)u+=\"C\"+c[s]+\",\"+(e[s+1]+n)+\" \"+l[s]+\",\"+(e[s]+n)+\" \"+(t[s]+r[s])+\",\"+(e[s]+n),u+=\"l-\"+r[s]+\",0 \";return u+\"Z\"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function h(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}c.sort((function(e,r){var n=h(e),i=h(r);return\"backward\"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var f=new Array(c.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),m=0;m0?d*(y.count/p):0;for(var v,x=new Array(n.length),_=0;_1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,c,u=[],h=t.model.maxCats,f=e.categories.length,p=e.count,d=t.height-8*(h-1),m=8*(h-f)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),c=0;c0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:m,bands:[],parcatsViewModel:t},m=m+a+8,u.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:u,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(t,e,r,n){f(r,t,n,e)}},37822:function(t,e,r){\"use strict\";var n=r(27219);t.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},59549:function(t,e,r){\"use strict\";var n=r(87163),i=r(25829),a=r(80337),o=r(13792).u,s=r(93049).extendFlat,l=r(78032).templatedArray;t.exports={domain:o({name:\"parcoords\",trace:!0,editType:\"plot\"}),labelangle:{valType:\"angle\",dflt:0,editType:\"plot\"},labelside:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},labelfont:a({editType:\"plot\"}),tickfont:a({autoShadowDflt:!0,editType:\"plot\"}),rangefont:a({editType:\"plot\"}),dimensions:l(\"dimension\",{label:{valType:\"string\",editType:\"plot\"},tickvals:s({},i.tickvals,{editType:\"plot\"}),ticktext:s({},i.ticktext,{editType:\"plot\"}),tickformat:s({},i.tickformat,{editType:\"plot\"}),visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},constraintrange:{valType:\"info_array\",freeLength:!0,dimensions:\"1-2\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},multiselect:{valType:\"boolean\",dflt:!0,editType:\"plot\"},values:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"}),line:s({editType:\"calc\"},n(\"line\",{colorscaleDflt:\"Viridis\",autoColorDflt:!1,editTypeOverride:\"calc\"})),unselected:{line:{color:{valType:\"color\",dflt:\"#7f7f7f\",editType:\"plot\"},opacity:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"plot\"},editType:\"plot\"},editType:\"plot\"}}},23245:function(t,e,r){\"use strict\";var n=r(77911),i=r(45568),a=r(71293).keyFun,o=r(71293).repeat,s=r(34809).sorterAsc,l=r(34809).strTranslate,c=n.bar.snapRatio;function u(t,e){return t*(1-c)+e*c}var h=n.bar.snapClose;function f(t,e){return t*(1-h)+e*h}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],c=l,h=a;i*he){f=r;break}}if(a=u,isNaN(a)&&(a=isNaN(h)||isNaN(f)?isNaN(h)?f:h:e-c[h][1]t[1]+r||e=.9*t[1]+.1*t[0]?\"n\":e<=.9*t[0]+.1*t[1]?\"s\":\"ns\"}(d,e);m&&(o.interval=l[a],o.intervalPix=d,o.region=m)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,v=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&v<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),_(t.parentNode)}function T(t,e){var r=b(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a=\"crosshair\";r.clickableOrdinalRange?a=\"pointer\":r.region&&(a=r.region+\"-resize\"),i.select(document.body).style(\"cursor\",a)}function k(t){t.on(\"mousemove\",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on(\"mouseleave\",(function(t){t.parent.inBrushDrag||v()})).call(i.behavior.drag().on(\"dragstart\",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=b(e,r),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar=\"ns\"===s.region,c.grabbingBar){var u=l.map(e.unitToPaddedPx);c.grabPoint=r-u[0]-n.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),c.startExtent=s.region?l[\"s\"===s.region?1:0]:a,e.parent.inBrushDrag=!0,c.brushStartCallback()}(this,t)})).on(\"drag\",(function(t){w(this,t)})).on(\"dragend\",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,v(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),_(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(c?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),c?_(t.parentNode,s):(s(),_(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e),n=r.slice();e.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll(\".\"+n.cn.axisBrush).data(o,a);i.enter().append(\"g\").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(\".background\").data(o);a.enter().append(\"rect\").classed(\"background\",!0).call(d).call(m).style(\"pointer-events\",i?\"none\":\"auto\").attr(\"transform\",l(0,n.verticalPadding)),a.call(k).attr(\"height\",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(\".highlight-shadow\").data(o);s.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width+n.bar.strokeWidth).attr(\"stroke\",e).attr(\"opacity\",n.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),s.attr(\"y1\",(function(t){return t.height})).call(x);var c=t.selectAll(\".highlight\").data(o);c.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width-n.bar.strokeWidth).attr(\"stroke\",n.bar.fillColor).attr(\"opacity\",n.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),c.attr(\"y1\",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},79846:function(t,e,r){\"use strict\";t.exports={attributes:r(59549),supplyDefaults:r(12842),calc:r(20113),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:r(67207),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}},67207:function(t,e,r){\"use strict\";var n=r(45568),i=r(4173).eV,a=r(58823),o=r(62972);e.name=\"parcoords\",e.plot=function(t){var e=i(t.calcdata,\"parcoords\")[0];e.length&&a(t,e)},e.clean=function(t,e,r,n){var i=n._has&&n._has(\"parcoords\"),a=e._has&&e._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(\".svg-container\");r.filter((function(t,e){return e===r.size()-1})).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each((function(){var t=this,r=t.toDataURL(\"image/png\");e.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":r,preserveAspectRatio:\"none\",x:0,y:0,width:t.style.width,height:t.style.height})})),window.setTimeout((function(){n.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")}),60)}},20113:function(t,e,r){\"use strict\";var n=r(34809).isArrayOrTypedArray,i=r(88856),a=r(71293).wrap;t.exports=function(t,e){var r,o;return i.hasColorscale(e,\"line\")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:\"line\",cLetter:\"c\"})):(r=function(t){for(var e=new Array(t),r=0;rh&&(n.log(\"parcoords traces support up to \"+h+\" dimensions at the moment\"),d.splice(h));var m=s(t,e,{name:\"dimensions\",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s(\"line.color\",r);if(i(t,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,u);o(e,l,u),Array.isArray(m)&&m.length||(e.visible=!1),f(e,m,\"values\",g);var y=n.extendFlat({},l.font,{size:Math.round(l.font.size/1.2)});n.coerceFont(u,\"labelfont\",y),n.coerceFont(u,\"tickfont\",y,{autoShadowDflt:!0}),n.coerceFont(u,\"rangefont\",y),u(\"labelangle\"),u(\"labelside\"),u(\"unselected.line.color\"),u(\"unselected.line.opacity\")}},62935:function(t,e,r){\"use strict\";var n=r(34809).isTypedArray;e.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},e.isOrdinal=function(t){return!!t.tickvals},e.isVisible=function(t){return t.visible||!(\"visible\"in t)}},83910:function(t,e,r){\"use strict\";var n=r(79846);n.plot=r(58823),t.exports=n},1293:function(t,e,r){\"use strict\";var n=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"attribute vec4 p01_04, p05_08, p09_12, p13_16,\",\" p17_20, p21_24, p25_28, p29_32,\",\" p33_36, p37_40, p41_44, p45_48,\",\" p49_52, p53_56, p57_60, colors;\",\"\",\"uniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\",\" loA, hiA, loB, hiB, loC, hiC, loD, hiD;\",\"\",\"uniform vec2 resolution, viewBoxPos, viewBoxSize;\",\"uniform float maskHeight;\",\"uniform float drwLayer; // 0: context, 1: focus, 2: pick\",\"uniform vec4 contextColor;\",\"uniform sampler2D maskTexture, palette;\",\"\",\"bool isPick = (drwLayer > 1.5);\",\"bool isContext = (drwLayer < 0.5);\",\"\",\"const vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\",\"const vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\",\"\",\"float val(mat4 p, mat4 v) {\",\" return dot(matrixCompMult(p, v) * UNITS, UNITS);\",\"}\",\"\",\"float axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\",\" float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\",\" float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\",\" return y1 * (1.0 - ratio) + y2 * ratio;\",\"}\",\"\",\"int iMod(int a, int b) {\",\" return a - b * (a / b);\",\"}\",\"\",\"bool fOutside(float p, float lo, float hi) {\",\" return (lo < hi) && (lo > p || p > hi);\",\"}\",\"\",\"bool vOutside(vec4 p, vec4 lo, vec4 hi) {\",\" return (\",\" fOutside(p[0], lo[0], hi[0]) ||\",\" fOutside(p[1], lo[1], hi[1]) ||\",\" fOutside(p[2], lo[2], hi[2]) ||\",\" fOutside(p[3], lo[3], hi[3])\",\" );\",\"}\",\"\",\"bool mOutside(mat4 p, mat4 lo, mat4 hi) {\",\" return (\",\" vOutside(p[0], lo[0], hi[0]) ||\",\" vOutside(p[1], lo[1], hi[1]) ||\",\" vOutside(p[2], lo[2], hi[2]) ||\",\" vOutside(p[3], lo[3], hi[3])\",\" );\",\"}\",\"\",\"bool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\",\" return mOutside(A, loA, hiA) ||\",\" mOutside(B, loB, hiB) ||\",\" mOutside(C, loC, hiC) ||\",\" mOutside(D, loD, hiD);\",\"}\",\"\",\"bool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\",\" mat4 pnts[4];\",\" pnts[0] = A;\",\" pnts[1] = B;\",\" pnts[2] = C;\",\" pnts[3] = D;\",\"\",\" for(int i = 0; i < 4; ++i) {\",\" for(int j = 0; j < 4; ++j) {\",\" for(int k = 0; k < 4; ++k) {\",\" if(0 == iMod(\",\" int(255.0 * texture2D(maskTexture,\",\" vec2(\",\" (float(i * 2 + j / 2) + 0.5) / 8.0,\",\" (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\",\" ))[3]\",\" ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\",\" 2\",\" )) return true;\",\" }\",\" }\",\" }\",\" return false;\",\"}\",\"\",\"vec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\",\" float x = 0.5 * sign(v) + 0.5;\",\" float y = axisY(x, A, B, C, D);\",\" float z = 1.0 - abs(v);\",\"\",\" z += isContext ? 0.0 : 2.0 * float(\",\" outsideBoundingBox(A, B, C, D) ||\",\" outsideRasterMask(A, B, C, D)\",\" );\",\"\",\" return vec4(\",\" 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\",\" z,\",\" 1.0\",\" );\",\"}\",\"\",\"void main() {\",\" mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\",\" mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\",\" mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\",\" mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\",\"\",\" float v = colors[3];\",\"\",\" gl_Position = position(isContext, v, A, B, C, D);\",\"\",\" fragColor =\",\" isContext ? vec4(contextColor) :\",\" isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\",\"}\"].join(\"\\n\"),i=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"void main() {\",\" gl_FragColor = fragColor;\",\"}\"].join(\"\\n\"),a=r(77911).maxDimensionCount,o=r(34809),s=1e-6,l=new Uint8Array(4),c=new Uint8Array(4),u={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function h(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function f(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var c=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],h(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*c,a.offset=2*l*n,e(a),l*n+c>>8*e)%256/255}function m(t,e,r){for(var n=new Array(8*e),i=0,a=0;ac&&(c=t[i].dim1.canvasX,o=i);0===s&&h(k,0,0,r.canvasWidth,r.canvasHeight);var u=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&ns._length&&(E=E.slice(0,s._length));var L,I=s.tickvals;function P(t,e){return{val:t,text:L[e]}}function z(t,e){return t.val-e.val}if(a(I)&&I.length){i.isTypedArray(I)&&(I=Array.from(I)),L=s.ticktext,a(L)&&L.length?L.length>I.length?L=L.slice(0,I.length):I.length>L.length&&(I=I.slice(0,L.length)):L=I.map(o(s.tickformat));for(var O=1;O=r||l>=i)return;var c=t.lineLayer.readPixel(s,i-1-l),u=0!==c[3],h=u?c[2]+256*(c[1]+256*c[0]):null,f={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:h};h!==N&&(u?a.hover(f):a.unhover&&a.unhover(f),N=h)}})),B.style(\"opacity\",(function(t){return t.pick?0:1})),p.style(\"background\",\"rgba(255, 255, 255, 0)\");var j=p.selectAll(\".\"+x.cn.parcoords).data(F,m);j.exit().remove(),j.enter().append(\"g\").classed(x.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),j.attr(\"transform\",(function(t){return u(t.model.translateX,t.model.translateY)}));var U=j.selectAll(\".\"+x.cn.parcoordsControlView).data(g,m);U.enter().append(\"g\").classed(x.cn.parcoordsControlView,!0),U.attr(\"transform\",(function(t){return u(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll(\".\"+x.cn.yAxis).data((function(t){return t.dimensions}),m);V.enter().append(\"g\").classed(x.cn.yAxis,!0),U.each((function(t){O(V,t,w)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=b(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr(\"transform\",(function(t){return u(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on(\"drag\",(function(t){var e=t.parent;E.linePickActive(!1),t.x=Math.max(-x.overdrag,Math.min(t.model.width+x.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),O(V,e,w),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr(\"transform\",(function(t){return u(t.xScale(t.xIndex),0)})),n.select(this).attr(\"transform\",u(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!C(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on(\"dragend\",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,O(V,e,w),n.select(this).attr(\"transform\",(function(t){return u(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!C(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),E.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var q=V.selectAll(\".\"+x.cn.axisOverlays).data(g,m);q.enter().append(\"g\").classed(x.cn.axisOverlays,!0),q.selectAll(\".\"+x.cn.axis).remove();var H=q.selectAll(\".\"+x.cn.axis).data(g,m);H.enter().append(\"g\").classed(x.cn.axis,!0),H.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return v.isOrdinal(t)?e:D(t.model.dimensions[t.visibleIndex],e)})).scale(r)),f.font(H.selectAll(\"text\"),t.model.tickFont)})),H.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),H.selectAll(\"text\").style(\"cursor\",\"default\");var G=q.selectAll(\".\"+x.cn.axisHeading).data(g,m);G.enter().append(\"g\").classed(x.cn.axisHeading,!0);var Z=G.selectAll(\".\"+x.cn.axisTitle).data(g,m);Z.enter().append(\"text\").classed(x.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",o?\"none\":\"auto\"),Z.text((function(t){return t.label})).each((function(e){var r=n.select(this);f.font(r,e.model.labelFont),h.convertToTspans(r,t)})).attr(\"transform\",(function(t){var e=z(t.model.labelAngle,t.model.labelSide),r=x.axisTitleOffset;return(e.dir>0?\"\":u(0,2*r+t.model.height))+c(e.degrees)+u(-r*e.dx,-r*e.dy)})).attr(\"text-anchor\",(function(t){var e=z(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?\"start\":\"end\":\"middle\"}));var W=q.selectAll(\".\"+x.cn.axisExtent).data(g,m);W.enter().append(\"g\").classed(x.cn.axisExtent,!0);var Y=W.selectAll(\".\"+x.cn.axisExtentTop).data(g,m);Y.enter().append(\"g\").classed(x.cn.axisExtentTop,!0),Y.attr(\"transform\",u(0,-x.axisExtentOffset));var X=Y.selectAll(\".\"+x.cn.axisExtentTopText).data(g,m);X.enter().append(\"text\").classed(x.cn.axisExtentTopText,!0).call(P),X.text((function(t){return R(t,!0)})).each((function(t){f.font(n.select(this),t.model.rangeFont)}));var $=W.selectAll(\".\"+x.cn.axisExtentBottom).data(g,m);$.enter().append(\"g\").classed(x.cn.axisExtentBottom,!0),$.attr(\"transform\",(function(t){return u(0,t.model.height+x.axisExtentOffset)}));var J=$.selectAll(\".\"+x.cn.axisExtentBottomText).data(g,m);J.enter().append(\"text\").classed(x.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(P),J.text((function(t){return R(t,!1)})).each((function(t){f.font(n.select(this),t.model.rangeFont)})),_.ensureAxisBrush(q,k,t)}},58823:function(t,e,r){\"use strict\";var n=r(16019),i=r(22459),a=r(62935).isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(t.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},c={},u={},h={},f=r._size;e.forEach((function(e,r){var n=e[0].trace;u[r]=n.index;var i=h[r]=n._fullInput.index;l[r]=t.data[i].dimensions,c[r]=t.data[i].dimensions.slice()})),n(t,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{filterChanged:function(e,n,i){var a=c[e][n],o=i.map((function(t){return t.slice()})),s=\"dimensions[\"+n+\"].constraintrange\",l=r._tracePreGUI[t._fullData[u[e]]._fullInput.uid];if(void 0===l[s]){var f=a.constraintrange;l[s]=f||null}var p=t._fullData[u[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit(\"plotly_restyle\",[d,[h[e]]])},hover:function(e){t.emit(\"plotly_hover\",e)},unhover:function(e){t.emit(\"plotly_unhover\",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,c[e].filter(a));l[e].sort(n),c[e].filter((function(t){return!a(t)})).sort((function(t){return c[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(c[e].indexOf(t),0,t)})),t.emit(\"plotly_restyle\",[{dimensions:[l[e]]},[h[e]]])}})}}).reglPrecompiled=o},55412:function(t,e,r){\"use strict\";var n=r(9829),i=r(13792).u,a=r(80337),o=r(10229),s=r(3208).rb,l=r(3208).ay,c=r(93049).extendFlat,u=r(94850).k,h=a({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});t.exports={labels:{valType:\"data_array\",editType:\"calc\"},label0:{valType:\"number\",dflt:0,editType:\"calc\"},dlabel:{valType:\"number\",dflt:1,editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},marker:{colors:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:o.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},pattern:u,editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"percent\"],extras:[\"none\"],editType:\"calc\"},hoverinfo:c({},n.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:s({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplate:l({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:c({},h,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:c({},h,{}),outsidetextfont:c({},h,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:c({},h,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:i({name:\"pie\",trace:!0,editType:\"calc\"}),hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},sort:{valType:\"boolean\",dflt:!0,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"},_deprecated:{title:{valType:\"string\",dflt:\"\",editType:\"calc\"},titlefont:c({},h,{}),titleposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"calc\"}}}},96052:function(t,e,r){\"use strict\";var n=r(44122);e.name=\"pie\",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},44148:function(t,e,r){\"use strict\";var n=r(10721),i=r(65657),a=r(78766),o={};function s(t){return function(e,r){return!!e&&!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e)}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),(\"funnelarea\"===e.type?y:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r=\"pie\");var n=t._fullLayout,i=t.calcdata,a=n[r+\"colorway\"],s=n[\"_\"+r+\"colormap\"];n[\"extend\"+r+\"colors\"]&&(a=l(a,o));for(var c=0,u=0;u0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}function u(t,e,r,n,i){n(\"marker.line.width\")&&n(\"marker.line.color\",i?void 0:r.paper_bgcolor);var a=n(\"marker.colors\");l(n,\"marker.pattern\",a),t.marker&&!e.marker.pattern.fgcolor&&(e.marker.pattern.fgcolor=t.marker.colors),e.marker.pattern.bgcolor||(e.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:c,handleMarkerDefaults:u,supplyDefaults:function(t,e,r,n){function l(r,n){return i.coerce(t,e,a,r,n)}var h=c(l(\"labels\"),l(\"values\")),f=h.len;if(e._hasLabels=h.hasLabels,e._hasValues=h.hasValues,!e._hasLabels&&e._hasValues&&(l(\"label0\"),l(\"dlabel\")),f){e._length=f,u(t,e,n,l,!0),l(\"scalegroup\");var p,d=l(\"text\"),m=l(\"texttemplate\");if(m||(p=l(\"textinfo\",i.isArrayOrTypedArray(d)?\"text+percent\":\"percent\")),l(\"hovertext\"),l(\"hovertemplate\"),m||p&&\"none\"!==p){var g=l(\"textposition\");s(t,e,n,l,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||\"auto\"===g||\"outside\"===g)&&l(\"automargin\"),(\"inside\"===g||\"auto\"===g||Array.isArray(g))&&l(\"insidetextorientation\")}else\"none\"===p&&l(\"textposition\",\"none\");o(e,n,l);var y=l(\"hole\");if(l(\"title.text\")){var v=l(\"title.position\",y?\"middle center\":\"top center\");y||\"middle center\"!==v||(e.title.position=\"top center\"),i.coerceFont(l,\"title.font\",n.font)}l(\"sort\"),l(\"direction\"),l(\"rotation\"),l(\"pull\")}else e.visible=!1}}},50568:function(t,e,r){\"use strict\";var n=r(36040).appendArrayMultiPointValues;t.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),\"funnelarea\"===e.type&&(delete r.v,delete r.i),r}},75067:function(t,e,r){\"use strict\";var n=r(62203),i=r(78766);t.exports=function(t,e,r,a){var o=r.marker.pattern;o&&o.shape?n.pointStyle(t,r,a,e):i.fill(t,e.color)}},37252:function(t,e,r){\"use strict\";var n=r(34809);function i(t){return-1!==t.indexOf(\"e\")?t.replace(/[.]?0+e/,\"e\"):-1!==t.indexOf(\".\")?t.replace(/[.]?0+$/,\"\"):t}e.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+\"%\"},e.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},e.getFirstFilled=function(t,e){if(n.isArrayOrTypedArray(t))for(var r=0;r\"),name:h.hovertemplate||-1!==f.indexOf(\"name\")?h.name:void 0,idealAlign:t.pxmid[0]<0?\"left\":\"right\",color:g.castOption(b.bgcolor,t.pts)||t.color,borderColor:g.castOption(b.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(b.namelength,t.pts),textAlign:g.castOption(b.align,t.pts),hovertemplate:g.castOption(h.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[y(t,h)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],c._hasHoverLabel=!0}c._hasHoverEvent=!0,e.emit(\"plotly_hover\",{points:[y(t,h)],event:n.event})}})),t.on(\"mouseout\",(function(t){var r=e._fullLayout,i=e._fullData[c.index],o=n.select(this).datum();c._hasHoverEvent&&(t.originalEvent=n.event,e.emit(\"plotly_unhover\",{points:[y(o,i)],event:n.event}),c._hasHoverEvent=!1),c._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),c._hasHoverLabel=!1)})),t.on(\"click\",(function(t){var r=e._fullLayout,i=e._fullData[c.index];e._dragging||!1===r.hovermode||(e._hoverdata=[y(t,i)],a.click(e,n.event))}))}function _(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,s=g.castOption(t.insidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,l=g.castOption(t.insidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,c=g.castOption(t.insidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant,u=g.castOption(t.insidetextfont.textcase,e.pts)||g.castOption(t.textfont.textcase,e.pts)||r.textcase,h=g.castOption(t.insidetextfont.lineposition,e.pts)||g.castOption(t.textfont.lineposition,e.pts)||r.lineposition,f=g.castOption(t.insidetextfont.shadow,e.pts)||g.castOption(t.textfont.shadow,e.pts)||r.shadow;return{color:n||o.contrast(e.color),family:i,size:a,weight:s,style:l,variant:c,textcase:u,lineposition:h,shadow:f}}function b(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)y(Math.PI*g,\"tan\");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),\"tan\")}if(h||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),\"rad\");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),\"rad\")}}if(s||d||h){var v=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/v,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;m.push(a)}(d||p)&&((a=T(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,m.push(a)),(d||f)&&((a=k(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,m.push(a));for(var x=0,_=0,b=0;b=1)break}return m[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*m);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*m);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function C(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function L(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=P(a),-1!==a.title.position.indexOf(\"top\")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf(\"bottom\")&&(o.y+=(1+i)*t.r);var l,c=t.r/(void 0===(l=t.trace.aspectratio)?1:l),u=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf(\"left\")?(u+=c,o.x-=(1+i)*c,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf(\"center\")?u*=2:-1!==a.title.position.indexOf(\"right\")&&(u+=c,o.x+=(1+i)*c,s.tx-=t.titleBox.width/2),r=u/t.titleBox.width,n=I(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function I(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function P(t){var e,r=t.pull;if(!r)return 0;if(l.isArrayOrTypedArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function z(t,e){for(var r=[],n=0;n1?u=(c=r.r)/i.aspectratio:c=(u=r.r)*i.aspectratio,l=(c*=(1+i.baseratio)/2)*u}o=Math.min(o,l/r.vTotal)}for(n=0;n\")}if(a){var x=l.castOption(i,e.i,\"texttemplate\");if(x){var _=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,\"customdata\")}}(e),b=g.getFirstFilled(i.text,e.pts);(v(b)||\"\"===b)&&(_.text=b),e.text=l.texttemplateString(x,_,t._fullLayout._d3locale,_,i._meta||{})}else e.text=\"\"}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}t.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,f=a._size;d(\"pie\",a),b(e,t),z(e,f);var m=l.makeTraceGroups(a._pielayer,e,\"trace\").each((function(e){var d=n.select(this),m=e[0],y=m.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,c=\"px0\",u=\"px1\";if(\"counterclockwise\"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr(\"stroke-linejoin\",\"round\"),d.each((function(){var v=n.select(this).selectAll(\"g.slice\").data(e);v.enter().append(\"g\").classed(\"slice\",!0),v.exit().remove();var b=[[[],[]],[[],[]]],T=!1;v.each((function(i,o){if(i.hidden)n.select(this).selectAll(\"path,g\").remove();else{i.pointNumber=i.i,i.curveNumber=y.index,b[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var c=m.cx,u=m.cy,f=n.select(this),d=f.selectAll(\"path.surface\").data([i]);if(d.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),f.call(x,t,e),y.pull){var v=+g.castOption(y.pull,i.pts)||0;v>0&&(c+=v*i.pxmid[0],u+=v*i.pxmid[1])}i.cxFinal=c,i.cyFinal=u;var k=y.hole;if(i.v===m.vTotal){var A=\"M\"+(c+i.px0[0])+\",\"+(u+i.px0[1])+I(i.px0,i.pxmid,!0,1)+I(i.pxmid,i.px0,!0,1)+\"Z\";k?d.attr(\"d\",\"M\"+(c+k*i.px0[0])+\",\"+(u+k*i.px0[1])+I(i.px0,i.pxmid,!1,k)+I(i.pxmid,i.px0,!1,k)+\"Z\"+A):d.attr(\"d\",A)}else{var M=I(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr(\"d\",\"M\"+(c+k*i.px1[0])+\",\"+(u+k*i.px1[1])+I(i.px1,i.px0,!1,k)+\"l\"+S*i.px0[0]+\",\"+S*i.px0[1]+M+\"Z\")}else d.attr(\"d\",\"M\"+c+\",\"+u+\"l\"+i.px0[0]+\",\"+i.px0[1]+M+\"Z\")}D(t,i,m);var E=g.castOption(y.textposition,i.pts),L=f.selectAll(\"g.slicetext\").data(i.text&&\"none\"!==E?[0]:[]);L.enter().append(\"g\").classed(\"slicetext\",!0),L.exit().remove(),L.each((function(){var r=l.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),f=l.ensureUniformFontSize(t,\"outside\"===E?function(t,e,r){return{color:g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,family:g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,size:g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,weight:g.castOption(t.outsidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,style:g.castOption(t.outsidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,variant:g.castOption(t.outsidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant,textcase:g.castOption(t.outsidetextfont.textcase,e.pts)||g.castOption(t.textfont.textcase,e.pts)||r.textcase,lineposition:g.castOption(t.outsidetextfont.lineposition,e.pts)||g.castOption(t.textfont.lineposition,e.pts)||r.lineposition,shadow:g.castOption(t.outsidetextfont.shadow,e.pts)||g.castOption(t.textfont.shadow,e.pts)||r.shadow}}(y,i,a.font):_(y,i,a.font));r.text(i.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,f).call(h.convertToTspans,t);var d,v=s.bBox(r.node());if(\"outside\"===E)d=C(v,i);else if(d=w(v,i,m),\"auto\"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,y.outsidetextfont);r.call(s.font,x),d=C(v=s.bBox(r.node()),i)}var b=d.textPosAngle,k=void 0===b?i.pxmid:O(m.r,b);if(d.targetX=c+k[0]*d.rCenter+(d.x||0),d.targetY=u+k[1]*d.rCenter+(d.y||0),R(d,v),d.outside){var A=d.targetY;i.yLabelMin=A-v.height/2,i.yLabelMid=A,i.yLabelMax=A+v.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=f.size,p(y.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function I(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return\"a\"+n*m.r+\",\"+n*m.r+\" 0 \"+i.largeArc+(r?\" 1 \":\" 0 \")+a+\",\"+o}}));var k=n.select(this).selectAll(\"g.titletext\").data(y.title.text?[0]:[]);if(k.enter().append(\"g\").classed(\"titletext\",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),i=y.title.text;y._meta&&(i=l.templateString(i,y._meta)),r.text(i).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,y.title.font).call(h.convertToTspans,t),e=\"middle center\"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(m):L(m,f),r.attr(\"transform\",u(e.x,e.y)+c(Math.min(1,e.scale))+u(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,c,u,h,f,p,d,m;function y(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function x(t,r){r||(r={});var i,u,h,p,d=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),m=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,v=t.cyFinal+o(t.px0[1],t.px1[1]),x=d-m;if(x*c>0&&(t.labelExtraY=x),l.isArrayOrTypedArray(e.pull))for(u=0;u=(g.castOption(e.pull,h.pts)||0)||((t.pxmid[1]-h.pxmid[1])*c>0?(x=h.cyFinal+o(h.px0[1],h.px1[1])-m-t.labelExtraY)*c>0&&(t.labelExtraY+=x):(y+t.labelExtraY-v)*c>0&&(i=3*s*Math.abs(u-f.indexOf(t)),(p=h.cxFinal+a(h.px0[0],h.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=p)))}for(n=0;n<2;n++)for(i=n?y:v,o=n?Math.max:Math.min,c=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),h=t[1-n][r],f=h.concat(u),d=[],p=0;pMath.abs(h)?s+=\"l\"+h*t.pxmid[0]/t.pxmid[1]+\",\"+h+\"H\"+(a+t.labelExtraX+c):s+=\"l\"+t.labelExtraX+\",\"+u+\"v\"+(h-u)+\"h\"+c}else s+=\"V\"+(t.yLabelMid+t.labelExtraY)+\"h\"+c;l.ensureSingle(r,\"path\",\"textline\").call(o.stroke,e.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,e.outsidetextfont.size/8),d:s,fill:\"none\"})}else r.select(\"path.textline\").remove()}))}(v,y),T&&y.automargin){var A=s.bBox(d.node()),M=y.domain,S=f.w*(M.x[1]-M.x[0]),E=f.h*(M.y[1]-M.y[0]),I=(.5*S-m.r)/f.w,P=(.5*E-m.r)/f.h;i.autoMargin(t,\"pie.\"+y.uid+\".automargin\",{xl:M.x[0]-I,xr:M.x[1]+I,yb:M.y[0]-P,yt:M.y[1]+P,l:Math.max(m.cx-m.r-A.left,0),r:Math.max(A.right-(m.cx+m.r),0),b:Math.max(A.bottom-(m.cy+m.r),0),t:Math.max(m.cy-m.r-A.top,0),pad:5})}}))}));setTimeout((function(){m.selectAll(\"tspan\").each((function(){var t=n.select(this);t.attr(\"dy\")&&t.attr(\"dy\",t.attr(\"dy\"))}))}),0)},formatSliceLabel:D,transformInsideText:w,determineInsideTextFont:_,positionTitleOutside:L,prerenderTitles:b,layoutAreas:z,attachFxHandlers:x,computeTransform:R}},140:function(t,e,r){\"use strict\";var n=r(45568),i=r(32891),a=r(84102).resizeText;t.exports=function(t){var e=t._fullLayout._pielayer.selectAll(\".trace\");a(t,e,\"pie\"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll(\"path.surface\").each((function(e){n.select(this).call(i,e,r,t)}))}))}},32891:function(t,e,r){\"use strict\";var n=r(78766),i=r(37252).castOption,a=r(75067);t.exports=function(t,e,r,o){var s=r.marker.line,l=i(s.color,e.pts)||n.defaultLine,c=i(s.width,e.pts)||0;t.call(a,e,r,o).style(\"stroke-width\",c).call(n.stroke,l)}},36961:function(t,e,r){\"use strict\";var n=r(36640);t.exports={x:n.x,y:n.y,xy:{valType:\"data_array\",editType:\"calc\"},indices:{valType:\"data_array\",editType:\"calc\"},xbounds:{valType:\"data_array\",editType:\"calc\"},ybounds:{valType:\"data_array\",editType:\"calc\"},text:n.text,marker:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,arrayOk:!1,editType:\"calc\"},blend:{valType:\"boolean\",dflt:null,editType:\"calc\"},sizemin:{valType:\"number\",min:.1,max:2,dflt:.5,editType:\"calc\"},sizemax:{valType:\"number\",min:.1,dflt:20,editType:\"calc\"},border:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},arearatio:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},transforms:void 0}},71593:function(t,e,r){\"use strict\";var n=r(99098).gl_pointcloud2d,i=r(34809).isArrayOrTypedArray,a=r(55010),o=r(32919).findExtremes,s=r(11539);function l(t,e){this.scene=t,this.uid=e,this.type=\"pointcloud\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\"rgb(0, 0, 0)\",this.name=\"\",this.hoverinfo=\"all\",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var c=l.prototype;c.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:i(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},c.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=s(t,{})},c.updateFast=function(t){var e,r,n,i,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,h=this.pickXYData=t.xy,f=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(h){if(n=h,e=h.length>>>1,f)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var m=a(t.marker.color),g=a(t.marker.border.color),y=t.opacity*t.marker.opacity;m[3]*=y,this.pointcloudOptions.color=m;var v=t.marker.blend;null===v&&(v=c.length<100||u.length<100),this.pointcloudOptions.blend=v,g[3]*=y,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,_=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=_,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var b=this.scene.xaxis,w=this.scene.yaxis,T=_/2||.5;t._extremes[b._id]=o(b,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=o(w,[d[1],d[3]],{ppad:T})},c.dispose=function(){this.pointcloud.dispose()},t.exports=function(t,e){var r=new l(t,e.uid);return r.update(e),r}},75526:function(t,e,r){\"use strict\";var n=r(34809),i=r(36961);t.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(\"x\"),a(\"y\"),a(\"xbounds\"),a(\"ybounds\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a(\"text\"),a(\"marker.color\",r),a(\"marker.opacity\"),a(\"marker.blend\"),a(\"marker.sizemin\"),a(\"marker.sizemax\"),a(\"marker.border.color\",r),a(\"marker.border.arearatio\"),e._length=null}},15186:function(t,e,r){\"use strict\";[\"*pointcloud* trace is deprecated!\",\"Please consider switching to the *scattergl* trace type.\"].join(\" \"),t.exports={attributes:r(36961),supplyDefaults:r(75526),calc:r(37593),plot:r(71593),moduleType:\"trace\",name:\"pointcloud\",basePlotModule:r(24585),categories:[\"gl\",\"gl2d\",\"showLegend\"],meta:{}}},33795:function(t,e,r){\"use strict\";var n=r(80337),i=r(9829),a=r(10229),o=r(70192),s=r(13792).u,l=r(3208).rb,c=r(87163),u=r(78032).templatedArray,h=r(80712).descriptionOnlyNumbers,f=r(93049).extendFlat,p=r(13582).overrideAll;(t.exports=p({hoverinfo:f({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\",description:h(\"value\")},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:n({autoShadowDflt:!0}),customdata:void 0,node:{label:{valType:\"data_array\",dflt:[]},groups:{valType:\"info_array\",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:\"number\",editType:\"calc\"}},x:{valType:\"data_array\",dflt:[]},y:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:.5,arrayOk:!0}},pad:{valType:\"number\",arrayOk:!1,min:0,dflt:20},thickness:{valType:\"number\",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:[\"value\",\"label\"]}),align:{valType:\"enumerated\",values:[\"justify\",\"left\",\"right\",\"center\"],dflt:\"justify\"}},link:{arrowlen:{valType:\"number\",min:0,dflt:0},label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},hovercolor:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0}},source:{valType:\"data_array\",dflt:[]},target:{valType:\"data_array\",dflt:[]},value:{valType:\"data_array\",dflt:[]},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:[\"value\",\"label\"]}),colorscales:u(\"concentrationscales\",{editType:\"calc\",label:{valType:\"string\",editType:\"calc\",dflt:\"\"},cmax:{valType:\"number\",editType:\"calc\",dflt:1},cmin:{valType:\"number\",editType:\"calc\",dflt:0},colorscale:f(c().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")).transforms=void 0},42229:function(t,e,r){\"use strict\";var n=r(13582).overrideAll,i=r(4173).eV,a=r(16506),o=r(6811),s=r(27983),l=r(14751),c=r(44844).prepSelect,u=r(34809),h=r(33626),f=\"sankey\";function p(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a=\"pan\"===n.dragmode?\"move\":\"crosshair\",o=r._bgRect;if(o&&\"pan\"!==i&&\"zoom\"!==i){s(o,a);var f={_id:\"x\",c2p:u.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:\"y\",c2p:u.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:f,yaxis:p,fillRangeItems:u.noop},subplot:e,xaxes:[f],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;rx&&(x=a.source[e]),a.target[e]>x&&(x=a.target[e]);var _,b=x+1;t.node._count=b;var w=t.node.groups,T={};for(e=0;e0&&s(C,b)&&s(L,b)&&(!T.hasOwnProperty(C)||!T.hasOwnProperty(L)||T[C]!==T[L])){T.hasOwnProperty(L)&&(L=T[L]),T.hasOwnProperty(C)&&(C=T[C]),L=+L,p[C=+C]=p[L]=!0;var I=\"\";a.label&&a.label[e]&&(I=a.label[e]);var P=null;I&&d.hasOwnProperty(I)&&(P=d[I]),c.push({pointNumber:e,label:I,color:u?a.color[e]:a.color,hovercolor:h?a.hovercolor[e]:a.hovercolor,customdata:f?a.customdata[e]:a.customdata,concentrationscale:P,source:C,target:L,value:+E}),S.source.push(C),S.target.push(L)}}var z=b+w.length,O=o(r.color),D=o(r.customdata),R=[];for(e=0;eb-1,childrenNodes:[],pointNumber:e,label:F,color:O?r.color[e]:r.color,customdata:D?r.customdata[e]:r.customdata})}var B=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(z,S.source,S.target)&&(B=!0),{circular:B,links:c,nodes:R,groups:w,groupLookup:T}}(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},21541:function(t){\"use strict\";t.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\"linear\",cn:{sankey:\"sankey\",sankeyLinks:\"sankey-links\",sankeyLink:\"sankey-link\",sankeyNodeSet:\"sankey-node-set\",sankeyNode:\"sankey-node\",nodeRect:\"node-rect\",nodeLabel:\"node-label\"}}},67940:function(t,e,r){\"use strict\";var n=r(34809),i=r(33795),a=r(78766),o=r(65657),s=r(13792).N,l=r(26430),c=r(78032),u=r(59008);function h(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r(\"label\"),r(\"cmin\"),r(\"cmax\"),r(\"colorscale\")}t.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(f.hoverlabel,t.hoverlabel),m=t.node,g=c.newContainer(e,\"node\");function y(t,e){return n.coerce(m,g,i.node,t,e)}y(\"label\"),y(\"groups\"),y(\"x\"),y(\"y\"),y(\"pad\"),y(\"thickness\"),y(\"line.color\"),y(\"line.width\"),y(\"hoverinfo\",t.hoverinfo),l(m,g,y,d),y(\"hovertemplate\"),y(\"align\");var v=f.colorway;y(\"color\",g.label.map((function(t,e){return a.addOpacity(function(t){return v[t%v.length]}(e),.8)}))),y(\"customdata\");var x=t.link||{},_=c.newContainer(e,\"link\");function b(t,e){return n.coerce(x,_,i.link,t,e)}b(\"label\"),b(\"arrowlen\"),b(\"source\"),b(\"target\"),b(\"value\"),b(\"line.color\"),b(\"line.width\"),b(\"hoverinfo\",t.hoverinfo),l(x,_,b,d),b(\"hovertemplate\");var w,T=o(f.paper_bgcolor).getLuminance()<.333,k=b(\"color\",T?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\");function A(t){var e=o(t);if(!e.isValid())return t;var r=e.getAlpha();return r<=.8?e.setAlpha(r+.2):e=T?e.brighten():e.darken(),e.toRgbString()}b(\"hovercolor\",Array.isArray(k)?k.map(A):A(k)),b(\"customdata\"),u(x,_,{name:\"colorscales\",handleItemDefaults:h}),s(e,f,p),p(\"orientation\"),p(\"valueformat\"),p(\"valuesuffix\"),g.x.length&&g.y.length&&(w=\"freeform\"),p(\"arrangement\",w),n.coerceFont(p,\"textfont\",f.font,{autoShadowDflt:!0}),e._length=null}},71760:function(t,e,r){\"use strict\";t.exports={attributes:r(33795),supplyDefaults:r(67940),calc:r(22915),plot:r(16506),moduleType:\"trace\",name:\"sankey\",basePlotModule:r(42229),selectPoints:r(74670),categories:[\"noOpacity\"],meta:{}}},16506:function(t,e,r){\"use strict\";var n=r(45568),i=r(34809),a=i.numberFormat,o=r(90958),s=r(32141),l=r(78766),c=r(21541).cn,u=i._;function h(t){return\"\"!==t}function f(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select(\"path\").style(\"fill-opacity\",e),n.select(t).select(\"rect\").style(\"fill-opacity\",e)}function d(t){n.select(t).select(\"text.name\").style(\"fill\",\"black\")}function m(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(t,e,r){e&&r&&f(r,e).selectAll(\".\"+c.sankeyLink).filter(m(e)).call(x.bind(0,e,r,!1))}function v(t,e,r){e&&r&&f(r,e).selectAll(\".\"+c.sankeyLink).filter(m(e)).call(_.bind(0,e,r,!1))}function x(t,e,r,n){n.style(\"fill\",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style(\"fill-opacity\",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha})),n.each((function(r){var n=r.link.label;\"\"!==n&&f(e,t).selectAll(\".\"+c.sankeyLink).filter((function(t){return t.link.label===n})).style(\"fill\",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style(\"fill-opacity\",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha}))})),r&&f(e,t).selectAll(\".\"+c.sankeyNode).filter(g(t)).call(y)}function _(t,e,r,n){n.style(\"fill\",(function(t){return t.tinyColorHue})).style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})),n.each((function(r){var n=r.link.label;\"\"!==n&&f(e,t).selectAll(\".\"+c.sankeyLink).filter((function(t){return t.link.label===n})).style(\"fill\",(function(t){return t.tinyColorHue})).style(\"fill-opacity\",(function(t){return t.tinyColorAlpha}))})),r&&f(e,t).selectAll(c.sankeyNode).filter(g(t)).call(v)}function b(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}t.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,f=r._size,m=0;m\"),color:b(o,\"bgcolor\")||l.addOpacity(m.color,1),borderColor:b(o,\"bordercolor\"),fontFamily:b(o,\"font.family\"),fontSize:b(o,\"font.size\"),fontColor:b(o,\"font.color\"),fontWeight:b(o,\"font.weight\"),fontStyle:b(o,\"font.style\"),fontVariant:b(o,\"font.variant\"),fontTextcase:b(o,\"font.textcase\"),fontLineposition:b(o,\"font.lineposition\"),fontShadow:b(o,\"font.shadow\"),nameLength:b(o,\"namelength\"),textAlign:b(o,\"align\"),idealAlign:n.event.x\"),color:b(o,\"bgcolor\")||i.tinyColorHue,borderColor:b(o,\"bordercolor\"),fontFamily:b(o,\"font.family\"),fontSize:b(o,\"font.size\"),fontColor:b(o,\"font.color\"),fontWeight:b(o,\"font.weight\"),fontStyle:b(o,\"font.style\"),fontVariant:b(o,\"font.variant\"),fontTextcase:b(o,\"font.textcase\"),fontLineposition:b(o,\"font.lineposition\"),fontShadow:b(o,\"font.shadow\"),nameLength:b(o,\"namelength\"),textAlign:b(o,\"align\"),idealAlign:\"left\",hovertemplate:o.hovertemplate,hovertemplateLabels:v,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,i,a),\"skip\"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit(\"plotly_unhover\",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(v,r,i),s.click(t,{target:!0})}}})}},90958:function(t,e,r){\"use strict\";var n=r(32702),i=r(88640).Dj,a=r(45568),o=r(62369),s=r(68735),l=r(21541),c=r(65657),u=r(78766),h=r(62203),f=r(34809),p=f.strTranslate,d=f.strRotate,m=r(71293),g=m.keyFun,y=m.repeat,v=m.unwrap,x=r(30635),_=r(33626),b=r(4530),w=b.CAP_SHIFT,T=b.LINE_SPACING;function k(t,e,r){var n,i=v(e),a=i.trace,u=a.domain,h=\"h\"===a.orientation,p=a.node.pad,d=a.node.thickness,m={justify:o.sankeyJustify,left:o.sankeyLeft,right:o.sankeyRight,center:o.sankeyCenter}[a.node.align],g=t.width*(u.x[1]-u.x[0]),y=t.height*(u.y[1]-u.y[0]),x=i._nodes,_=i._links,b=i.circular;(n=b?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(h?[g,y]:[y,g]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodeAlign(m).nodes(x).links(_);var w,T,k,A=n();for(var M in n.nodePadding()o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(x=A.nodes).forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p})),n.update(A)}return{circular:b,key:r,trace:a,guid:f.randstr(),horizontal:h,width:g,height:y,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:u.x[0]*t.width+t.margin.l,translateY:t.height-u.y[1]*t.height+t.margin.t,dragParallel:h?y:g,dragPerpendicular:h?g:y,arrangement:a.arrangement,sankey:n,graph:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=c(e.color),i=c(e.hovercolor),a=e.source.label+\"|\"+e.target.label+\"__\"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:u.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:u.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return\"top\"===t.circularLinkType?\"M \"+(n.targetX-e)+\" \"+(n.targetY+r)+\" L\"+(n.rightInnerExtent-e)+\" \"+(n.targetY+r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 1 \"+(n.rightFullExtent-r-e)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r-e)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 1 \"+(n.rightInnerExtent-e)+\" \"+(n.verticalFullExtent-r)+\"L\"+n.leftInnerExtent+\" \"+(n.verticalFullExtent-r)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftLargeArcRadius+r)+\" 0 0 1 \"+(n.leftFullExtent+r)+\" \"+n.verticalLeftInnerExtent+\"L\"+(n.leftFullExtent+r)+\" \"+(n.sourceY-n.leftSmallArcRadius)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftSmallArcRadius+r)+\" 0 0 1 \"+n.leftInnerExtent+\" \"+(n.sourceY+r)+\"L\"+n.sourceX+\" \"+(n.sourceY+r)+\"L\"+n.sourceX+\" \"+(n.sourceY-r)+\"L\"+n.leftInnerExtent+\" \"+(n.sourceY-r)+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftSmallArcRadius-r)+\" 0 0 0 \"+(n.leftFullExtent-r)+\" \"+(n.sourceY-n.leftSmallArcRadius)+\"L\"+(n.leftFullExtent-r)+\" \"+n.verticalLeftInnerExtent+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftLargeArcRadius-r)+\" 0 0 0 \"+n.leftInnerExtent+\" \"+(n.verticalFullExtent+r)+\"L\"+(n.rightInnerExtent-e)+\" \"+(n.verticalFullExtent+r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 0 \"+(n.rightFullExtent+r-e)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r-e)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 0 \"+(n.rightInnerExtent-e)+\" \"+(n.targetY-r)+\"L\"+(n.targetX-e)+\" \"+(n.targetY-r)+(e>0?\"L\"+n.targetX+\" \"+n.targetY:\"\")+\"Z\":\"M \"+(n.targetX-e)+\" \"+(n.targetY-r)+\" L\"+(n.rightInnerExtent-e)+\" \"+(n.targetY-r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 0 \"+(n.rightFullExtent-r-e)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r-e)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 0 \"+(n.rightInnerExtent-e)+\" \"+(n.verticalFullExtent+r)+\"L\"+n.leftInnerExtent+\" \"+(n.verticalFullExtent+r)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftLargeArcRadius+r)+\" 0 0 0 \"+(n.leftFullExtent+r)+\" \"+n.verticalLeftInnerExtent+\"L\"+(n.leftFullExtent+r)+\" \"+(n.sourceY+n.leftSmallArcRadius)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftSmallArcRadius+r)+\" 0 0 0 \"+n.leftInnerExtent+\" \"+(n.sourceY-r)+\"L\"+n.sourceX+\" \"+(n.sourceY-r)+\"L\"+n.sourceX+\" \"+(n.sourceY+r)+\"L\"+n.leftInnerExtent+\" \"+(n.sourceY+r)+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftSmallArcRadius-r)+\" 0 0 1 \"+(n.leftFullExtent-r)+\" \"+(n.sourceY+n.leftSmallArcRadius)+\"L\"+(n.leftFullExtent-r)+\" \"+n.verticalLeftInnerExtent+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftLargeArcRadius-r)+\" 0 0 1 \"+n.leftInnerExtent+\" \"+(n.verticalFullExtent-r)+\"L\"+(n.rightInnerExtent-e)+\" \"+(n.verticalFullExtent-r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 1 \"+(n.rightFullExtent+r-e)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r-e)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 1 \"+(n.rightInnerExtent-e)+\" \"+(n.targetY+r)+\"L\"+(n.targetX-e)+\" \"+(n.targetY+r)+(e>0?\"L\"+n.targetX+\" \"+n.targetY:\"\")+\"Z\"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),c=t.link.y0-t.link.width/2,u=t.link.y0+t.link.width/2,h=t.link.y1-t.link.width/2,f=t.link.y1+t.link.width/2,p=\"M\"+n+\",\"+c,d=\"C\"+s+\",\"+c+\" \"+l+\",\"+h+\" \"+a+\",\"+h,m=\"C\"+l+\",\"+f+\" \"+s+\",\"+u+\" \"+n+\",\"+u,g=e>0?\"L\"+(a+e)+\",\"+(h+t.link.width/2):\"\";return p+d+(g+=\"L\"+a+\",\"+f)+m+\"Z\"}}function S(t,e){var r=c(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s=\"node_\"+e.pointNumber;return e.group&&(s=f.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:u.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join(\"_\"),interactionState:t.interactionState,figure:t}}function E(t){t.attr(\"transform\",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function C(t){t.call(E)}function L(t,e){t.call(C),e.attr(\"d\",M())}function I(t){t.attr(\"width\",(function(t){return t.node.x1-t.node.x0})).attr(\"height\",(function(t){return t.visibleHeight}))}function P(t){return t.link.width>1||t.linkLineWidth>0}function z(t){return p(t.translateX,t.translateY)+(t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function O(t,e,r){t.on(\".basic\",null).on(\"mouseover.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on(\"mousemove.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on(\"mouseout.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on(\"click.basic\",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function D(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on(\"dragstart\",(function(a){if(\"fixed\"!==a.arrangement&&(f.ensureSingle(i._fullLayout._infolayer,\"g\",\"dragcover\",(function(t){i._fullLayout._dragCover=t})),f.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),\"snap\"===a.arrangement)){var o=a.traceId+\"|\"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on(\"drag\",(function(r){if(\"fixed\"!==r.arrangement){var n=a.event.x,i=a.event.y;\"snap\"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):(\"freeform\"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),\"snap\"!==r.arrangement&&(r.sankey.update(r.graph),L(t.filter(B(r)),e))}})).on(\"dragend\",(function(t){if(\"fixed\"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&L[y].gap;)y--;for(x=L[y].s,m=L.length-1;m>y;m--)L[m].s=x;for(;lS[h]&&h=0;h--){var f=t[h];if(\"scatter\"===f.type&&f.xaxis===c.xaxis&&f.yaxis===c.yaxis){f.opacity=void 0;break}}}}}},40247:function(t,e,r){\"use strict\";var n=r(34809),i=r(33626),a=r(36640),o=r(32660),s=r(64726),l=r(99867),c=r(99669),u=r(382),h=r(24272),f=r(98168),p=r(91602),d=r(663),m=r(54114),g=r(34809).coercePattern;t.exports=function(t,e,r,y){function v(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,y,v);if(x||(e.visible=!1),e.visible){c(t,e,y,v),v(\"xhoverformat\"),v(\"yhoverformat\"),v(\"zorder\");var _=u(t,e,y,v);\"group\"===y.scattermode&&void 0===e.orientation&&v(\"orientation\",\"v\");var b=!_&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(f.c2p(t.x)-d);return a=Math.min(e,r)&&m<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-m);return ar!=(c=i[n][1])>=r&&(o=i[n-1][0],s=i[n][0],c-l&&(a=o+(s-o)*(r-l)/(c-l),h=Math.min(h,a),d=Math.max(d,a)));return{x0:h=Math.max(h,0),x1:d=Math.min(d,f._length),y0:r,y1:r}}(h._polygons);null===P&&(P={x0:g[0],x1:g[0],y0:g[1],y1:g[1]});var z=s.defaultLine;return s.opacity(h.fillcolor)?z=h.fillcolor:s.opacity((h.line||{}).color)&&(z=h.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:P.x0,x1:P.x1,y0:P.y0,y1:P.y1,color:z,hovertemplate:!1}),delete t.index,h.text&&!n.isArrayOrTypedArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}},69693:function(t,e,r){\"use strict\";var n=r(64726);t.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(36640),layoutAttributes:r(26667),supplyDefaults:r(40247),crossTraceDefaults:r(53044),supplyLayoutDefaults:r(12332),calc:r(26544).calc,crossTraceCalc:r(75603),arraysToCalcdata:r(99203),plot:r(36098),colorbar:r(21146),formatLabels:r(15294),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(37255),selectPoints:r(32665),animatable:!0,moduleType:\"trace\",name:\"scatter\",basePlotModule:r(37703),categories:[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],meta:{}}},26667:function(t){\"use strict\";t.exports={scattermode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},scattergap:{valType:\"number\",min:0,max:1,editType:\"calc\"}}},12332:function(t,e,r){\"use strict\";var n=r(34809),i=r(26667);t.exports=function(t,e){var r,a=\"group\"===e.barmode;\"group\"===e.scattermode&&(\"scattergap\",r=a?e.bargap:.2,n.coerce(t,e,i,\"scattergap\",r))}},98168:function(t,e,r){\"use strict\";var n=r(34809).isArrayOrTypedArray,i=r(65477).hasColorscale,a=r(39356);t.exports=function(t,e,r,o,s,l){l||(l={});var c=(t.marker||{}).color;c&&c._inputArray&&(c=c._inputArray),s(\"line.color\",r),i(t,\"line\")?a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}):s(\"line.color\",!n(c)&&c||r),s(\"line.width\"),l.noDash||s(\"line.dash\"),l.backoff&&s(\"line.backoff\")}},5525:function(t,e,r){\"use strict\";var n=r(62203),i=r(63821),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,c=r(34809),u=c.segmentsIntersect,h=c.constrain,f=r(32660);t.exports=function(t,e){var r,i,o,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E=e.trace||{},C=e.xaxis,L=e.yaxis,I=\"log\"===C.type,P=\"log\"===L.type,z=C._length,O=L._length,D=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j=\"linear\"===N,U=E.fill&&\"none\"!==E.fill,V=[],q=f.minTolerance,H=t.length,G=new Array(H),Z=0;function W(r){var n=t[r];if(!n)return!1;var i=e.linearized?C.l2p(n.x):C.c2p(n.x),o=e.linearized?L.l2p(n.y):L.c2p(n.y);if(i===a){if(I&&(i=C.c2p(n.x,!0)),i===a)return!1;P&&o===a&&(i*=Math.abs(C._m*O*(C._m>0?s:l)/(L._m*z*(L._m>0?s:l)))),i*=1e3}if(o===a){if(P&&(o=L.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function Y(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,c=i*o+a*s;if(c>0&&cot||t[1]lt)return[h(t[0],at,ot),h(t[1],st,lt)]}function ht(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0}function ft(t,e,r){return function(n,i){var a=ut(n),o=ut(i),s=[];if(a&&o&&ht(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*c.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);return l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l),s}}function pt(t){var e=t[0],r=t[1],n=e===G[Z-1][0],i=r===G[Z-1][1];if(!n||!i)if(Z>1){var a=e===G[Z-2][0],o=r===G[Z-2][1];n&&(e===at||e===ot)&&a?o?Z--:G[Z-1]=t:i&&(r===st||r===lt)&&o?a?Z--:G[Z-1]=t:G[Z++]=t}else G[Z++]=t}function dt(t){G[Z-1][0]!==t[0]&&G[Z-1][1]!==t[1]&&pt([Q,tt]),pt(t),et=null,Q=tt=0}\"linear\"===N||\"spline\"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ct[i],o=u(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&$(o,t)<$(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:\"hv\"===N||\"vh\"===N?nt=function(t,e){var r=[],n=ut(t),i=ut(e);return n&&i&&ht(n,i)||(n&&r.push(n),i&&r.push(i)),r}:\"hvh\"===N?nt=ft(0,at,ot):\"vhv\"===N&&(nt=ft(1,st,lt));var mt=c.isArrayOrTypedArray(R);function gt(e){if(e&&D&&(e.i=r,e.d=t,e.trace=E,e.marker=mt?R[e.i]:R,e.backoff=D),M=e[0]/z,S=e[1]/O,J=e[0]ot?ot:0,K=e[1]lt?lt:0,J||K){if(Z)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[Z++]=n[1])}else rt=nt(G[Z-1],e)[0],G[Z++]=rt;else G[Z++]=[J||e[0],K||e[1]];var i=G[Z-1];J&&K&&(i[0]!==J||i[1]!==K)?(et&&(Q!==J&&tt!==K?pt(Q&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[Q||J,tt||K]):Q&&tt&&pt([Q,tt])),pt([J,K])):Q-J&&tt-K&&pt([J||Q,K||tt]),et=e,Q=J,tt=K}else et&&dt(nt(et,e)[0]),G[Z++]=e;var a,o,s,l}for(r=0;rX(m,yt))break;o=m,(w=v[0]*y[0]+v[1]*y[1])>_?(_=w,p=m,g=!1):w=t.length||!m)break;gt(m),i=m}}else gt(p)}et&&pt([Q||et[0],tt||et[1]]),V.push(G.slice(0,Z))}var vt=N.slice(N.length-1);if(D&&\"h\"!==vt&&\"v\"!==vt){for(var xt=!1,_t=-1,bt=[],wt=0;wt=0?l=p:(l=p=f,f++),l0?Math.max(r,a):0}}},21146:function(t){\"use strict\";t.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}},24272:function(t,e,r){\"use strict\";var n=r(78766),i=r(65477).hasColorscale,a=r(39356),o=r(64726);t.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),h=(t.line||{}).color;c=c||{},h&&(r=h),l(\"marker.symbol\"),l(\"marker.opacity\",u?.7:1),l(\"marker.size\"),c.noAngle||(l(\"marker.angle\"),c.noAngleRef||l(\"marker.angleref\"),c.noStandOff||l(\"marker.standoff\")),l(\"marker.color\",r),i(t,\"marker\")&&a(t,e,s,l,{prefix:\"marker.\",cLetter:\"c\"}),c.noSelect||(l(\"selected.marker.color\"),l(\"unselected.marker.color\"),l(\"selected.marker.size\"),l(\"unselected.marker.size\")),c.noLine||(l(\"marker.line.color\",h&&!Array.isArray(h)&&e.marker.color!==h?h:u?n.background:n.defaultLine),i(t,\"marker.line\")&&a(t,e,s,l,{prefix:\"marker.line.\",cLetter:\"c\"}),l(\"marker.line.width\",u?1:0)),u&&(l(\"marker.sizeref\"),l(\"marker.sizemin\"),l(\"marker.sizemode\")),c.gradient&&\"none\"!==l(\"marker.gradient.type\")&&l(\"marker.gradient.color\")}},99669:function(t,e,r){\"use strict\";var n=r(34809).dateTick0,i=r(63821).ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}t.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n(\"xperiod\");o&&(n(\"xperiod0\",a(o,e.xcalendar)),n(\"xperiodalignment\"))}if(i.y){var s=n(\"yperiod\");s&&(n(\"yperiod0\",a(s,e.ycalendar)),n(\"yperiodalignment\"))}}},36098:function(t,e,r){\"use strict\";var n=r(45568),i=r(33626),a=r(34809),o=a.ensureSingle,s=a.identity,l=r(62203),c=r(64726),u=r(5525),h=r(17210),f=r(80899).tester;function p(t,e,r,h,p,d,m){var g,y=t._context.staticPlot;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,u=n.extent(a.simpleMap(s.range,s.r2c)),h=n.extent(a.simpleMap(l.range,l.r2c)),f=i[0].trace;if(c.hasMarkers(f)){var p=f.marker.maxdisplayed;if(0!==p){var d=i.filter((function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=h[0]&&t.y<=h[1]})),m=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(t){return v?t.transition():t}var _=r.xaxis,b=r.yaxis,w=h[0].trace,T=w.line,k=n.select(d),A=o(k,\"g\",\"errorbars\"),M=o(k,\"g\",\"lines\"),S=o(k,\"g\",\"points\"),E=o(k,\"g\",\"text\");if(i.getComponentMethod(\"errorbars\",\"plot\")(t,A,r,m),!0===w.visible){var C,L;x(k).style(\"opacity\",w.opacity);var I,P,z=w.fill.charAt(w.fill.length-1);\"x\"!==z&&\"y\"!==z&&(z=\"\"),\"y\"===z?(I=1,P=b.c2p(0,!0)):\"x\"===z&&(I=0,P=_.c2p(0,!0)),h[0][r.isRangePlot?\"nodeRangePlot3\":\"node3\"]=k;var O,D,R=\"\",F=[],B=w._prevtrace,N=null,j=null;B&&(R=B._prevRevpath||\"\",L=B._nextFill,F=B._ownPolygons,N=B._fillsegments,j=B._fillElement);var U,V,q,H,G,Z,W=\"\",Y=\"\",X=[];w._polygons=[];var $=[],J=[],K=a.noop;if(C=w._ownFill,c.hasLines(w)||\"none\"!==w.fill){L&&L.datum(h),-1!==[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(T.shape)?(U=l.steps(T.shape),V=l.steps(T.shape.split(\"\").reverse().join(\"\"))):U=V=\"spline\"===T.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),T.smoothing):l.smoothopen(t,T.smoothing)}:function(t){return\"M\"+t.join(\"L\")},q=function(t){return V(t.reverse())},J=u(h,{xaxis:_,yaxis:b,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),$=new Array(J.length);var Q=0;for(g=0;g0,g=h(t,e,r);(u=i.selectAll(\"g.trace\").data(g,(function(t){return t[0].trace.uid}))).enter().append(\"g\").attr(\"class\",(function(t){return\"trace scatter trace\"+t[0].trace.uid})).style(\"stroke-miterlimit\",2),u.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),\"g\",\"fills\");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,c=[];a._ownfill&&c.push(\"_ownFill\"),a._nexttrace&&c.push(\"_nextFill\");var u=i.selectAll(\"g\").data(c,s);u.enter().append(\"g\"),u.exit().each((function(t){a[t]=null})).remove(),u.order().each((function(t){a[t]=o(n.select(this),\"path\",\"js-fill\")}))}))}(t,u,e),m?(c&&(f=c()),n.transition().duration(a.duration).ease(a.easing).each(\"end\",(function(){f&&f()})).each(\"interrupt\",(function(){f&&f()})).each((function(){i.selectAll(\"g.trace\").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):u.each((function(r,n){p(t,n,e,r,g,this,a)})),d&&u.exit().remove(),i.selectAll(\"path:not([d])\").remove()}},32665:function(t,e,r){\"use strict\";var n=r(64726);t.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],h=s[0].trace;if(!n.hasMarkers(h)&&!n.hasText(h))return[];if(!1===e)for(r=0;r0){var f=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=f),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,f)}}else o[s]=[-l[0]*r,l[1]*r]}return o}t.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf(\"right\")>-1?1:0}function _(t){return null==t?0:t.indexOf(\"top\")>-1?-1:t.indexOf(\"bottom\")>-1?1:0}function b(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var E=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&h(\"surfacecolor\",p||d);for(var m=[\"x\",\"y\",\"z\"],g=0;g<3;++g){var y=\"projection.\"+m[g];h(y+\".show\")&&(h(y+\".opacity\"),h(y+\".scale\"))}var v=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(t,e,p||d||r,{axis:\"z\"}),v(t,e,p||d||r,{axis:\"y\",inherit:\"z\"}),v(t,e,p||d||r,{axis:\"x\",inherit:\"z\"})}else e.visible=!1}},17822:function(t,e,r){\"use strict\";t.exports={plot:r(16533),attributes:r(14117),markerSymbols:r(49467),supplyDefaults:r(82418),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:r(37593),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:r(2487),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},54637:function(t,e,r){\"use strict\";var n=r(19326),i=r(36640),a=r(9829),o=r(3208).rb,s=r(3208).ay,l=r(87163),c=r(93049).extendFlat,u=i.marker,h=i.line,f=u.line;t.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:c({},i.mode,{dflt:\"markers\"}),text:c({},i.text,{}),texttemplate:s({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),hovertext:c({},i.hovertext,{}),line:{color:h.color,width:h.width,dash:h.dash,backoff:h.backoff,shape:c({},h.shape,{values:[\"linear\",\"spline\"]}),smoothing:h.smoothing,editType:\"calc\"},connectgaps:i.connectgaps,fill:c({},i.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:n(),marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,angle:u.angle,angleref:u.angleref,standoff:u.standoff,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:f.width,editType:\"calc\"},l(\"marker.line\")),gradient:u.gradient,editType:\"calc\"},l(\"marker\")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:c({},a.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:i.hoveron,hovertemplate:o(),zorder:i.zorder}},68001:function(t,e,r){\"use strict\";var n=r(10721),i=r(77272),a=r(99203),o=r(48861),s=r(26544).calcMarkerSize,l=r(26571);t.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,h,f=e._length,p=new Array(f),d=!1;for(c=0;c\")}return o}function v(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\"\"):t._hovertitle,g.push(r+\": \"+e.toFixed(3)+t.labelsuffix)}}},56534:function(t,e,r){\"use strict\";t.exports={attributes:r(54637),supplyDefaults:r(16986),colorbar:r(21146),formatLabels:r(32709),calc:r(68001),plot:r(64535),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(59420),selectPoints:r(32665),eventData:r(68289),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:r(37703),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}},64535:function(t,e,r){\"use strict\";var n=r(36098),i=r(29714),a=r(62203);t.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,h=i.getFromId(t,u.xaxis||\"x\"),f=i.getFromId(t,u.yaxis||\"y\"),p={xaxis:h,yaxis:f,plot:e.plot};for(s=0;s\")}function p(t){return t+\"°\"}}(c,m,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},18070:function(t,e,r){\"use strict\";t.exports={attributes:r(6893),supplyDefaults:r(27386),colorbar:r(21146),formatLabels:r(57413),calc:r(75649),calcGeoJSON:r(48887).calcGeoJSON,plot:r(48887).plot,style:r(60367),styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(40636),eventData:r(71873),selectPoints:r(45852),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:r(47544),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},48887:function(t,e,r){\"use strict\";var n=r(45568),i=r(34809),a=r(11577).getTopojsonFeatures,o=r(39532),s=r(3994),l=r(32919).findExtremes,c=r(63821).BADNUM,u=r(26544).calcMarkerSize,h=r(64726),f=r(60367);t.exports={calcGeoJSON:function(t,e){var r,n,o=t[0].trace,h=e[o.geo],f=h._subplot,p=o._length;if(i.isArrayOrTypedArray(o.locations)){var d=o.locationmode,m=\"geojson-id\"===d?s.extractTraceFeature(t):a(o,f.topojson);for(r=0;r=g,w=2*_,T={},k=l.makeCalcdata(e,\"x\"),A=v.makeCalcdata(e,\"y\"),M=s(e,l,\"x\",k),S=s(e,v,\"y\",A),E=M.vals,C=S.vals;e._x=E,e._y=C,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var L=new Array(w),I=new Array(_);for(r=0;r<_;r++)L[2*r]=E[r]===m?NaN:E[r],L[2*r+1]=C[r]===m?NaN:C[r],I[r]=r;if(\"log\"===l.type)for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel))),s}(t,0,e,L,E,C),O=d(t,x);return h(o,e),b?z.marker&&(P=z.marker.sizeAvg||Math.max(z.marker.size,3)):P=c(e,_),u(t,e,l,v,E,C,P),z.errorX&&y(e,l,z.errorX),z.errorY&&y(e,v,z.errorY),z.fill&&!O.fill2d&&(O.fill2d=!0),z.marker&&!O.scatter2d&&(O.scatter2d=!0),z.line&&!O.line2d&&(O.line2d=!0),!z.errorX&&!z.errorY||O.error2d||(O.error2d=!0),z.text&&!O.glText&&(O.glText=!0),z.marker&&(z.marker.snap=_),O.lineOptions.push(z.line),O.errorXOptions.push(z.errorX),O.errorYOptions.push(z.errorY),O.fillOptions.push(z.fill),O.markerOptions.push(z.marker),O.markerSelectedOptions.push(z.markerSel),O.markerUnselectedOptions.push(z.markerUnsel),O.textOptions.push(z.text),O.textSelectedOptions.push(z.textSel),O.textUnselectedOptions.push(z.textUnsel),O.selectBatch.push([]),O.unselectBatch.push([]),T._scene=O,T.index=O.count,T.x=E,T.y=C,T.positions=L,O.count++,[{x:!1,y:!1,t:T,trace:e}]}},29483:function(t){\"use strict\";t.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},19937:function(t,e,r){\"use strict\";var n=r(10721),i=r(96021),a=r(162),o=r(33626),s=r(34809),l=s.isArrayOrTypedArray,c=r(62203),u=r(5975),h=r(46998).formatColor,f=r(64726),p=r(92527),d=r(4075),m=r(29483),g=r(20438).DESELECTDIM,y={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=r(36040).appendArrayPointValue;function x(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,c=e.textposition,u=l(c)?c:[c],h=o.color,f=o.size,p=o.family,d=o.weight,m=o.style,g=o.variant,y={},x=t._context.plotGlPixelRatio,b=e.texttemplate;if(b){y.text=[];var w=i._d3locale,T=Array.isArray(b),k=T?Math.min(b.length,a):a,A=T?function(t){return b[t]}:function(){return b};for(r=0;r500?\"bold\":\"normal\":t}function b(t,e){var r,n,i=e._length,o=e.marker,s={},c=l(o.symbol),u=l(o.angle),f=l(o.color),m=l(o.line.color),g=l(o.opacity),y=l(o.size),v=l(o.line.width);if(c||(n=d.isOpenSymbol(o.symbol)),c||f||m||g||u){s.symbols=new Array(i),s.angles=new Array(i),s.colors=new Array(i),s.borderColors=new Array(i);var x=o.symbol,_=o.angle,b=h(o,o.opacity,i),w=h(o.line,o.opacity,i);if(!l(w[0])){var T=w;for(w=Array(i),r=0;rm.TOO_MANY_POINTS||f.hasMarkers(e)?\"rect\":\"round\";if(c&&e.connectgaps){var h=n[0],p=n[1];for(i=0;i1?c[i]:c[0]:c,m=l(u)?u.length>1?u[i]:u[0]:u,g=y[d],v=y[m],x=h?h/.8+1:0,_=-v*x-.5*v;o.offset[i]=[g*x/p,_/p]}}return o}}},86590:function(t,e,r){\"use strict\";var n=r(34809),i=r(33626),a=r(4075),o=r(92089),s=r(32660),l=r(64726),c=r(99867),u=r(99669),h=r(24272),f=r(98168),p=r(54114),d=r(663);t.exports=function(t,e,r,m){function g(r,i){return n.coerce(t,e,o,r,i)}var y=!!t.marker&&a.isOpenSymbol(t.marker.symbol),v=l.isBubble(t),x=c(t,e,m,g);if(x){u(t,e,m,g),g(\"xhoverformat\"),g(\"yhoverformat\");var _=x100},e.isDotSymbol=function(t){return\"string\"==typeof t?n.DOT_RE.test(t):t>200}},36544:function(t,e,r){\"use strict\";var n=r(33626),i=r(34809),a=r(11539);function o(t,e,r,o){var s=t.xa,l=t.ya,c=t.distance,u=t.dxy,h=t.index,f={pointNumber:h,x:e[h],y:r[h]};f.tx=i.isArrayOrTypedArray(o.text)?o.text[h]:o.text,f.htx=Array.isArray(o.hovertext)?o.hovertext[h]:o.hovertext,f.data=Array.isArray(o.customdata)?o.customdata[h]:o.customdata,f.tp=Array.isArray(o.textposition)?o.textposition[h]:o.textposition;var p=o.textfont;p&&(f.ts=i.isArrayOrTypedArray(p.size)?p.size[h]:p.size,f.tc=i.isArrayOrTypedArray(p.color)?p.color[h]:p.color,f.tf=Array.isArray(p.family)?p.family[h]:p.family,f.tw=Array.isArray(p.weight)?p.weight[h]:p.weight,f.ty=Array.isArray(p.style)?p.style[h]:p.style,f.tv=Array.isArray(p.variant)?p.variant[h]:p.variant);var d=o.marker;d&&(f.ms=i.isArrayOrTypedArray(d.size)?d.size[h]:d.size,f.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[h]:d.opacity,f.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[h]:d.symbol,f.ma=i.isArrayOrTypedArray(d.angle)?d.angle[h]:d.angle,f.mc=i.isArrayOrTypedArray(d.color)?d.color[h]:d.color);var m=d&&d.line;m&&(f.mlc=Array.isArray(m.color)?m.color[h]:m.color,f.mlw=i.isArrayOrTypedArray(m.width)?m.width[h]:m.width);var g=d&&d.gradient;g&&\"none\"!==g.type&&(f.mgt=Array.isArray(g.type)?g.type[h]:g.type,f.mgc=Array.isArray(g.color)?g.color[h]:g.color);var y=s.c2p(f.x,!0),v=l.c2p(f.y,!0),x=f.mrc||1,_=o.hoverlabel;_&&(f.hbg=Array.isArray(_.bgcolor)?_.bgcolor[h]:_.bgcolor,f.hbc=Array.isArray(_.bordercolor)?_.bordercolor[h]:_.bordercolor,f.hts=i.isArrayOrTypedArray(_.font.size)?_.font.size[h]:_.font.size,f.htc=Array.isArray(_.font.color)?_.font.color[h]:_.font.color,f.htf=Array.isArray(_.font.family)?_.font.family[h]:_.font.family,f.hnl=i.isArrayOrTypedArray(_.namelength)?_.namelength[h]:_.namelength);var b=o.hoverinfo;b&&(f.hi=Array.isArray(b)?b[h]:b);var w=o.hovertemplate;w&&(f.ht=Array.isArray(w)?w[h]:w);var T={};T[t.index]=f;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,f),x0:y-x,x1:y+x,xLabelVal:k?k[h]:f.x,y0:v-x,y1:v+x,yLabelVal:A?A[h]:f.y,cd:T,distance:c,spikeDistance:u,hovertemplate:f.ht});return f.htx?M.text=f.htx:f.tx?M.text=f.tx:o.text&&(M.text=o.text),i.fillText(f,o,M),n.getComponentMethod(\"errorbars\",\"hoverInfo\")(f,o,M),M}t.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,c,u,h,f,p,d,m=t.cd,g=m[0].t,y=m[0].trace,v=t.xa,x=t.ya,_=g.x,b=g.y,w=v.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=v.p2c(w-k),M=v.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i=\"x\"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var C=k;if(\"x\"===n){var L=!!y.xperiodalignment,I=!!y.yperiodalignment;for(u=0;u=Math.min(P,z)&&w<=Math.max(P,z)?0:1/0}if(h=Math.min(O,D)&&T<=Math.max(O,D)?0:1/0}d=Math.sqrt(h*h+f*f),s=i[u]}}}else for(u=i.length-1;u>-1;u--)l=_[a=i[u]],c=b[a],h=v.c2p(l)-w,f=x.c2p(c)-T,(p=Math.sqrt(h*h+f*f))v.glText.length){var T=b-v.glText.length;for(m=0;mr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),v.line2d.update(v.lineOptions)),v.error2d){var A=(v.errorXOptions||[]).concat(v.errorYOptions||[]);v.error2d.update(A)}v.scatter2d&&v.scatter2d.update(v.markerOptions),v.fillOrder=s.repeat(null,b),v.fill2d&&(v.fillOptions=v.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,c=v.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(v.fillOrder[e]=u);var h,f,p=[],d=c&&c.positions||l.positions;if(\"tozeroy\"===s.fill){for(h=0;hh&&isNaN(d[f+1]);)f-=2;0!==d[h+1]&&(p=[d[h],0]),p=p.concat(d.slice(h,f+2)),0!==d[f+1]&&(p=p.concat([d[f],0]))}else if(\"tozerox\"===s.fill){for(h=0;hh&&isNaN(d[f]);)f-=2;0!==d[h]&&(p=[0,d[h+1]]),p=p.concat(d.slice(h,f+2)),0!==d[f]&&(p=p.concat([0,d[f+1]]))}else if(\"toself\"===s.fill||\"tonext\"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(m=0;m850?\" Black\":i>750?\" Extra Bold\":i>650?\" Bold\":i>550?\" Semi Bold\":i>450?\" Medium\":i>350?\" Regular\":i>250?\" Light\":i>150?\" Extra Light\":\" Thin\"):\"Open Sans\"===a.slice(0,2).join(\" \")?(s=\"Open Sans\",s+=i>750?\" Extrabold\":i>650?\" Bold\":i>550?\" Semibold\":i>350?\" Regular\":\" Light\"):\"Klokantech Noto Sans\"===a.slice(0,3).join(\" \")&&(s=\"Klokantech Noto Sans\",\"CJK\"===a[3]&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),\"Open Sans Regular Italic\"===s?s=\"Open Sans Italic\":\"Open Sans Regular Bold\"===s?s=\"Open Sans Bold\":\"Open Sans Regular Bold Italic\"===s?s=\"Open Sans Bold Italic\":\"Klokantech Noto Sans Regular Italic\"===s&&(s=\"Klokantech Noto Sans Italic\"),h(s)||(s=r),s.split(\", \")}t.exports=function(t,e){var r,a=e[0].trace,h=!0===a.visible&&0!==a._length,w=\"none\"!==a.fill,T=u.hasLines(a),k=u.hasMarkers(a),A=u.hasText(a),M=k&&\"circle\"===a.marker.symbol,S=k&&\"circle\"!==a.marker.symbol,E=a.cluster&&a.cluster.enabled,C=g(\"fill\"),L=g(\"line\"),I=g(\"circle\"),P=g(\"symbol\"),z={fill:C,line:L,circle:I,symbol:P};if(!h)return z;if((w||T)&&(r=o.calcTraceToLineCoords(e)),w&&(C.geojson=o.makePolygon(r),C.layout.visibility=\"visible\",i.extendFlat(C.paint,{\"fill-color\":a.fillcolor})),T&&(L.geojson=o.makeLine(r),L.layout.visibility=\"visible\",i.extendFlat(L.paint,{\"line-width\":a.line.width,\"line-color\":a.line.color,\"line-opacity\":a.opacity})),M){var O=function(t){var e,r,a,o,u=t[0].trace,h=u.marker,f=u.selectedpoints,p=i.isArrayOrTypedArray(h.color),d=i.isArrayOrTypedArray(h.size),m=i.isArrayOrTypedArray(h.opacity);function g(t){return u.opacity*t}p&&(r=s.hasColorscale(u,\"marker\")?s.makeColorScaleFuncFromTrace(h):i.identity),d&&(a=c(u)),m&&(o=function(t){return g(n(t)?+i.constrain(t,0,1):0)});var y,v,_=[];for(e=0;e\")}function u(t){return t+\"°\"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,u=o[0].trace,h=t.xa,f=t.ya,p=t.subplot,d=[],m=l+u.uid+\"-circle\",g=u.cluster&&u.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[m]});d=y.map((function(t){return t.id}))}var v=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-v;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-h.c2p([x,a]),c=o.y-f.c2p([n,r]),u=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)}),t),!1!==t.index){var _=o[t.index],b=_.lonlat,w=[i.modHalf(b[0],360)+v,b[1]],T=h.c2p(w),k=f.c2p(w),A=_.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[u.subplot]={_subplot:p};var S=u._module.formatLabels(_,u,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(u,_),t.extraText=c(u,_,o[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}},getExtraText:c}},30929:function(t,e,r){\"use strict\";t.exports={attributes:r(71388),supplyDefaults:r(57387),colorbar:r(21146),formatLabels:r(66762),calc:r(75649),plot:r(26126),hoverPoints:r(67275).hoverPoints,eventData:r(58240),selectPoints:r(21501),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:\"trace\",name:\"scattermap\",basePlotModule:r(34091),categories:[\"map\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},26126:function(t,e,r){\"use strict\";var n=r(34809),i=r(76717),a=r(8814).traceLayerPrefix,o={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function s(t,e,r,n){this.type=\"scattermap\",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+e+\"-fill\",line:\"source-\"+e+\"-line\",circle:\"source-\"+e+\"-circle\",symbol:\"source-\"+e+\"-symbol\",cluster:\"source-\"+e+\"-circle\",clusterCount:\"source-\"+e+\"-circle\"},this.layerIds={fill:a+e+\"-fill\",line:a+e+\"-line\",circle:a+e+\"-circle\",symbol:a+e+\"-symbol\",cluster:a+e+\"-cluster\",clusterCount:a+e+\"-cluster-count\"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:\"geojson\",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(u.layerIds[i])}t||n.removeSource(u.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(u.layerIds[i]),t||n.removeSource(u.sourceIds[i])}}(t)}function f(t){l?function(t){t||u.addSource(\"circle\",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,c=l.cluster&&l.cluster.enabled,u=!0!==l.visible,h=new s(t,l.uid,c,u),f=i(t.gd,e),p=h.below=t.belowLookup[\"trace-\"+l.uid];if(c)for(h.addSource(\"circle\",f.circle,l.cluster),r=0;r850?\" Black\":i>750?\" Extra Bold\":i>650?\" Bold\":i>550?\" Semi Bold\":i>450?\" Medium\":i>350?\" Regular\":i>250?\" Light\":i>150?\" Extra Light\":\" Thin\"):\"Open Sans\"===a.slice(0,2).join(\" \")?(s=\"Open Sans\",s+=i>750?\" Extrabold\":i>650?\" Bold\":i>550?\" Semibold\":i>350?\" Regular\":\" Light\"):\"Klokantech Noto Sans\"===a.slice(0,3).join(\" \")&&(s=\"Klokantech Noto Sans\",\"CJK\"===a[3]&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),\"Open Sans Regular Italic\"===s?s=\"Open Sans Italic\":\"Open Sans Regular Bold\"===s?s=\"Open Sans Bold\":\"Open Sans Regular Bold Italic\"===s?s=\"Open Sans Bold Italic\":\"Klokantech Noto Sans Regular Italic\"===s&&(s=\"Klokantech Noto Sans Italic\"),h(s)||(s=r),s.split(\", \")}t.exports=function(t,e){var r,a=e[0].trace,h=!0===a.visible&&0!==a._length,w=\"none\"!==a.fill,T=u.hasLines(a),k=u.hasMarkers(a),A=u.hasText(a),M=k&&\"circle\"===a.marker.symbol,S=k&&\"circle\"!==a.marker.symbol,E=a.cluster&&a.cluster.enabled,C=g(\"fill\"),L=g(\"line\"),I=g(\"circle\"),P=g(\"symbol\"),z={fill:C,line:L,circle:I,symbol:P};if(!h)return z;if((w||T)&&(r=o.calcTraceToLineCoords(e)),w&&(C.geojson=o.makePolygon(r),C.layout.visibility=\"visible\",i.extendFlat(C.paint,{\"fill-color\":a.fillcolor})),T&&(L.geojson=o.makeLine(r),L.layout.visibility=\"visible\",i.extendFlat(L.paint,{\"line-width\":a.line.width,\"line-color\":a.line.color,\"line-opacity\":a.opacity})),M){var O=function(t){var e,r,a,o,u=t[0].trace,h=u.marker,f=u.selectedpoints,p=i.isArrayOrTypedArray(h.color),d=i.isArrayOrTypedArray(h.size),m=i.isArrayOrTypedArray(h.opacity);function g(t){return u.opacity*t}p&&(r=s.hasColorscale(u,\"marker\")?s.makeColorScaleFuncFromTrace(h):i.identity),d&&(a=c(u)),m&&(o=function(t){return g(n(t)?+i.constrain(t,0,1):0)});var y,v,_=[];for(e=0;e\")}function u(t){return t+\"°\"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,u=o[0].trace,h=t.xa,f=t.ya,p=t.subplot,d=[],m=l+u.uid+\"-circle\",g=u.cluster&&u.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[m]});d=y.map((function(t){return t.id}))}var v=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-v;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-h.c2p([x,a]),c=o.y-f.c2p([n,r]),u=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)}),t),!1!==t.index){var _=o[t.index],b=_.lonlat,w=[i.modHalf(b[0],360)+v,b[1]],T=h.c2p(w),k=f.c2p(w),A=_.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[u.subplot]={_subplot:p};var S=u._module.formatLabels(_,u,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(u,_),t.extraText=c(u,_,o[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}},getExtraText:c}},83866:function(t,e,r){\"use strict\";[\"*scattermapbox* trace is deprecated!\",\"Please consider switching to the *scattermap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/javascript/maplibre-migration/\"].join(\" \"),t.exports={attributes:r(95833),supplyDefaults:r(38302),colorbar:r(21146),formatLabels:r(69009),calc:r(75649),plot:r(20691),hoverPoints:r(18016).hoverPoints,eventData:r(68197),selectPoints:r(60784),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:r(68192),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},20691:function(t,e,r){\"use strict\";var n=r(34809),i=r(27009),a=r(44245).traceLayerPrefix,o={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function s(t,e,r,n){this.type=\"scattermapbox\",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+e+\"-fill\",line:\"source-\"+e+\"-line\",circle:\"source-\"+e+\"-circle\",symbol:\"source-\"+e+\"-symbol\",cluster:\"source-\"+e+\"-circle\",clusterCount:\"source-\"+e+\"-circle\"},this.layerIds={fill:a+e+\"-fill\",line:a+e+\"-line\",circle:a+e+\"-circle\",symbol:a+e+\"-symbol\",cluster:a+e+\"-cluster\",clusterCount:a+e+\"-cluster-count\"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:\"geojson\",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(u.layerIds[i])}t||n.removeSource(u.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(u.layerIds[i]),t||n.removeSource(u.sourceIds[i])}}(t)}function f(t){l?function(t){t||u.addSource(\"circle\",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,c=l.cluster&&l.cluster.enabled,u=!0!==l.visible,h=new s(t,l.uid,c,u),f=i(t.gd,e),p=h.below=t.belowLookup[\"trace-\"+l.uid];if(c)for(h.addSource(\"circle\",f.circle,l.cluster),r=0;r\")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:i}},66939:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:r(31645),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:r(8738),supplyDefaults:r(73749).supplyDefaults,colorbar:r(21146),formatLabels:r(33368),calc:r(13246),plot:r(43836),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(29709).hoverPoints,selectPoints:r(32665),meta:{}}},43836:function(t,e,r){\"use strict\";var n=r(36098),i=r(63821).BADNUM;t.exports=function(t,e,r){for(var a=e.layers.frontplot.select(\"g.scatterlayer\"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=e.radialAxis,u=e.angularAxis,h=0;h=c&&(v.marker.cluster=d.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=b),v.line&&b.length>1&&l.extendFlat(v.line,s.linePositions(t,p,b)),v.text&&(l.extendFlat(v.text,{positions:b},s.textPosition(t,p,v.text,v.marker)),l.extendFlat(v.textSel,{positions:b},s.textPosition(t,p,v.text,v.markerSel)),l.extendFlat(v.textUnsel,{positions:b},s.textPosition(t,p,v.text,v.markerUnsel))),v.fill&&!f.fill2d&&(f.fill2d=!0),v.marker&&!f.scatter2d&&(f.scatter2d=!0),v.line&&!f.line2d&&(f.line2d=!0),v.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(v.line),f.fillOptions.push(v.fill),f.markerOptions.push(v.marker),f.markerSelectedOptions.push(v.markerSel),f.markerUnselectedOptions.push(v.markerUnsel),f.textOptions.push(v.text),f.textSelectedOptions.push(v.textSel),f.textUnselectedOptions.push(v.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=b,d._scene=f,d.index=f.count,f.count++}})),a(t,e,r)}},t.exports.reglPrecompiled={}},69595:function(t,e,r){\"use strict\";var n=r(3208).rb,i=r(3208).ay,a=r(93049).extendFlat,o=r(19326),s=r(36640),l=r(9829),c=s.line;t.exports={mode:s.mode,real:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},imag:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:s.text,texttemplate:i({editType:\"plot\"},{keys:[\"real\",\"imag\",\"text\"]}),hovertext:s.hovertext,line:{color:c.color,width:c.width,dash:c.dash,backoff:c.backoff,shape:a({},c.shape,{values:[\"linear\",\"spline\"]}),smoothing:c.smoothing,editType:\"calc\"},connectgaps:s.connectgaps,marker:s.marker,cliponaxis:a({},s.cliponaxis,{dflt:!1}),textposition:s.textposition,textfont:s.textfont,fill:a({},s.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:o(),hoverinfo:a({},l.hoverinfo,{flags:[\"real\",\"imag\",\"text\",\"name\"]}),hoveron:s.hoveron,hovertemplate:n(),selected:s.selected,unselected:s.unselected}},44315:function(t,e,r){\"use strict\";var n=r(10721),i=r(63821).BADNUM,a=r(77272),o=r(99203),s=r(48861),l=r(26544).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,c=e.subplot,u=r[c].realaxis,h=r[c].imaginaryaxis,f=u.makeCalcdata(e,\"real\"),p=h.makeCalcdata(e,\"imag\"),d=e._length,m=new Array(d),g=0;g\")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:i}},73304:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:r(50358),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:r(69595),supplyDefaults:r(93788),colorbar:r(21146),formatLabels:r(89419),calc:r(44315),plot:r(6229),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(64422).hoverPoints,selectPoints:r(32665),meta:{}}},6229:function(t,e,r){\"use strict\";var n=r(36098),i=r(63821).BADNUM,a=r(52007).smith;t.exports=function(t,e,r){for(var o=e.layers.frontplot.select(\"g.scatterlayer\"),s=e.xaxis,l=e.yaxis,c={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=0;u\"),o.hovertemplate=f.hovertemplate,a}function x(t,e){y.push(t._hovertitle+\": \"+e)}}},12864:function(t,e,r){\"use strict\";t.exports={attributes:r(18483),supplyDefaults:r(79028),colorbar:r(21146),formatLabels:r(78995),calc:r(67091),plot:r(79005),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(26558),selectPoints:r(32665),eventData:r(94343),moduleType:\"trace\",name:\"scatterternary\",basePlotModule:r(7638),categories:[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},79005:function(t,e,r){\"use strict\";var n=r(36098);t.exports=function(t,e,r){var i=e.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select(\"g.scatterlayer\"),c=0;cf?_.sizeAvg||Math.max(_.size,3):a(e,x),p=0;pa&&l||i-1,I=!0;if(o(x)||p.selectedpoints||L){var P=p._length;if(p.selectedpoints){m.selectBatch=p.selectedpoints;var z=p.selectedpoints,O={};for(l=0;l1&&(u=m[v-1],f=g[v-1],d=y[v-1]),e=0;eu?\"-\":\"+\")+\"x\")).replace(\"y\",(h>f?\"-\":\"+\")+\"y\")).replace(\"z\",(p>d?\"-\":\"+\")+\"z\");var C=function(){v=0,M=[],S=[],E=[]};(!v||v2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,u=e._len,h={};function d(t,e){var n=r[e],o=i[c[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(h.vectors=l(d(e._u,\"xaxis\"),d(e._v,\"yaxis\"),d(e._w,\"zaxis\"),u),!u)return{positions:[],cells:[]};var m=d(e._Xs,\"xaxis\"),g=d(e._Ys,\"yaxis\"),y=d(e._Zs,\"zaxis\");if(h.meshgrid=[m,g,y],h.gridFill=e._gridFill,e._slen)h.startingPositions=l(d(e._startsX,\"xaxis\"),d(e._startsY,\"yaxis\"),d(e._startsZ,\"zaxis\"));else{for(var v=g[0],x=f(m),_=f(y),b=new Array(x.length*_.length),w=0,T=0;T=0};v?(r=Math.min(y.length,_.length),l=function(t){return M(y[t])&&S(t)},h=function(t){return String(y[t])}):(r=Math.min(x.length,_.length),l=function(t){return M(x[t])&&S(t)},h=function(t){return String(x[t])}),w&&(r=Math.min(r,b.length));for(var E=0;E1){for(var P=a.randstr(),z=0;z=0){e.i=s.i;var u=r.marker;u.pattern&&u.colors&&u.pattern.shape||(u.color=c,e.color=c),n.pointStyle(t,r,a,e)}else i.fill(t,c)}},44691:function(t,e,r){\"use strict\";var n=r(45568),i=r(33626),a=r(36040).appendArrayPointValue,o=r(32141),s=r(34809),l=r(68596),c=r(33108),u=r(37252).formatPieValue;function h(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o\"),name:A||O(\"name\")?v.name:void 0,color:k(\"hoverlabel.bgcolor\")||x.color,borderColor:k(\"hoverlabel.bordercolor\"),fontFamily:k(\"hoverlabel.font.family\"),fontSize:k(\"hoverlabel.font.size\"),fontColor:k(\"hoverlabel.font.color\"),fontWeight:k(\"hoverlabel.font.weight\"),fontStyle:k(\"hoverlabel.font.style\"),fontVariant:k(\"hoverlabel.font.variant\"),nameLength:k(\"hoverlabel.namelength\"),textAlign:k(\"hoverlabel.align\"),hovertemplate:A,hovertemplateLabels:I,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?\"left\":\"right\"),y&&(F.x=E,F.idealAlign=E<0?\"left\":\"right\");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var N=t.select(\"path.surface\");f.styleOne(N,i,v,r,{hovered:!0})}d._hasHoverEvent=!0,r.emit(\"plotly_hover\",{points:l||[h(i,v,f.eventDataKeys)],event:n.event})}})),t.on(\"mouseout\",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit(\"plotly_unhover\",{points:[h(s,a,f.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=t.select(\"path.surface\");f.styleOne(l,s,a,r,{hovered:!1})}})),t.on(\"click\",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(c.isHierarchyRoot(t)||c.isLeaf(t)),u=c.getPtId(t),p=c.isEntry(t)?c.findEntryWithChild(m,u):c.findEntryWithLevel(m,u),y=c.getPtId(p),v={points:[h(t,a,f.eventDataKeys)],event:n.event};s||(v.nextLevel=y);var x=l.triggerHandler(r,\"plotly_\"+d.type+\"click\",v);if(!1!==x&&e.hovermode&&(r._hoverdata=[h(t,a,f.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call(\"_storeDirectGUIEdit\",a,e._tracePreGUI[a.uid],{level:a.level});var _={data:[{level:y}],traces:[d.index]},b={frame:{redraw:!1,duration:f.transitionTime},transition:{duration:f.transitionTime,easing:f.transitionEasing},mode:\"immediate\",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call(\"animate\",r,_,b)}}))}},33108:function(t,e,r){\"use strict\";var n=r(34809),i=r(78766),a=r(27983),o=r(37252);function s(t){return t.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,s(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,\"label\").join(\"/\")+\"/\"},e.formatValue=o.formatPieValue,e.formatPercent=function(t,e){var r=n.formatPercent(t,0);return\"0%\"===r&&(r=o.formatPiePercent(t,e)),r}},80809:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:r(14724),categories:[],animatable:!0,attributes:r(56708),layoutAttributes:r(98959),supplyDefaults:r(33459),supplyLayoutDefaults:r(75816),calc:r(14852).calc,crossTraceCalc:r(14852).crossTraceCalc,plot:r(19718).plot,style:r(98972).style,colorbar:r(21146),meta:{}}},98959:function(t){\"use strict\";t.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},75816:function(t,e,r){\"use strict\";var n=r(34809),i=r(98959);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"sunburstcolorway\",e.colorway),r(\"extendsunburstcolors\")}},19718:function(t,e,r){\"use strict\";var n=r(45568),i=r(92264),a=r(88640).GW,o=r(62203),s=r(34809),l=r(30635),c=r(84102),u=c.recordMinTextSize,h=c.clearMinTextSize,f=r(35734),p=r(37252).getRotationAngle,d=f.computeTransform,m=f.transformInsideText,g=r(98972).styleOne,y=r(6851).resizeText,v=r(44691),x=r(2032),_=r(33108);function b(t,r,c,h){var f=t._context.staticPlot,y=t._fullLayout,b=!y.uniformtext.mode&&_.hasTransition(h),T=n.select(c).selectAll(\"g.slice\"),k=r[0],A=k.trace,M=k.hierarchy,S=_.findEntryWithLevel(M,A.level),E=_.getMaxDepth(A),C=y._size,L=A.domain,I=C.w*(L.x[1]-L.x[0]),P=C.h*(L.y[1]-L.y[0]),z=.5*Math.min(I,P),O=k.cx=C.l+C.w*(L.x[1]+L.x[0])/2,D=k.cy=C.t+C.h*(1-L.y[0])-P/2;if(!S)return T.remove();var R=null,F={};b&&T.each((function(t){F[_.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&_.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&_.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var q=Math.min(N,E),H=function(t){return(t-j)/q*z},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},Z=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,O,D)},W=function(t){return O+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},Y=function(t){return D+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,_.getPtId)).enter().append(\"g\").classed(\"slice\",!0),b?T.exit().transition().each((function(){var t=n.select(this);t.select(\"path.surface\").transition().attrTween(\"d\",(function(t){var e=function(t){var e,r=_.getPtId(t),n=F[r],i=F[_.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1X?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:z,rpx1:z},s.extendFlat(e,K(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return Z(e(t))}})):h.attr(\"d\",Z),c.call(v,S,t,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(_.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),h.call(g,i,A,t);var p=s.ensureSingle(c,\"g\",\"slicetext\"),w=s.ensureSingle(p,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),T=s.ensureUniformFontSize(t,_.determineTextFont(A,i,y.font));w.text(e.formatSliceLabel(i,S,A,r,y)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=m(M,i,k),i.transform.targetX=W(i),i.transform.targetY=Y(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,u(A.type,r,y),s.getTextTransform(r)};b?w.transition().attrTween(\"transform\",(function(t){var e=function(t){var e,r=F[_.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(X){var i=t.x1>X?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,K(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),c=a(e.x0,t.x0),h=a(e.x1,t.x1),f=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,m=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=c(t),i=h(t),a=function(t){return m(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return u(A.type,n,y),{transform:{targetX:W(s),targetY:Y(s),scale:f(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr(\"transform\",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}e.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,c=!r,u=!s.uniformtext.mode&&_.hasTransition(r);h(\"sunburst\",s),(a=l.selectAll(\"g.trace.sunburst\").data(e,(function(t){return t[0].trace.uid}))).enter().append(\"g\").classed(\"trace\",!0).classed(\"sunburst\",!0).attr(\"stroke-linejoin\",\"round\"),a.order(),u?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){o&&o()})).each(\"interrupt\",(function(){o&&o()})).each((function(){l.selectAll(\"g.trace\").each((function(e){b(t,e,this,r)}))}))):(a.each((function(e){b(t,e,this,r)})),s.uniformtext.mode&&y(t,s._sunburstlayer.selectAll(\".trace\"),\"sunburst\")),c&&a.exit().remove()},e.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&\"none\"!==o))return\"\";var l=i.separators,c=n[0],u=t.data.data,h=c.hierarchy,f=_.isHierarchyRoot(t),p=_.getParent(h,t),d=_.getValue(t);if(!a){var m,g=o.split(\"+\"),y=function(t){return-1!==g.indexOf(t)},v=[];if(y(\"label\")&&u.label&&v.push(u.label),u.hasOwnProperty(\"v\")&&y(\"value\")&&v.push(_.formatValue(u.v,l)),!f){y(\"current path\")&&v.push(_.getPath(t.data));var x=0;y(\"percent parent\")&&x++,y(\"percent entry\")&&x++,y(\"percent root\")&&x++;var b=x>1;if(x){var w,T=function(t){m=_.formatPercent(w,l),b&&(m+=\" of \"+t),v.push(m)};y(\"percent parent\")&&!f&&(w=d/_.getValue(p),T(\"parent\")),y(\"percent entry\")&&(w=d/_.getValue(e),T(\"entry\")),y(\"percent root\")&&(w=d/_.getValue(h),T(\"root\"))}}return y(\"text\")&&(m=s.castOption(r,u.i,\"text\"),s.isValidTextValue(m)&&v.push(m)),v.join(\"
\")}var k=s.castOption(r,u.i,\"texttemplate\");if(!k)return\"\";var A={};u.label&&(A.label=u.label),u.hasOwnProperty(\"v\")&&(A.value=u.v,A.valueLabel=_.formatValue(u.v,l)),A.currentPath=_.getPath(t.data),f||(A.percentParent=d/_.getValue(p),A.percentParentLabel=_.formatPercent(A.percentParent,l),A.parent=_.getPtLabel(p)),A.percentEntry=d/_.getValue(e),A.percentEntryLabel=_.formatPercent(A.percentEntry,l),A.entry=_.getPtLabel(e),A.percentRoot=d/_.getValue(h),A.percentRootLabel=_.formatPercent(A.percentRoot,l),A.root=_.getPtLabel(h),u.hasOwnProperty(\"color\")&&(A.color=u.color);var M=s.castOption(r,u.i,\"text\");return(s.isValidTextValue(M)||\"\"===M)&&(A.text=M),A.customdata=s.castOption(r,u.i,\"customdata\"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},98972:function(t,e,r){\"use strict\";var n=r(45568),i=r(78766),a=r(34809),o=r(84102).resizeText,s=r(72043);function l(t,e,r,n){var o=e.data.data,l=!e.children,c=o.i,u=a.castOption(r,c,\"marker.line.color\")||i.defaultLine,h=a.castOption(r,c,\"marker.line.width\")||0;t.call(s,e,r,n).style(\"stroke-width\",h).call(i.stroke,u).style(\"opacity\",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(\".trace\");o(t,e,\"sunburst\"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style(\"opacity\",i.opacity),r.selectAll(\"path.surface\").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},16131:function(t,e,r){\"use strict\";var n=r(78766),i=r(87163),a=r(80712).axisHoverFormat,o=r(3208).rb,s=r(9829),l=r(93049).extendFlat,c=r(13582).overrideAll;function u(t){return{show:{valType:\"boolean\",dflt:!1},start:{valType:\"number\",dflt:null,editType:\"plot\"},end:{valType:\"number\",dflt:null,editType:\"plot\"},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\"},project:{x:{valType:\"boolean\",dflt:!1},y:{valType:\"boolean\",dflt:!1},z:{valType:\"boolean\",dflt:!1}},color:{valType:\"color\",dflt:n.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:n.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var h=t.exports=c(l({z:{valType:\"data_array\"},x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:o(),xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),zhoverformat:a(\"z\"),connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},surfacecolor:{valType:\"data_array\"}},i(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{contours:{x:u(),y:u(),z:u()},hidesurface:{valType:\"boolean\",dflt:!1},lightposition:{x:{valType:\"number\",min:-1e5,max:1e5,dflt:10},y:{valType:\"number\",min:-1e5,max:1e5,dflt:1e4},z:{valType:\"number\",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:\"number\",min:0,max:1,dflt:.8},diffuse:{valType:\"number\",min:0,max:1,dflt:.8},specular:{valType:\"number\",min:0,max:2,dflt:.05},roughness:{valType:\"number\",min:0,max:1,dflt:.5},fresnel:{valType:\"number\",min:0,max:5,dflt:.2}},opacity:{valType:\"number\",min:0,max:1,dflt:1},opacityscale:{valType:\"any\",editType:\"calc\"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),\"calc\",\"nested\");h.x.editType=h.y.editType=h.z.editType=\"calc+clearAxisTypes\",h.transforms=void 0},53027:function(t,e,r){\"use strict\";var n=r(28379);t.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:\"\",cLetter:\"c\"}):n(t,e,{vals:e.z,containerStr:\"\",cLetter:\"c\"})}},27159:function(t,e,r){\"use strict\";var n=r(99098).gl_surface3d,i=r(99098).ndarray,a=r(99098).ndarray_linear_interpolate.d2,o=r(69295),s=r(78106),l=r(34809).isArrayOrTypedArray,c=r(46998).parseColorScale,u=r(55010),h=r(88856).extractOpts;function f(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=f.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=t.dataCoordinate[a]&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return l(o)&&o[i]&&void 0!==o[i][n]?t.textLabel=o[i][n]:t.textLabel=o||\"\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function m(t,e){if(t0){r=d[n];break}return r}function v(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;ab;)r--,r/=y(r),++r<_&&(r=b);var n=Math.round(r/t);return n>1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,c=1+a+1,u=i(new Float32Array(l*c),[l,c]),h=[1/e,0,0,0,1/r,0,0,0,1],f=0;f0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}},21908:function(t,e,r){\"use strict\";var n=r(18426),i=r(93049).extendFlat,a=r(10721),o=r(87800).isTypedArray,s=r(87800).isArrayOrTypedArray;function l(t){if(s(t)){for(var e=0,r=0;r=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}t.exports=function(t,e){var r=u(e.cells.values),o=function(t){return t.slice(e.header.values.length,t.length)},m=u(e.header.values);m.length&&!m[0].length&&(m[0]=[\"\"],m=u(m));var g=m.concat(o(r).map((function(){return h((m[0]||[\"\"]).length)}))),y=e.domain,v=Math.floor(t._fullLayout._size.w*(y.x[1]-y.x[0])),x=Math.floor(t._fullLayout._size.h*(y.y[1]-y.y[0])),_=e.header.values.length?g[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],w=_.reduce(c,0),T=d(b,x-w+n.uplift),k=p(d(_,w),[]),A=p(T,k),M={},S=e._fullInput.columnorder;s(S)&&(S=Array.from(S)),S=S.concat(o(r.map((function(t,e){return e}))));var E=g.map((function(t,r){var n=s(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),C=E.reduce(c,0);E=E.map((function(t){return t/C*v}));var L=Math.max(l(e.header.line.width),l(e.cells.line.width)),I={key:e.uid+t._context.staticPlot,translateX:y.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-y.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:L,height:x,columnOrder:S,groupHeight:x,rowBlocks:A,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map((function(t){return t[0]})),gdColumnsOriginalOrder:g.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(t,e){var r=M[t];return M[t]=(r||0)+1,{key:t+\"__\"+M[t],label:t,specIndex:e,xIndex:S[e],xScale:f,x:void 0,calcdata:void 0,columnWidth:E[e]}}))};return I.columns.forEach((function(t){t.calcdata=I,t.x=f(t)})),I}},49618:function(t,e,r){\"use strict\";var n=r(93049).extendFlat;e.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:\"header\",type:\"header\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:\"cells1\",type:\"cells\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:\"cells2\",type:\"cells\",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},e.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0;return[r,e?r+e.rows.length:0]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+(\"string\"==typeof r&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\"),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},23281:function(t,e,r){\"use strict\";var n=r(34809),i=r(92294),a=r(13792).N;t.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s(\"columnwidth\"),s(\"header.values\"),s(\"header.format\"),s(\"header.align\"),s(\"header.prefix\"),s(\"header.suffix\"),s(\"header.height\"),s(\"header.line.width\"),s(\"header.line.color\"),s(\"header.fill.color\"),n.coerceFont(s,\"header.font\",o.font),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s/i),l=!a||s;t.mayHaveMarkup=a&&i.match(/[<&>]/);var c,u=\"string\"==typeof(c=i)&&c.match(n.latexCheck);t.latex=u;var h,f,p=u?\"\":k(t.calcdata.cells.prefix,e,r)||\"\",d=u?\"\":k(t.calcdata.cells.suffix,e,r)||\"\",m=u?null:k(t.calcdata.cells.format,e,r)||null,g=p+(m?o(m)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(h=T(g)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===h?T(g):h),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var y=(\" \"===n.wrapSplitCharacter?g.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each((function(t,e){t.page=c[e],t.scrollY=l})),e.attr(\"transform\",(function(t){var e=R(t.rowBlocks,t.page)-t.scrollY;return h(0,e)})),t&&(I(t,r,e,c,n.prevPages,n,0),I(t,r,e,c,n.prevPages,n,1),_(r,t))}}function L(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),c=r||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var h=l.selectAll(\".\"+n.cn.yColumn).selectAll(\".\"+n.cn.columnBlock).filter(M);return C(t,h,l),s.scrollY===u}}function I(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));b(t,e,a,r),i[o]=n[o]})))}function P(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll(\"tspan.line\").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value=\"\";s.length;)c+(i=(r=s.shift()).width+a)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll(\"tspan.line\").remove(),w(o.select(\".\"+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(D)}}function z(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=N(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,f=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,p=Math.max(f,u);p-l.rows[c].rowHeight&&(l.rows[c].rowHeight=p,t.selectAll(\".\"+n.cn.columnCell).call(D),C(null,t.filter(M),0),_(r,a,!0)),s.attr(\"transform\",(function(){var t=this,e=t.parentNode.getBoundingClientRect(),r=i.select(t.parentNode).select(\".\"+n.cn.cellRect).node().getBoundingClientRect(),a=t.transform.baseVal.consolidate(),s=r.top-e.top+(a?a.matrix.f:n.cellPad);return h(O(o,i.select(t.parentNode).select(\".\"+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function O(t,e){switch(t.align){case\"left\":default:return n.cellPad;case\"right\":return t.column.columnWidth-(e||0)-n.cellPad;case\"center\":return(t.column.columnWidth-(e||0))/2}}function D(t){t.attr(\"transform\",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+F(e,1/0)}),0),r=F(N(t),t.key);return h(0,r+e)})).selectAll(\".\"+n.cn.cellRect).attr(\"height\",(function(t){return(e=N(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function R(t,e){for(var r=0,n=e-1;n>=0;n--)r+=B(t[n]);return r}function F(t,e){for(var r=0,n=0;n\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont:u({},s.textfont,{}),editType:\"calc\"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:\"plot\"},{keys:c.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u({},s.outsidetextfont,{}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"top left\",editType:\"plot\"},sort:s.sort,root:l.root,domain:o({name:\"treemap\",trace:!0,editType:\"calc\"})}},69784:function(t,e,r){\"use strict\";var n=r(44122);e.name=\"treemap\",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},38848:function(t,e,r){\"use strict\";var n=r(14852);e._=function(t,e){return n.calc(t,e)},e.t=function(t){return n._runCrossTraceCalc(\"treemap\",t)}},43236:function(t){\"use strict\";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}},95719:function(t,e,r){\"use strict\";var n=r(34809),i=r(71856),a=r(78766),o=r(13792).N,s=r(17550).handleText,l=r(56155).TEXTPAD,c=r(46979).handleMarkerDefaults,u=r(88856),h=u.hasColorscale,f=u.handleDefaults;t.exports=function(t,e,r,u){function p(r,a){return n.coerce(t,e,i,r,a)}var d=p(\"labels\"),m=p(\"parents\");if(d&&d.length&&m&&m.length){var g=p(\"values\");g&&g.length?p(\"branchvalues\"):p(\"count\"),p(\"level\"),p(\"maxdepth\"),\"squarify\"===p(\"tiling.packing\")&&p(\"tiling.squarifyratio\"),p(\"tiling.flip\"),p(\"tiling.pad\");var y=p(\"text\");p(\"texttemplate\"),e.texttemplate||p(\"textinfo\",n.isArrayOrTypedArray(y)?\"text+label\":\"label\"),p(\"hovertext\"),p(\"hovertemplate\");var v=p(\"pathbar.visible\");s(t,e,u,p,\"auto\",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p(\"textposition\");var x=-1!==e.textposition.indexOf(\"bottom\");c(t,e,u,p),(e._hasColorscale=h(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis)?f(t,e,u,p,{prefix:\"marker.\",cLetter:\"c\"}):p(\"marker.depthfade\",!(e.marker.colors||[]).length);var _=2*e.textfont.size;p(\"marker.pad.t\",x?_/4:_),p(\"marker.pad.l\",_/4),p(\"marker.pad.r\",_/4),p(\"marker.pad.b\",x?_:_/4),p(\"marker.cornerradius\"),e._hovered={marker:{line:{width:2,color:a.contrast(u.paper_bgcolor)}}},v&&(p(\"pathbar.thickness\",e.pathbar.textfont.size+2*l),p(\"pathbar.side\"),p(\"pathbar.edgeshape\")),p(\"sort\"),p(\"root.color\"),o(e,u,p),e._length=null}else e.visible=!1}},41567:function(t,e,r){\"use strict\";var n=r(45568),i=r(33108),a=r(84102).clearMinTextSize,o=r(6851).resizeText,s=r(95709);t.exports=function(t,e,r,l,c){var u,h,f=c.type,p=c.drawDescendants,d=t._fullLayout,m=d[\"_\"+f+\"layer\"],g=!r;a(f,d),(u=m.selectAll(\"g.trace.\"+f).data(e,(function(t){return t[0].trace.uid}))).enter().append(\"g\").classed(\"trace\",!0).classed(f,!0),u.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(h=l()),n.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){h&&h()})).each(\"interrupt\",(function(){h&&h()})).each((function(){m.selectAll(\"g.trace\").each((function(e){s(t,e,this,r,p)}))}))):(u.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,m.selectAll(\".trace\"),f)),g&&u.exit().remove()}},17010:function(t,e,r){\"use strict\";var n=r(45568),i=r(34809),a=r(62203),o=r(30635),s=r(11995),l=r(92080).styleOne,c=r(43236),u=r(33108),h=r(44691),f=!0;t.exports=function(t,e,r,p,d){var m=d.barDifY,g=d.width,y=d.height,v=d.viewX,x=d.viewY,_=d.pathSlice,b=d.toMoveInsideSlice,w=d.strTransform,T=d.hasTransition,k=d.handleSlicesExit,A=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,S={},E=t._context.staticPlot,C=t._fullLayout,L=e[0],I=L.trace,P=L.hierarchy,z=g/I._entryDepth,O=u.listPath(r.data,\"id\"),D=s(P.copy(),[g,y],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(D=D.filter((function(t){var e=O.indexOf(t.data.id);return-1!==e&&(t.x0=z*e,t.x1=z*(e+1),t.y0=m,t.y1=m+y,t.onPathbar=!0,!0)}))).reverse(),(p=p.data(D,u.getPtId)).enter().append(\"g\").classed(\"pathbar\",!0),k(p,f,S,[g,y],_),p.order();var R=p;T&&(R=R.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=v(s.x0),s._x1=v(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=v(s.x1-Math.min(g,y)/2),s._hoverY=x(s.y1-y/2);var p=n.select(this),d=i.ensureSingle(p,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",E?\"none\":\"all\")}));T?d.transition().attrTween(\"d\",(function(t){var e=A(t,f,S,[g,y]);return function(t){return _(e(t))}})):d.attr(\"d\",_),p.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),d.call(l,s,I,t,{hovered:!1}),s._text=(u.getPtLabel(s)||\"\").split(\"
\").join(\" \")||\"\";var m=i.ensureSingle(p,\"g\",\"slicetext\"),k=i.ensureSingle(m,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),L=i.ensureUniformFontSize(t,u.determineTextFont(I,s,C.font,{onPathbar:!0}));k.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(a.font,L).call(o.convertToTspans,t),s.textBB=a.bBox(k.node()),s.transform=b(s,{fontSize:L.size,onPathbar:!0}),s.transform.fontSize=L.size,T?k.transition().attrTween(\"transform\",(function(t){var e=M(t,f,S,[g,y]);return function(t){return w(e(t))}})):k.attr(\"transform\",w(s))}))}},50916:function(t,e,r){\"use strict\";var n=r(45568),i=r(34809),a=r(62203),o=r(30635),s=r(11995),l=r(92080).styleOne,c=r(43236),u=r(33108),h=r(44691),f=r(19718).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,m){var g=m.width,y=m.height,v=m.viewX,x=m.viewY,_=m.pathSlice,b=m.toMoveInsideSlice,w=m.strTransform,T=m.hasTransition,k=m.handleSlicesExit,A=m.makeUpdateSliceInterpolator,M=m.makeUpdateTextInterpolator,S=m.prevEntry,E=t._context.staticPlot,C=t._fullLayout,L=e[0].trace,I=-1!==L.textposition.indexOf(\"left\"),P=-1!==L.textposition.indexOf(\"right\"),z=-1!==L.textposition.indexOf(\"bottom\"),O=!z&&!L.marker.pad.t||z&&!L.marker.pad.b,D=s(r,[g,y],{packing:L.tiling.packing,squarifyratio:L.tiling.squarifyratio,flipX:L.tiling.flip.indexOf(\"x\")>-1,flipY:L.tiling.flip.indexOf(\"y\")>-1,pad:{inner:L.tiling.pad,top:L.marker.pad.t,left:L.marker.pad.l,right:L.marker.pad.r,bottom:L.marker.pad.b}}).descendants(),R=1/0,F=-1/0;D.forEach((function(t){var e=t.depth;e>=L._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(R=Math.min(R,e),F=Math.max(F,e))})),d=d.data(D,u.getPtId),L._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append(\"g\").classed(\"slice\",!0),k(d,p,{},[g,y],_),d.order();var B=null;if(T&&S){var N=u.getPtId(S);d.each((function(t){null===B&&u.getPtId(t)===N&&(B={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=u.isHeader(s,L);s._x0=v(s.x0),s._x1=v(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=v(s.x1-L.marker.pad.r),s._hoverY=x(z?s.y1-L.marker.pad.b/2:s.y0+L.marker.pad.t/2);var m=n.select(this),k=i.ensureSingle(m,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",E?\"none\":\"all\")}));T?k.transition().attrTween(\"d\",(function(t){var e=A(t,p,j(),[g,y]);return function(t){return _(e(t))}})):k.attr(\"d\",_),m.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,L,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text=\"\":s._text=d?O?\"\":u.getPtLabel(s)||\"\":f(s,r,L,e,C)||\"\";var S=i.ensureSingle(m,\"g\",\"slicetext\"),D=i.ensureSingle(S,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),R=i.ensureUniformFontSize(t,u.determineTextFont(L,s,C.font)),F=s._text||\" \",B=d&&-1===F.indexOf(\"
\");D.text(F).classed(\"slicetext\",!0).attr(\"text-anchor\",P?\"end\":I||B?\"start\":\"middle\").call(a.font,R).call(o.convertToTspans,t),s.textBB=a.bBox(D.node()),s.transform=b(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,T?D.transition().attrTween(\"transform\",(function(t){var e=M(t,p,j(),[g,y]);return function(t){return w(e(t))}})):D.attr(\"transform\",w(s))})),B}},36141:function(t){\"use strict\";t.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?L+z:-(P+z):0,D={x0:I,x1:I,y0:O,y1:O+P},R=function(t,e,r){var n=y.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[f(t)]:N[f(t)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=m.paper_bgcolor,y._entryDepth=_.data.depth,y._atRootLevel=k;var V=-C/2+S.l+S.w*(E.x[1]+E.x[0])/2,q=-L/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),H=function(t){return V+t},G=function(t){return q+t},Z=G(0),W=H(0),Y=function(t){return W+t},X=function(t){return Z+t};function $(t,e){return t+\",\"+e}var J=Y(0),K=function(t){t.x=Math.max(J,t.x)},Q=y.pathbar.edgeshape,tt=y[v?\"tiling\":\"marker\"].pad,et=function(t){return-1!==y.textposition.indexOf(t)},rt=et(\"top\"),nt=et(\"left\"),it=et(\"right\"),at=et(\"bottom\"),ot=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,u=rt||e.isHeader&&!at?\"start\":at?\"end\":\"middle\",h=et(\"right\"),f=et(\"left\")||e.onPathbar?-1:h?1:0;if(e.isHeader){if((r+=(v?tt:tt.l)-s)>=(n-=(v?tt:tt.r)-s)){var p=(r+n)/2;r=p,n=p}var d;at?i<(d=a-(v?tt:tt.b))&&d\"===Q?(l.x-=a,c.x-=a,u.x-=a,h.x-=a):\"/\"===Q?(u.x-=a,h.x-=a,o.x-=a/2,s.x-=a/2):\"\\\\\"===Q?(l.x-=a,c.x-=a,o.x-=a/2,s.x-=a/2):\"<\"===Q&&(o.x-=a,s.x-=a),K(l),K(h),K(o),K(c),K(u),K(s),\"M\"+$(l.x,l.y)+\"L\"+$(c.x,c.y)+\"L\"+$(s.x,s.y)+\"L\"+$(u.x,u.y)+\"L\"+$(h.x,h.y)+\"L\"+$(o.x,o.y)+\"Z\"},toMoveInsideSlice:ot,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ct,handleSlicesExit:ut,hasTransition:A,strTransform:ht}):w.remove()}},92080:function(t,e,r){\"use strict\";var n=r(45568),i=r(78766),a=r(34809),o=r(33108),s=r(84102).resizeText,l=r(72043);function c(t,e,r,n,s){var c,u,h=(s||{}).hovered,f=e.data.data,p=f.i,d=f.color,m=o.isHierarchyRoot(e),g=1;if(h)c=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(m&&d===r.root.color)g=100,c=\"rgba(0,0,0,0)\",u=0;else if(c=a.castOption(r,p,\"marker.line.color\")||i.defaultLine,u=a.castOption(r,p,\"marker.line.width\")||0,!r._hasColorscale&&!e.onPathbar){var y=r.marker.depthfade;if(y){var v,x=i.combine(i.addOpacity(r._backgroundColor,.75),d);if(!0===y){var _=o.getMaxDepth(r);v=isFinite(_)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else v=e.data.depth-r._entryDepth,r._atRootLevel||v++;if(v>0)for(var b=0;b0){var _,b,w,T,k,A=t.xa,M=t.ya;\"h\"===d.orientation?(k=e,_=\"y\",w=M,b=\"x\",T=A):(k=r,_=\"x\",w=A,b=\"y\",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),C=T.c2p(k,!0),L=s.getKdeValue(S,d,k),I=s.getPositionOnKdePath(S,d,C),P=w._offset,z=w._length;E[_+\"0\"]=I[0],E[_+\"1\"]=I[1],E[b+\"0\"]=E[b+\"1\"]=C,E[b+\"Label\"]=b+\": \"+a.hoverLabelText(T,k,d[b+\"hoverformat\"])+\", \"+p[0].t.labels.kde+\" \"+L.toFixed(3);for(var O=0,D=0;D\")),u.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(f,g),[u]}function k(t){return n(m,t,f[d+\"hoverformat\"])}}},38261:function(t,e,r){\"use strict\";t.exports={attributes:r(37832),layoutAttributes:r(579),supplyDefaults:r(67199).supplyDefaults,crossTraceDefaults:r(67199).crossTraceDefaults,supplyLayoutDefaults:r(71492),calc:r(15e3),crossTraceCalc:r(9963),plot:r(71130),style:r(57256).style,hoverPoints:r(40943),eventData:r(64932),selectPoints:r(88384),moduleType:\"trace\",name:\"waterfall\",basePlotModule:r(37703),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},579:function(t){\"use strict\";t.exports={waterfallmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"group\",editType:\"calc\"},waterfallgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},waterfallgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},71492:function(t,e,r){\"use strict\";var n=r(34809),i=r(579);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=f?\"M\"+h[0]+\",\"+d[1]+\"V\"+d[0]:\"M\"+h[1]+\",\"+d[0]+\"H\"+h[0]),\"between\"!==p&&(r.isSum||s path\").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style(\"opacity\",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(\".lines\").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll(\"path\"),t.width,t.color,t.dash)}))}))}}},47908:function(t,e,r){\"use strict\";var n=r(29714),i=r(34809),a=r(57297),o=r(5086).z,s=r(63821).BADNUM;e.moduleType=\"transform\",e.name=\"aggregate\";var l=e.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},aggregations:{_isLinkedToArray:\"aggregation\",target:{valType:\"string\",editType:\"calc\"},func:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"median\",\"mode\",\"rms\",\"stddev\",\"min\",\"max\",\"first\",\"last\",\"change\",\"range\"],dflt:\"first\",editType:\"calc\"},funcmode:{valType:\"enumerated\",values:[\"sample\",\"population\"],dflt:\"sample\",editType:\"calc\"},enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},c=l.aggregations;function u(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case\"count\":return h;case\"first\":return f;case\"last\":return p;case\"sum\":return function(t,e){for(var r=0,i=0;ii&&(i=u,o=c)}}return i?a(o):s};case\"rms\":return function(t,e){for(var r=0,i=0,o=0;o\":return function(t){return p(t)>h};case\">=\":return function(t){return p(t)>=h};case\"[]\":return function(t){var e=p(t);return e>=h[0]&&e<=h[1]};case\"()\":return function(t){var e=p(t);return e>h[0]&&e=h[0]&&eh[0]&&e<=h[1]};case\"][\":return function(t){var e=p(t);return e<=h[0]||e>=h[1]};case\")(\":return function(t){var e=p(t);return eh[1]};case\"](\":return function(t){var e=p(t);return e<=h[0]||e>h[1]};case\")[\":return function(t){var e=p(t);return e=h[1]};case\"{}\":return function(t){return-1!==h.indexOf(p(t))};case\"}{\":return function(t){return-1===h.indexOf(p(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),f),x={},_={},b=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(h))},y=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},y=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?\"%{group} (%{trace})\":\"%{group}\");var l=t.styles,c=o.styles=[];if(l)for(a=0;af)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,d.prototype),e}function d(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 y(t)}return m(t,e,r)}function m(t,e,r){if(\"string\"==typeof t)return function(t,e){if(\"string\"==typeof e&&\"\"!==e||(e=\"utf8\"),!d.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|b(t,e),n=p(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(et(t,Uint8Array)){var e=new Uint8Array(t);return x(e.buffer,e.byteOffset,e.byteLength)}return v(t)}(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 \"+l(t));if(et(t,ArrayBuffer)||t&&et(t.buffer,ArrayBuffer))return x(t,e,r);if(\"undefined\"!=typeof SharedArrayBuffer&&(et(t,SharedArrayBuffer)||t&&et(t.buffer,SharedArrayBuffer)))return x(t,e,r);if(\"number\"==typeof t)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return d.from(n,e,r);var i=function(t){if(d.isBuffer(t)){var e=0|_(t.length),r=p(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?\"number\"!=typeof t.length||rt(t.length)?p(0):v(t):\"Buffer\"===t.type&&Array.isArray(t.data)?v(t.data):void 0}(t);if(i)return i;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return d.from(t[Symbol.toPrimitive](\"string\"),e,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+l(t))}function g(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 y(t){return g(t),p(t<0?0:0|_(t))}function v(t){for(var e=t.length<0?0:0|_(t.length),r=p(e),n=0;n=f)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+f.toString(16)+\" bytes\");return 0|t}function b(t,e){if(d.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||et(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 '+l(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return K(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return Q(t).length;default:if(i)return n?-1:K(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function w(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 R(this,e,r);case\"utf8\":case\"utf-8\":return P(this,e,r);case\"ascii\":return O(this,e,r);case\"latin1\":case\"binary\":return D(this,e,r);case\"base64\":return I(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return F(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function T(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function k(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),rt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=d.from(e,n)),d.isBuffer(e))return 0===e.length?-1:A(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):A(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function A(t,e,r,n,i){var a,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(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var h=!0,f=0;fi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function I(t,e,r){return 0===e&&r===t.length?c.fromByteArray(t):c.fromByteArray(t.slice(e,r))}function P(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,c=void 0,u=void 0,h=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(h=(31&a)<<6|63&l)>127&&(o=h);break;case 3:l=t[i+1],c=t[i+2],128==(192&l)&&128==(192&c)&&(h=(15&a)<<12|(63&l)<<6|63&c)>2047&&(h<55296||h>57343)&&(o=h);break;case 4:l=t[i+1],c=t[i+2],u=t[i+3],128==(192&l)&&128==(192&c)&&128==(192&u)&&(h=(15&a)<<18|(63&l)<<12|(63&c)<<6|63&u)>65535&&h<1114112&&(o=h)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=z)return String.fromCharCode.apply(String,t);for(var r=\"\",n=0;nn.length?(d.isBuffer(a)||(a=d.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!d.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},d.byteLength=b,d.prototype._isBuffer=!0,d.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;er&&(t+=\" ... \"),\"\"},h&&(d.prototype[h]=d.prototype.inspect),d.prototype.compare=function(t,e,r,n,i){if(et(t,Uint8Array)&&(t=d.from(t,t.offset,t.byteLength)),!d.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+l(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),c=this.slice(n,i),u=t.slice(e,r),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return M(this,t,e,r);case\"utf8\":case\"utf-8\":return S(this,t,e,r);case\"ascii\":case\"latin1\":case\"binary\":return E(this,t,e,r);case\"base64\":return C(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return L(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},d.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var z=4096;function O(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i=\"\",a=e;ar)throw new RangeError(\"Trying to access beyond buffer length\")}function N(t,e,r,n,i,a){if(!d.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError(\"Index out of range\")}function j(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function U(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function V(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function q(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,4),u.write(t,e,r,n,23,4),r+4}function H(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,8),u.write(t,e,r,n,52,8),r+8}d.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},d.prototype.readUint8=d.prototype.readUInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),this[t]},d.prototype.readUint16LE=d.prototype.readUInt16LE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]|this[t+1]<<8},d.prototype.readUint16BE=d.prototype.readUInt16BE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]<<8|this[t+1]},d.prototype.readUint32LE=d.prototype.readUInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},d.prototype.readUint32BE=d.prototype.readUInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},d.prototype.readBigUInt64LE=it((function(t){X(t>>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},d.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||B(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},d.prototype.readInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},d.prototype.readInt16LE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt16BE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},d.prototype.readInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},d.prototype.readBigInt64LE=it((function(t){X(t>>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||B(t,4,this.length),u.read(this,t,!0,23,4)},d.prototype.readFloatBE=function(t,e){return t>>>=0,e||B(t,4,this.length),u.read(this,t,!1,23,4)},d.prototype.readDoubleLE=function(t,e){return t>>>=0,e||B(t,8,this.length),u.read(this,t,!0,52,8)},d.prototype.readDoubleBE=function(t,e){return t>>>=0,e||B(t,8,this.length),u.read(this,t,!1,52,8)},d.prototype.writeUintLE=d.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},d.prototype.writeUint8=d.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,255,0),this[e]=255&t,e+1},d.prototype.writeUint16LE=d.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeUint16BE=d.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeUint32LE=d.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(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},d.prototype.writeUint32BE=d.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(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},d.prototype.writeBigUInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),d.prototype.writeBigUInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),d.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},d.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},d.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},d.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(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},d.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(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},d.prototype.writeBigInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),d.prototype.writeBigInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),d.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},d.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},d.prototype.writeDoubleLE=function(t,e,r){return H(this,t,e,!0,r)},d.prototype.writeDoubleBE=function(t,e,r){return H(this,t,e,!1,r)},d.prototype.copy=function(t,e,r,n){if(!d.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(a=e;a=n+4;r-=3)e=\"_\".concat(t.slice(r-3,r)).concat(e);return\"\".concat(t.slice(0,r)).concat(e)}function Y(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?\">= 0\".concat(s,\" and < 2\").concat(s,\" ** \").concat(8*(a+1)).concat(s):\">= -(2\".concat(s,\" ** \").concat(8*(a+1)-1).concat(s,\") and < 2 ** \")+\"\".concat(8*(a+1)-1).concat(s):\">= \".concat(e).concat(s,\" and <= \").concat(r).concat(s),new G.ERR_OUT_OF_RANGE(\"value\",o,t)}!function(t,e,r){X(e,\"offset\"),void 0!==t[e]&&void 0!==t[e+r]||$(e,t.length-(r+1))}(n,i,a)}function X(t,e){if(\"number\"!=typeof t)throw new G.ERR_INVALID_ARG_TYPE(e,\"number\",t)}function $(t,e,r){if(Math.floor(t)!==t)throw X(t,r),new G.ERR_OUT_OF_RANGE(r||\"offset\",\"an integer\",t);if(e<0)throw new G.ERR_BUFFER_OUT_OF_BOUNDS;throw new G.ERR_OUT_OF_RANGE(r||\"offset\",\">= \".concat(r?1:0,\" and <= \").concat(e),t)}Z(\"ERR_BUFFER_OUT_OF_BOUNDS\",(function(t){return t?\"\".concat(t,\" is outside of buffer bounds\"):\"Attempt to access memory outside buffer bounds\"}),RangeError),Z(\"ERR_INVALID_ARG_TYPE\",(function(t,e){return'The \"'.concat(t,'\" argument must be of type number. Received type ').concat(l(e))}),TypeError),Z(\"ERR_OUT_OF_RANGE\",(function(t,e,r){var n='The value of \"'.concat(t,'\" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):\"bigint\"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+=\"n\"),n+\" It must be \".concat(e,\". Received \").concat(i)}),RangeError);var J=/[^+/0-9A-Za-z-_]/g;function K(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function Q(t){return c.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(J,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function tt(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function et(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function rt(t){return t!=t}var nt=function(){for(var t=\"0123456789abcdef\",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function it(t){return\"undefined\"==typeof BigInt?at:t}function at(){throw new Error(\"BigInt not supported\")}},9216:function(t){\"use strict\";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\\d+|meego).+mobile|armv7l|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||\"undefined\"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&\"string\"==typeof i.headers[\"user-agent\"]&&(i=i.headers[\"user-agent\"]),\"string\"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf(\"Macintosh\")&&-1!==i.indexOf(\"Safari\")&&(a=!0),a}},6296:function(t,e,r){\"use strict\";t.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=i(),f=a();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=r(7261),i=r(9977),a=r(4192);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;s.flush=function(t){for(var e=this._controllerList,r=0;r0?o-4:o;for(r=0;r>16&255,c[u++]=e>>8&255,c[u++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,c[u++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,c[u++]=e>>8&255,c[u++]=255&e),c},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,c=n-i;sc?c:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+\"==\")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+\"=\")),a.join(\"\")};for(var r=[],n=[],i=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(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 l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join(\"\")}n[\"-\".charCodeAt(0)]=62,n[\"_\".charCodeAt(0)]=63},3865:function(t,e,r){\"use strict\";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},1318:function(t){\"use strict\";t.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},8697:function(t,e,r){\"use strict\";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},7842:function(t,e,r){\"use strict\";var n=r(6330),i=r(1533),a=r(2651),o=r(4387),s=r(869),l=r(8697);t.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c,u,h=0;if(i(e))c=e.clone();else if(\"string\"==typeof e)c=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))c=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),h-=256;c=a(e)}}if(n(r))c.mul(r[1]),u=r[0].clone();else if(i(r))u=r.clone();else if(\"string\"==typeof r)u=o(r);else if(r)if(r===Math.floor(r))u=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),h+=256;u=a(r)}else u=a(1);return h>0?c=c.ushln(h):h<0&&(u=u.ushln(-h)),s(c,u)}},6330:function(t,e,r){\"use strict\";var n=r(1533);t.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},5716:function(t,e,r){\"use strict\";var n=r(6859);t.exports=function(t){return t.cmp(new n(0))}},1369:function(t,e,r){\"use strict\";var n=r(5716);t.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},1533:function(t,e,r){\"use strict\";r(6859),t.exports=function(t){return t&&\"object\"==typeof t&&Boolean(t.words)}},2651:function(t,e,r){\"use strict\";var n=r(6859),i=r(2361);t.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},869:function(t,e,r){\"use strict\";var n=r(2651),i=r(5716);t.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},4387:function(t,e,r){\"use strict\";var n=r(6859);t.exports=function(t){return new n(t)}},6504:function(t,e,r){\"use strict\";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},7721:function(t,e,r){\"use strict\";var n=r(5716);t.exports=function(t){return n(t[0])*n(t[1])}},5572:function(t,e,r){\"use strict\";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},946:function(t,e,r){\"use strict\";var n=r(1369),i=r(4025);t.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4;return c*(s+(f=n(l.ushln(u).divRound(r)))*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53,f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):c*(f*=Math.pow(2,-1023))*Math.pow(2,1023-h)}},2478:function(t){\"use strict\";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return\"function\"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},8828:function(t,e){\"use strict\";function r(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}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.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},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.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},e.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},e.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},e.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},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},6859:function(t,e,r){!function(t,e){\"use strict\";function n(t,e){if(!t)throw new Error(e||\"Assertion failed\")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.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 t?t.exports=a:e.BN=a,a.BN=a,a.wordSize=26;try{o=\"undefined\"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(7790).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function c(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&\"object\"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.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 i=0;\"-\"===(t=t.toString().replace(/\\s+/g,\"\"))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\"le\"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?\"\"};var u=[\"\",\"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\"],h=[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],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c>>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=(i=0|t.words[d])*(a=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()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||\"hex\"===t){r=\"\";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?u[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.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 c=h[t],p=f[t];r=\"\";var d=this.clone();for(d.negative=0;!d.isZero();){var m=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?m+r:u[c-m.length]+m+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\")},a.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},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,\"byte array longer than desired length\"),n(a>0,\"Requested array length <= 0\"),this.strip();var o,s,l=\"le\"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s=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},a.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},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.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 i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(\"number\"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.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,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,m=p>>>13,g=0|o[2],y=8191&g,v=g>>>13,x=0|o[3],_=8191&x,b=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],C=8191&E,L=E>>>13,I=0|o[7],P=8191&I,z=I>>>13,O=0|o[8],D=8191&O,R=O>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,Z=0|s[2],W=8191&Z,Y=Z>>>13,X=0|s[3],$=8191&X,J=X>>>13,K=0|s[4],Q=8191&K,tt=K>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>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,mt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(c+(n=Math.imul(h,U))|0)+((8191&(i=(i=Math.imul(h,V))+Math.imul(f,U)|0))<<13)|0;c=((a=Math.imul(f,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(m,U)|0,a=Math.imul(m,V);var yt=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((a=a+Math.imul(f,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(v,U)|0,a=Math.imul(v,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0;var vt=(c+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(f,W)|0))<<13)|0;c=((a=a+Math.imul(f,Y)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(_,U),i=(i=Math.imul(_,V))+Math.imul(b,U)|0,a=Math.imul(b,V),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,G)|0,n=n+Math.imul(d,W)|0,i=(i=i+Math.imul(d,Y)|0)+Math.imul(m,W)|0,a=a+Math.imul(m,Y)|0;var xt=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,J)|0)+Math.imul(f,$)|0))<<13)|0;c=((a=a+Math.imul(f,J)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(_,H)|0,i=(i=i+Math.imul(_,G)|0)+Math.imul(b,H)|0,a=a+Math.imul(b,G)|0,n=n+Math.imul(y,W)|0,i=(i=i+Math.imul(y,Y)|0)+Math.imul(v,W)|0,a=a+Math.imul(v,Y)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(m,$)|0,a=a+Math.imul(m,J)|0;var _t=(c+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(f,Q)|0))<<13)|0;c=((a=a+Math.imul(f,tt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(_,W)|0,i=(i=i+Math.imul(_,Y)|0)+Math.imul(b,W)|0,a=a+Math.imul(b,Y)|0,n=n+Math.imul(y,$)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(v,$)|0,a=a+Math.imul(v,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,tt)|0;var bt=(c+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;c=((a=a+Math.imul(f,nt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(C,U),i=(i=Math.imul(C,V))+Math.imul(L,U)|0,a=Math.imul(L,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(k,W)|0,a=a+Math.imul(k,Y)|0,n=n+Math.imul(_,$)|0,i=(i=i+Math.imul(_,J)|0)+Math.imul(b,$)|0,a=a+Math.imul(b,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0;var wt=(c+(n=n+Math.imul(h,at)|0)|0)+((8191&(i=(i=i+Math.imul(h,ot)|0)+Math.imul(f,at)|0))<<13)|0;c=((a=a+Math.imul(f,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,V))+Math.imul(z,U)|0,a=Math.imul(z,V),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,Y)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(k,$)|0,a=a+Math.imul(k,J)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(b,Q)|0,a=a+Math.imul(b,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(v,rt)|0,a=a+Math.imul(v,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0;var Tt=(c+(n=n+Math.imul(h,lt)|0)|0)+((8191&(i=(i=i+Math.imul(h,ct)|0)+Math.imul(f,lt)|0))<<13)|0;c=((a=a+Math.imul(f,ct)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(z,H)|0,a=a+Math.imul(z,G)|0,n=n+Math.imul(C,W)|0,i=(i=i+Math.imul(C,Y)|0)+Math.imul(L,W)|0,a=a+Math.imul(L,Y)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(b,rt)|0,a=a+Math.imul(b,nt)|0,n=n+Math.imul(y,at)|0,i=(i=i+Math.imul(y,ot)|0)+Math.imul(v,at)|0,a=a+Math.imul(v,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ct)|0;var kt=(c+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;c=((a=a+Math.imul(f,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,Y)|0)+Math.imul(z,W)|0,a=a+Math.imul(z,Y)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,J)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(_,at)|0,i=(i=i+Math.imul(_,ot)|0)+Math.imul(b,at)|0,a=a+Math.imul(b,ot)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,a=a+Math.imul(v,ct)|0,n=n+Math.imul(d,ht)|0,i=(i=i+Math.imul(d,ft)|0)+Math.imul(m,ht)|0,a=a+Math.imul(m,ft)|0;var At=(c+(n=n+Math.imul(h,dt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(f,dt)|0))<<13)|0;c=((a=a+Math.imul(f,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(D,W)|0,i=(i=i+Math.imul(D,Y)|0)+Math.imul(R,W)|0,a=a+Math.imul(R,Y)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(z,$)|0,a=a+Math.imul(z,J)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(L,Q)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,ct)|0)+Math.imul(b,lt)|0,a=a+Math.imul(b,ct)|0,n=n+Math.imul(y,ht)|0,i=(i=i+Math.imul(y,ft)|0)+Math.imul(v,ht)|0,a=a+Math.imul(v,ft)|0;var Mt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,mt)|0)+Math.imul(m,dt)|0))<<13)|0;c=((a=a+Math.imul(m,mt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,W),i=(i=Math.imul(B,Y))+Math.imul(N,W)|0,a=Math.imul(N,Y),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(z,Q)|0,a=a+Math.imul(z,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ct)|0,n=n+Math.imul(_,ht)|0,i=(i=i+Math.imul(_,ft)|0)+Math.imul(b,ht)|0,a=a+Math.imul(b,ft)|0;var St=(c+(n=n+Math.imul(y,dt)|0)|0)+((8191&(i=(i=i+Math.imul(y,mt)|0)+Math.imul(v,dt)|0))<<13)|0;c=((a=a+Math.imul(v,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,J))+Math.imul(N,$)|0,a=Math.imul(N,J),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(z,rt)|0,a=a+Math.imul(z,nt)|0,n=n+Math.imul(C,at)|0,i=(i=i+Math.imul(C,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(k,ht)|0,a=a+Math.imul(k,ft)|0;var Et=(c+(n=n+Math.imul(_,dt)|0)|0)+((8191&(i=(i=i+Math.imul(_,mt)|0)+Math.imul(b,dt)|0))<<13)|0;c=((a=a+Math.imul(b,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(z,at)|0,a=a+Math.imul(z,ot)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ct)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(S,ht)|0,a=a+Math.imul(S,ft)|0;var Ct=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(k,dt)|0))<<13)|0;c=((a=a+Math.imul(k,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ct)|0)+Math.imul(z,lt)|0,a=a+Math.imul(z,ct)|0,n=n+Math.imul(C,ht)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(L,ht)|0,a=a+Math.imul(L,ft)|0;var Lt=(c+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,mt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(z,ht)|0,a=a+Math.imul(z,ft)|0;var It=(c+(n=n+Math.imul(C,dt)|0)|0)+((8191&(i=(i=i+Math.imul(C,mt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((a=a+Math.imul(L,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(D,ht)|0,i=(i=i+Math.imul(D,ft)|0)+Math.imul(R,ht)|0,a=a+Math.imul(R,ft)|0;var Pt=(c+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,mt)|0)+Math.imul(z,dt)|0))<<13)|0;c=((a=a+Math.imul(z,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,ht),i=(i=Math.imul(B,ft))+Math.imul(N,ht)|0,a=Math.imul(N,ft);var zt=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(i=(i=i+Math.imul(D,mt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,mt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863;var Ot=(c+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,mt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,mt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,l[0]=gt,l[1]=yt,l[2]=vt,l[3]=xt,l[4]=_t,l[5]=bt,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=It,l[16]=Pt,l[17]=zt,l[18]=Ot,0!==c&&(l[19]=c,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):n<63?p(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,c=0;c=0&&(0!==u||c>=i);c--){var h=0|this.words[c];this.words[c]=u<<26-a|h>>>a,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=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 i=67108863^67108863>>>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},a.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>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(\"mod\"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c=0;h--){var f=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(i,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,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}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\"mod\"!==e&&(i=s.div.neg()),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\"mod\"!==e&&(i=s.div.neg()),{div:i,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 a(0),mod:this}:1===t.length?\"div\"===e?{div:this.divn(t.words[0]),mod:null}:\"mod\"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,\"div\",!1).div},a.prototype.mod=function(t){return this.divmod(t,\"mod\",!1).mod},a.prototype.umod=function(t){return this.divmod(t,\"mod\",!0).mod},a.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),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.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 i=new a(1),o=new a(0),s=new a(0),l=new a(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;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(h)),i.iushrn(1),o.iushrn(1);for(var d=0,m=1;0==(r.words[0]&m)&&d<26;++d,m<<=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),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.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 i,o=new a(1),s=new a(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(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.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 i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n(\"number\"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(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 i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.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)},a.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){v.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function _(){v.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function b(){v.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function w(){v.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function T(t){if(\"string\"==typeof t){var e=a._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){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.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=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(x,v),x.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,a=o}a>>>=22,t.words[i-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},x.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>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if(\"k256\"===t)e=new x;else if(\"p224\"===t)e=new _;else if(\"p192\"===t)e=new b;else{if(\"p25519\"!==t)throw new Error(\"Unknown prime \"+t);e=new w}return y[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,\"red works only with positives\"),n(t.red,\"red works only with red numbers\")},T.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\")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.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)},T.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},T.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)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.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 a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,i),f=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var m=p,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var h=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4==++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),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),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},6204:function(t){\"use strict\";t.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(u<=0)){var h,f=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,f,p))>0){if(1===u&&n)a.init(s),h=a.sweepComplete(u,r,0,s,f,p,0,s,f,p);else{var d=i.mallocDouble(2*u*c),m=i.mallocInt32(c);(c=l(e,u,d,m))>0&&(a.init(s+c),h=1===u?a.sweepBipartite(u,r,0,s,f,p,0,c,d,m):o(u,r,n,s,f,p,c,d,m),i.free(d),i.free(m))}i.free(f),i.free(p)}return h}}}function u(t,e){n.push([t,e])}},2455:function(t,e){\"use strict\";function r(t){return t?function(t,e,r,n,i,a,o,s,l,c,u){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,c,u){for(var h=2*t,f=n,p=h*n;fc-l?n?function(t,e,r,n,i,a,o,s,l,c,u){for(var h=2*t,f=n,p=h*n;f0;){var O=(P-=1)*_,D=w[O],R=w[O+1],F=w[O+2],B=w[O+3],N=w[O+4],j=w[O+5],U=P*b,V=T[U],q=T[U+1],H=1&j,G=!!(16&j),Z=u,W=S,Y=C,X=L;if(H&&(Z=C,W=L,Y=u,X=S),!(2&j&&R>=(F=g(t,D,R,F,Z,W,q))||4&j&&(R=y(t,D,R,F,Z,W,V))>=F)){var $=F-R,J=N-B;if(G){if(t*$*($+J)=p0)&&!(p1>=hi)\"),m=u(\"lo===p0\"),g=u(\"lo>>1,f=2*t,p=h,d=s[f*h+e];c=x?(p=v,d=x):y>=b?(p=g,d=y):(p=_,d=b):x>=b?(p=v,d=x):b>=y?(p=g,d=y):(p=_,d=b);for(var w=f*(u-1),T=f*p,k=0;kr&&i[h+e]>c;--u,h-=o){for(var f=h,p=h+o,d=0;df;++f,l+=s)if(i[l+h]===o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},\"lof;++f,l+=s)if(i[l+h]p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},\"lo<=p0\":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,h=t+e,f=r;n>f;++f,l+=s)if(i[l+h]<=o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},\"hi<=p0\":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,h=t+e,f=r;n>f;++f,l+=s)if(i[l+h]<=o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},\"lop;++p,l+=s){var d=i[l+h],m=i[l+f];if(dg;++g){var y=i[l+g];i[l+g]=i[c],i[c++]=y}var v=a[p];a[p]=a[u],a[u++]=v}}return u},\"lo<=p0&&p0<=hi\":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,h=e,f=t+e,p=r;n>p;++p,l+=s){var d=i[l+h],m=i[l+f];if(d<=o&&o<=m)if(u===p)u+=1,c+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[c],i[c++]=y}var v=a[p];a[p]=a[u],a[u++]=v}}return u},\"!(lo>=p0)&&!(p1>=hi)\":function(t,e,r,n,i,a,o,s){for(var l=2*t,c=l*r,u=c,h=r,f=e,p=t+e,d=r;n>d;++d,c+=l){var m=i[c+f],g=i[c+p];if(!(m>=o||s>=g))if(h===d)h+=1,u+=l;else{for(var y=0;l>y;++y){var v=i[c+y];i[c+y]=i[u],i[u++]=v}var x=a[d];a[d]=a[h],a[h++]=x}}return h}}},1811:function(t){\"use strict\";t.exports=function(t,n){n<=4*e?r(0,n-1,t):c(0,n-1,t)};var e=32;function r(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(cr[e+1])}function l(t,e,r,n){var i=n[t*=2];return i>1,g=m-f,y=m+f,v=p,x=g,_=m,b=y,w=d,T=t+1,k=u-1,A=0;s(v,x,h)&&(A=v,v=x,x=A),s(b,w,h)&&(A=b,b=w,w=A),s(v,_,h)&&(A=v,v=_,_=A),s(x,_,h)&&(A=x,x=_,_=A),s(v,b,h)&&(A=v,v=b,b=A),s(_,b,h)&&(A=_,_=b,b=A),s(x,w,h)&&(A=x,x=w,w=A),s(x,_,h)&&(A=x,x=_,_=A),s(b,w,h)&&(A=b,b=w,w=A);for(var M=h[2*x],S=h[2*x+1],E=h[2*b],C=h[2*b+1],L=2*v,I=2*_,P=2*w,z=2*p,O=2*m,D=2*d,R=0;R<2;++R){var F=h[L+R],B=h[I+R],N=h[P+R];h[z+R]=F,h[O+R]=B,h[D+R]=N}i(g,t,h),i(y,u,h);for(var j=T;j<=k;++j)if(l(j,M,S,h))j!==T&&n(j,T,h),++T;else if(!l(j,E,C,h))for(;;){if(l(k,E,C,h)){l(k,M,S,h)?(a(j,T,k,h),++T,--k):(n(j,k,h),--k);break}if(--k>>1;a(d,S);var E=0,C=0;for(T=0;T=o)m(u,h,C--,L=L-o|0);else if(L>=0)m(l,c,E--,L);else if(L<=-o){L=-L-o|0;for(var I=0;I>>1;a(d,E);var C=0,L=0,I=0;for(k=0;k>1==d[2*k+3]>>1&&(z=2,k+=1),P<0){for(var O=-(P>>1)-1,D=0;D>1)-1,0===z?m(l,c,C--,O):1===z?m(u,h,L--,O):2===z&&m(f,p,I--,O)}},scanBipartite:function(t,e,r,n,i,s,u,h,f,p,y,v){var x=0,_=2*t,b=e,w=e+t,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,C);var L=0;for(A=0;A=o?(P=!n,M-=o):(P=!!n,M-=1),P)g(l,c,L++,M);else{var z=v[M],O=_*M,D=y[O+e+1],R=y[O+e+1+t];t:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=_-o;else{var M=p[_-=1],S=g*_,E=f[S+e+1],C=f[S+e+1+t];t:for(var L=0;L=0;--L)if(l[L]===_){for(O=L+1;O0;){for(var p=r.pop(),d=(u=-1,h=-1,l=o[s=r.pop()],1);d=0||(e.flip(s,p),i(t,e,r,u,s,h),i(t,e,r,s,h,u),i(t,e,r,h,p,u),i(t,e,r,p,u,h))}}},5023:function(t,e,r){\"use strict\";var n,i=r(2478);function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}t.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i,u[p];for(var d=0;d<3;++d){var m=f[3*p+d];m>=0&&0===c[m]&&(h[3*p+d]?l.push(m):(s.push(m),c[m]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(t,e,r){for(var n=0,i=0;i1&&i(r[f[p-2]],r[f[p-1]],a)>0;)t.push([f[p-1],f[p-2],o]),p-=1;f.length=p,f.push(o);var d=h.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function u(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var m=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([m,1],[m,0],-1,[],[],[],[])],y=[],v=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function y(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[u=(S=n[a])[0]],_=x[0],b=x[1],w=t[_],T=t[b];if((w[0]-T[0]||w[1]-T[1])<0){var k=_;_=b,b=k}x[0]=_;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,b,A]):e.push([M,b])}return f}(t,e,f,m,r),v=d(t,g);return y(e,v,r),!!v||f.length>0||m.length>0}},3637:function(t,e,r){\"use strict\";t.exports=function(t,e,r,n){var a=s(e,t),h=s(n,r),f=u(a,h);if(0===o(f))return null;var p=u(h,s(t,r)),d=i(p,f),m=c(a,d);return l(t,m)};var n=r(6504),i=r(8697),a=r(5572),o=r(7721),s=r(544),l=r(2653),c=r(8987);function u(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},3642:function(t){t.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],\"rainbow-soft\":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],\"freesurface-blue\":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],\"freesurface-red\":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],\"velocity-blue\":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],\"velocity-green\":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},6729:function(t,e,r){\"use strict\";var n=r(3642),i=r(395);function a(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(\",\")+\")\"}t.exports=function(t){var e,r,l,c,u,h,f,p,d,m;if(t||(t={}),p=(t.nshades||72)-1,f=t.format||\"hex\",(h=t.colormap)||(h=\"jet\"),\"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 g=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[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(m=0;m0||l(t,e,a)?-1:1:0===s?c>0||l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);return h>0?o>0&&n(t,e,a)>0?1:-1:h<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=r(3250),i=r(8572),a=r(9362),o=r(5382),s=r(8210);function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},8572:function(t){\"use strict\";t.exports=function(t){return t<0?-1:t>0?1:0}},8507:function(t){t.exports=function(t,n){var i=t.length,a=t.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return t[0]-n[0];case 2:return t[0]+t[1]-n[0]-n[1]||e(t[0],t[1])-e(n[0],n[1]);case 3:var o=t[0]+t[1],s=n[0]+n[1];if(a=o+t[2]-(s+n[2]))return a;var l=e(t[0],t[1]),c=e(n[0],n[1]);return e(l,t[2])-e(c,n[2])||e(l+t[2],o)-e(c+n[2],s);case 4:var u=t[0],h=t[1],f=t[2],p=t[3],d=n[0],m=n[1],g=n[2],y=n[3];return u+h+f+p-(d+m+g+y)||e(u,h,f,p)-e(d,m,g,y,d)||e(u+h,u+f,u+p,h+f,h+p,f+p)-e(d+m,d+g,d+y,m+g,m+y,g+y)||e(u+h+f,u+h+p,u+f+p,h+f+p)-e(d+m+g,d+m+y,d+g+y,m+g+y);default:for(var v=t.slice().sort(r),x=n.slice().sort(r),_=0;_t[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},4750:function(t,e,r){\"use strict\";t.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=r(8954),i=r(3952)},4769:function(t){\"use strict\";t.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,h=s*(3-2*i),f=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+h*r[p]+f*n[p];return a}return c*t+u*e+h*r+f*n},t.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},7642:function(t,e,r){\"use strict\";var n=r(8954),i=r(1682);function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):b.filter((function(t){for(var e=0;e<=s;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0})),1&s)for(u=0;u>>31},t.exports.exponent=function(e){return(t.exports.hi(e)<<1>>>21)-1023},t.exports.fraction=function(e){var r=t.exports.lo(e),n=t.exports.hi(e),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},t.exports.denormalized=function(e){return!(2146435072&t.exports.hi(e))}},1338:function(t){\"use strict\";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){f=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var u=s.length-1,h=(e[r-1],0);h=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--h)n.push(a(l[h-1],c[h-1],arguments[h])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var f=r;f>0;--f){var p=a(c[f-1],u[f-1],arguments[f]);n.push(p),i.push((p-n[o++])*h)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(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,i=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(a(l[f-1],c[f-1],n[o++]+p)),i.push(p*h)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--h)n.push(a(l[h],c[h],n[o]+u*i[o])),i.push(0),o+=1}}},3840:function(t){\"use strict\";function e(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function r(t){return new e(t._color,t.key,t.value,t.left,t.right,t._count)}function n(t,r){return new e(t,r.key,r.value,r.left,r.right,r._count)}function i(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function a(t,e){this._compare=t,this.root=e}t.exports=function(t){return new a(t||p,null)};var o=a.prototype;function s(t,e){var r;return e.left&&(r=s(t,e.left))?r:(r=t(e.key,e.value))||(e.right?s(t,e.right):void 0)}function l(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left&&(i=l(t,e,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(t,e,r,n.right)}function c(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=c(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return c(t,e,r,n,i.right)}function u(t,e){this.tree=t,this._stack=e}Object.defineProperty(o,\"keys\",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(o,\"values\",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(o,\"length\",{get:function(){return this.root?this.root._count:0}}),o.insert=function(t,r){for(var o=this._compare,s=this.root,l=[],c=[];s;){var u=o(t,s.key);l.push(s),c.push(u),s=u<=0?s.left:s.right}l.push(new e(0,t,r,null,null,1));for(var h=l.length-2;h>=0;--h)s=l[h],c[h]<=0?l[h]=new e(s._color,s.key,s.value,l[h+1],s.right,s._count+1):l[h]=new e(s._color,s.key,s.value,s.left,l[h+1],s._count+1);for(h=l.length-1;h>1;--h){var f=l[h-1];if(s=l[h],1===f._color||1===s._color)break;var p=l[h-2];if(p.left===f)if(f.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=f.right,f._color=1,f.right=p,l[h-2]=f,l[h-1]=s,i(p),i(f),h>=3&&((m=l[h-3]).left===p?m.left=f:m.right=f);break}f._color=1,p.right=n(1,d),p._color=0,h-=1}else{if(!(d=p.right)||0!==d._color){f.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=f,s.right=p,l[h-2]=s,l[h-1]=f,i(p),i(f),i(s),h>=3&&((m=l[h-3]).left===p?m.left=s:m.right=s);break}f._color=1,p.right=n(1,d),p._color=0,h-=1}else if(f.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=f.left,f._color=1,f.left=p,l[h-2]=f,l[h-1]=s,i(p),i(f),h>=3&&((m=l[h-3]).right===p?m.right=f:m.left=f);break}f._color=1,p.left=n(1,d),p._color=0,h-=1}else{var d;if(!(d=p.left)||0!==d._color){var m;f.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=f,s.left=p,l[h-2]=s,l[h-1]=f,i(p),i(f),i(s),h>=3&&((m=l[h-3]).right===p?m.right=s:m.left=s);break}f._color=1,p.left=n(1,d),p._color=0,h-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return s(t,this.root);case 2:return l(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return c(e,r,this._compare,t,this.root)}},Object.defineProperty(o,\"begin\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new u(this,t)}}),Object.defineProperty(o,\"end\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new u(this,t)}}),o.at=function(t){if(t<0)return new u(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new u(this,[])},o.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new u(this,n)},o.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new u(this,n)},o.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new u(this,n)},o.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new u(this,n)},o.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new u(this,n);r=i<=0?r.left:r.right}return new u(this,[])},o.remove=function(t){var e=this.find(t);return e?e.remove():this},o.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 h=u.prototype;function f(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 p(t,e){return te?1:0}Object.defineProperty(h,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new u(this.tree,this._stack.slice())},h.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var o=new Array(t.length),s=t[t.length-1];o[o.length-1]=new e(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=t.length-2;l>=0;--l)(s=t[l]).left===t[l+1]?o[l]=new e(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var c=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var u=o[c-1];for(o.push(new e(s._color,u.key,u.value,s.left,s.right,s._count)),o[c-1].key=s.key,o[c-1].value=s.value,l=o.length-2;l>=c;--l)s=o[l],o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);o[c-1].left=o[c]}if(0===(s=o[o.length-1])._color){var h=o[o.length-2];for(h.left===s?h.left=null:h.right===s&&(h.right=null),o.pop(),l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((a=t[l-1]).left===e){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((c=t[l-2]).left===a?c.left=o:c.right=o),void(t[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((c=t[l-2]).left===a?c.left=s:c.right=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((c=t[l-2]).left===a?c.left=o:c.right=o),t[l-1]=o,t[l]=a,l+11&&((c=t[l-2]).right===a?c.right=o:c.left=o),void(t[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((c=t[l-2]).right===a?c.right=s:c.left=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var c;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((c=t[l-2]).right===a?c.right=o:c.left=o),t[l-1]=o,t[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,\"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}),h.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(h,\"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}}),h.update=function(t){var r=this._stack;if(0===r.length)throw new Error(\"Can't update empty node!\");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new e(i._color,i.key,t,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new e(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new e(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},h.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(h,\"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}})},3837:function(t,e,r){\"use strict\";t.exports=function(t,e){var r=new p(t);return r.update(e),r};var n=r(4935),i=r(501),a=r(5304),o=r(6429),s=r(6444),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),c=ArrayBuffer,u=DataView;function h(t){return Array.isArray(t)||function(t){return c.isView(t)&&!(t instanceof u)}(t)}function f(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(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.tickFontStyle=[\"normal\",\"normal\",\"normal\"],this.tickFontWeight=[\"normal\",\"normal\",\"normal\"],this.tickFontVariant=[\"normal\",\"normal\",\"normal\"],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\",\"sans-serif\",\"sans-serif\"],this.labelFontStyle=[\"normal\",\"normal\",\"normal\"],this.labelFontWeight=[\"normal\",\"normal\",\"normal\"],this.labelFontVariant=[\"normal\",\"normal\",\"normal\"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=[\"auto\",\"auto\",\"auto\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(t)}var d=p.prototype;function m(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}d.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?h(a)&&h(a[0]):h(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=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(h(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,f=!1;if(\"bounds\"in t)for(var p=t.bounds,d=0;d<2;++d)for(var m=0;m<3;++m)p[d][m]!==this.bounds[d][m]&&(f=!0),this.bounds[d][m]=p[d][m];if(\"ticks\"in t)for(r=t.ticks,u=!0,this.autoTicks=!1,d=0;d<3;++d)this.tickSpacing[d]=0;else a(\"tickSpacing\")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&(\"ticks\"in t||\"tickSpacing\"in t||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(d=0;d<3;++d)r[d].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),l(\"tickFontStyle\")&&(u=!0),l(\"tickFontWeight\")&&(u=!0),l(\"tickFontVariant\")&&(u=!0),a(\"tickSize\"),a(\"tickAngle\"),a(\"tickPad\"),c(\"tickColor\");var g=l(\"labels\");l(\"labelFont\")&&(g=!0),l(\"labelFontStyle\")&&(g=!0),l(\"labelFontWeight\")&&(g=!0),l(\"labelFontVariant\")&&(g=!0),o(\"labelEnable\"),a(\"labelSize\"),a(\"labelPad\"),c(\"labelColor\"),o(\"lineEnable\"),o(\"lineMirror\"),a(\"lineWidth\"),c(\"lineColor\"),o(\"lineTickEnable\"),o(\"lineTickMirror\"),a(\"lineTickLength\"),a(\"lineTickWidth\"),c(\"lineTickColor\"),o(\"gridEnable\"),a(\"gridWidth\"),c(\"gridColor\"),o(\"zeroEnable\"),c(\"zeroLineColor\"),a(\"zeroLineWidth\"),o(\"backgroundEnable\"),c(\"backgroundColor\");var y=[{family:this.labelFont[0],style:this.labelFontStyle[0],weight:this.labelFontWeight[0],variant:this.labelFontVariant[0]},{family:this.labelFont[1],style:this.labelFontStyle[1],weight:this.labelFontWeight[1],variant:this.labelFontVariant[1]},{family:this.labelFont[2],style:this.labelFontStyle[2],weight:this.labelFontWeight[2],variant:this.labelFontVariant[2]}],v=[{family:this.tickFont[0],style:this.tickFontStyle[0],weight:this.tickFontWeight[0],variant:this.tickFontVariant[0]},{family:this.tickFont[1],style:this.tickFontStyle[1],weight:this.tickFontWeight[1],variant:this.tickFontVariant[1]},{family:this.tickFont[2],style:this.tickFontStyle[2],weight:this.tickFontWeight[2],variant:this.tickFontVariant[2]}];this._text?this._text&&(g||u)&&this._text.update(this.bounds,this.labels,y,this.ticks,v):this._text=n(this.gl,this.bounds,this.labels,y,this.ticks,v),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var g=[new m,new m,new m];function y(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var h=a,f=s,p=o,d=l;c&1<0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var v=[0,0,0],x={model:l,view:l,projection:l,_ortho:!1};d.isOpaque=function(){return!0},d.isTransparent=function(){return!1},d.drawTransparent=function(t){};var _=[0,0,0],b=[0,0,0],w=[0,0,0];d.draw=function(t){t=t||x;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,c=o(r,n,i,a,s),u=c.cubeEdges,h=c.axis,p=n[12],d=n[13],m=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*p+i[7]*d+i[11]*m+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=u[A],this.lastCubeProps.axis[A]=h[A];var M=g;for(A=0;A<3;++A)y(g[A],A,this.bounds,u,h);e=this.gl;var S,E,C,L=v;for(A=0;A<3;++A)this.backgroundEnable[A]?L[A]=h[A]:L[A]=0;for(this._background.draw(r,n,i,a,L,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var I=[0,0,0];h[A]>0?I[A]=a[1][A]:I[A]=a[0][A];for(var P=0;P<2;++P){var z=(A+1+P)%3,O=(A+1+(1^P))%3;this.gridEnable[z]&&this._lines.drawGrid(z,O,this.bounds,I,this.gridColor[z],this.gridWidth[z]*this.pixelRatio)}for(P=0;P<2;++P)z=(A+1+P)%3,O=(A+1+(1^P))%3,this.zeroEnable[O]&&Math.min(a[0][O],a[1][O])<=0&&Math.max(a[0][O],a[1][O])>=0&&this._lines.drawZero(z,O,this.bounds,I,this.zeroLineColor[O],this.zeroLineWidth[O]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var D=f(_,M[A].primalMinor),R=f(b,M[A].mirrorMinor),F=this.lineTickLength;for(P=0;P<3;++P){var B=k/r[5*P];D[P]*=F[P]*B,R[P]*=F[P]*B}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,D,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,R,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function N(t){(C=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,q=f(w,M[A].primalOffset);for(P=0;P<3;++P)this.lineTickEnable[A]&&(q[P]+=k*U[P]*Math.max(this.lineTickLength[P],0)/r[5*P]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]=\"auto\"):this.tickAlign[A]=-1,E=1,\"auto\"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]),C=[0,0,0],j(A,U,V),P=0;P<3;++P)q[P]+=k*U[P]*this.tickPad[P]/r[5*P];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,C,S)}if(this.labelEnable[A]){for(E=0,C=[0,0,0],this.labels[A].length>4&&(N(A),E=1),\"auto\"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]),P=0;P<3;++P)q[P]+=k*U[P]*this.labelPad[P]/r[5*P];q[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],C,S)}}this._text.unbind()},d.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},5304:function(t,e,r){\"use strict\";t.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 m=-1;m<=1;m+=2)h[u]=m,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),s+=1}var g=c;c=u,u=g}var y=n(t,new Float32Array(e)),v=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:y,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:t.FLOAT,size:3,offset:12,stride:24}],v),_=a(t);return _.attributes.position.location=0,_.attributes.normal.location=1,new o(t,y,x,_)};var n=r(2762),i=r(8116),a=r(1879).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,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},6429:function(t,e,r){\"use strict\";t.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var v=0,x=0;x<2;++x){u[2]=a[x][2];for(var _=0;_<2;++_){u[1]=a[_][1];for(var b=0;b<2;++b)u[0]=a[b][0],f(l[v],u,s),v+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)c[x][k]=l[x][k]/T;p&&(c[x][2]*=-1),T<0&&(w<0||c[x][2]E&&(w|=1<E&&(w|=1<c[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<c[B][0]&&(B=N))}var j=m;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===D?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,q=w;for(A=0;A<3;++A)V[A]=q&1< 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}\\n\"]),l=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\nvoid main() {\\n gl_FragColor = color;\\n}\"]);e.Q=function(t){return i(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}\\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}\"]);e.bg=function(t){return i(t,c,u,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},4935:function(t,e,r){\"use strict\";t.exports=function(t,e,r,i,o,l){var c=n(t),h=a(t,[{buffer:c,size:3}]),f=s(t);f.attributes.position.location=0;var p=new u(t,f,c,h);return p.update(e,r,i,o,l),p};var n=r(2762),a=r(8116),o=r(4359),s=r(1879).Q,l=window||i.global||{},c=l.__TEXT_CACHE||{};function u(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}l.__TEXT_CACHE={};var h=u.prototype,f=[0,0];h.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},h.unbind=function(){this.vao.unbind()},h.update=function(t,e,r,n,i){var a=[];function s(t,e,r,n,i,s){var l=[r.style,r.weight,r.variant,r.family].join(\"_\"),u=c[l];u||(u=c[l]={});var h=u[e];h||(h=u[e]=function(t,e){try{return o(t,e)}catch(e){return console.warn('error vectorizing text:\"'+t+'\" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r.family,fontStyle:r.style,fontWeight:r.weight,fontVariant:r.variant,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,p=h.positions,d=h.cells,m=0,g=d.length;m=0;--v){var x=p[y[v]];a.push(f*x[0],-f*x[1],t)}}for(var l=[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]=a.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),f[d]=(a.length/3|0)-h[d],l[d]=a.length/3|0;for(var m=0;m=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\"\";if(s.indexOf(\"e\")>=0)return s;var l=o/a,c=o%a;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),i){for(var h=\"\"+c;h.length=t[0][i];--o)a.push({x:o*e[i],text:r(e[i],o)});n.push(a)}return n},e.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=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=a(s,t.shape);i.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}},t.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 i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},6405:function(t,e,r){\"use strict\";var n=r(2931);t.exports=function(t,e){var r=t.positions,i=t.vectors,a={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]),a;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,m=[],g=1/0,y=!1,v=\"raw\"===t.coneSizemode,x=0;xo&&(o=n.length(b)),x&&!v){var w=2*n.distance(p,_)/(n.length(d)+n.length(b));w?(g=Math.min(g,w),y=!1):y=!0}y||(p=_,d=b),m.push(b)}var T=[s,c,h],k=[l,u,f];e&&(e[0]=T,e[1]=k),0===o&&(o=1);var A=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=t.coneSize||(v?1:.5);t.absoluteConeSize&&(M=t.absoluteConeSize*A),a.coneScale=M,x=0;for(var S=0;x=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 i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=i;var f=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,m=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],m=+t.vertexIntensityBounds[1];else for(var g=0;g0){var m=this.triShader;m.bind(),m.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,i=t.projection||h,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),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),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return\"cone\"===this.traceType?i.index=Math.floor(r[1]/48):\"streamtube\"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},t.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=i(t),d=i(t),m=i(t),g=i(t),y=i(t),v=new f(t,h,l,u,p,d,y,m,g,a(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:m,type:t.FLOAT,size:4},{buffer:g,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||\"cone\");return v.update(e),v}},614:function(t,e,r){var n=r(3236),i=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n // Return up-vector for only-z vector.\\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n// segment + 0 top vertex\\n// segment + 1 perimeter vertex a+1\\n// segment + 2 perimeter vertex a\\n// segment + 3 center base vertex\\n// segment + 4 perimeter vertex a\\n// segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\\n\\n const float segmentCount = 8.0;\\n\\n float index = rawIndex - floor(rawIndex /\\n (segmentCount * 6.0)) *\\n (segmentCount * 6.0);\\n\\n float segment = floor(0.001 + index/6.0);\\n float segmentIndex = index - (segment*6.0);\\n\\n normal = -normalize(d);\\n\\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\\n return mix(vec3(0.0), -d, coneOffset);\\n }\\n\\n float nextAngle = (\\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\\n (segmentIndex > 4.99 && segmentIndex < 5.01)\\n ) ? 1.0 : 0.0;\\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n vec3 v2 = v1 - d;\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d)*0.25;\\n vec3 y = v * sin(angle) * length(d)*0.25;\\n vec3 v3 = v2 + x + y;\\n if (segmentIndex < 3.0) {\\n vec3 tx = u * sin(angle);\\n vec3 ty = v * -cos(angle);\\n vec3 tangent = tx + ty;\\n normal = normalize(cross(v3 - v1, tangent));\\n }\\n\\n if (segmentIndex == 0.0) {\\n return mix(d, vec3(0.0), coneOffset);\\n }\\n return v3;\\n}\\n\\nattribute vec3 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\n\\nuniform float vectorScale, coneScale, coneOffset;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 eyePosition, lightPosition;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n // Scale the vector magnitude to stay constant with\\n // model & view changes.\\n vec3 normal;\\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * conePosition;\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n // vec4 m_position = model * vec4(conePosition, 1.0);\\n vec4 t_position = view * conePosition;\\n gl_Position = projection * t_position;\\n\\n f_color = color;\\n f_data = conePosition.xyz;\\n f_position = position.xyz;\\n f_uv = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n // Return up-vector for only-z vector.\\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n// segment + 0 top vertex\\n// segment + 1 perimeter vertex a+1\\n// segment + 2 perimeter vertex a\\n// segment + 3 center base vertex\\n// segment + 4 perimeter vertex a\\n// segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\\n\\n const float segmentCount = 8.0;\\n\\n float index = rawIndex - floor(rawIndex /\\n (segmentCount * 6.0)) *\\n (segmentCount * 6.0);\\n\\n float segment = floor(0.001 + index/6.0);\\n float segmentIndex = index - (segment*6.0);\\n\\n normal = -normalize(d);\\n\\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\\n return mix(vec3(0.0), -d, coneOffset);\\n }\\n\\n float nextAngle = (\\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\\n (segmentIndex > 4.99 && segmentIndex < 5.01)\\n ) ? 1.0 : 0.0;\\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n vec3 v2 = v1 - d;\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d)*0.25;\\n vec3 y = v * sin(angle) * length(d)*0.25;\\n vec3 v3 = v2 + x + y;\\n if (segmentIndex < 3.0) {\\n vec3 tx = u * sin(angle);\\n vec3 ty = v * -cos(angle);\\n vec3 tangent = tx + ty;\\n normal = normalize(cross(v3 - v1, tangent));\\n }\\n\\n if (segmentIndex == 0.0) {\\n return mix(d, vec3(0.0), coneOffset);\\n }\\n return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float vectorScale, coneScale, coneOffset;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n vec3 normal;\\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n gl_Position = projection * (view * conePosition);\\n f_id = id;\\n f_position = position.xyz;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},737:function(t){t.exports={0:\"NONE\",1:\"ONE\",2:\"LINE_LOOP\",3:\"LINE_STRIP\",4:\"TRIANGLES\",5:\"TRIANGLE_STRIP\",6:\"TRIANGLE_FAN\",256:\"DEPTH_BUFFER_BIT\",512:\"NEVER\",513:\"LESS\",514:\"EQUAL\",515:\"LEQUAL\",516:\"GREATER\",517:\"NOTEQUAL\",518:\"GEQUAL\",519:\"ALWAYS\",768:\"SRC_COLOR\",769:\"ONE_MINUS_SRC_COLOR\",770:\"SRC_ALPHA\",771:\"ONE_MINUS_SRC_ALPHA\",772:\"DST_ALPHA\",773:\"ONE_MINUS_DST_ALPHA\",774:\"DST_COLOR\",775:\"ONE_MINUS_DST_COLOR\",776:\"SRC_ALPHA_SATURATE\",1024:\"STENCIL_BUFFER_BIT\",1028:\"FRONT\",1029:\"BACK\",1032:\"FRONT_AND_BACK\",1280:\"INVALID_ENUM\",1281:\"INVALID_VALUE\",1282:\"INVALID_OPERATION\",1285:\"OUT_OF_MEMORY\",1286:\"INVALID_FRAMEBUFFER_OPERATION\",2304:\"CW\",2305:\"CCW\",2849:\"LINE_WIDTH\",2884:\"CULL_FACE\",2885:\"CULL_FACE_MODE\",2886:\"FRONT_FACE\",2928:\"DEPTH_RANGE\",2929:\"DEPTH_TEST\",2930:\"DEPTH_WRITEMASK\",2931:\"DEPTH_CLEAR_VALUE\",2932:\"DEPTH_FUNC\",2960:\"STENCIL_TEST\",2961:\"STENCIL_CLEAR_VALUE\",2962:\"STENCIL_FUNC\",2963:\"STENCIL_VALUE_MASK\",2964:\"STENCIL_FAIL\",2965:\"STENCIL_PASS_DEPTH_FAIL\",2966:\"STENCIL_PASS_DEPTH_PASS\",2967:\"STENCIL_REF\",2968:\"STENCIL_WRITEMASK\",2978:\"VIEWPORT\",3024:\"DITHER\",3042:\"BLEND\",3088:\"SCISSOR_BOX\",3089:\"SCISSOR_TEST\",3106:\"COLOR_CLEAR_VALUE\",3107:\"COLOR_WRITEMASK\",3317:\"UNPACK_ALIGNMENT\",3333:\"PACK_ALIGNMENT\",3379:\"MAX_TEXTURE_SIZE\",3386:\"MAX_VIEWPORT_DIMS\",3408:\"SUBPIXEL_BITS\",3410:\"RED_BITS\",3411:\"GREEN_BITS\",3412:\"BLUE_BITS\",3413:\"ALPHA_BITS\",3414:\"DEPTH_BITS\",3415:\"STENCIL_BITS\",3553:\"TEXTURE_2D\",4352:\"DONT_CARE\",4353:\"FASTEST\",4354:\"NICEST\",5120:\"BYTE\",5121:\"UNSIGNED_BYTE\",5122:\"SHORT\",5123:\"UNSIGNED_SHORT\",5124:\"INT\",5125:\"UNSIGNED_INT\",5126:\"FLOAT\",5386:\"INVERT\",5890:\"TEXTURE\",6401:\"STENCIL_INDEX\",6402:\"DEPTH_COMPONENT\",6406:\"ALPHA\",6407:\"RGB\",6408:\"RGBA\",6409:\"LUMINANCE\",6410:\"LUMINANCE_ALPHA\",7680:\"KEEP\",7681:\"REPLACE\",7682:\"INCR\",7683:\"DECR\",7936:\"VENDOR\",7937:\"RENDERER\",7938:\"VERSION\",9728:\"NEAREST\",9729:\"LINEAR\",9984:\"NEAREST_MIPMAP_NEAREST\",9985:\"LINEAR_MIPMAP_NEAREST\",9986:\"NEAREST_MIPMAP_LINEAR\",9987:\"LINEAR_MIPMAP_LINEAR\",10240:\"TEXTURE_MAG_FILTER\",10241:\"TEXTURE_MIN_FILTER\",10242:\"TEXTURE_WRAP_S\",10243:\"TEXTURE_WRAP_T\",10497:\"REPEAT\",10752:\"POLYGON_OFFSET_UNITS\",16384:\"COLOR_BUFFER_BIT\",32769:\"CONSTANT_COLOR\",32770:\"ONE_MINUS_CONSTANT_COLOR\",32771:\"CONSTANT_ALPHA\",32772:\"ONE_MINUS_CONSTANT_ALPHA\",32773:\"BLEND_COLOR\",32774:\"FUNC_ADD\",32777:\"BLEND_EQUATION_RGB\",32778:\"FUNC_SUBTRACT\",32779:\"FUNC_REVERSE_SUBTRACT\",32819:\"UNSIGNED_SHORT_4_4_4_4\",32820:\"UNSIGNED_SHORT_5_5_5_1\",32823:\"POLYGON_OFFSET_FILL\",32824:\"POLYGON_OFFSET_FACTOR\",32854:\"RGBA4\",32855:\"RGB5_A1\",32873:\"TEXTURE_BINDING_2D\",32926:\"SAMPLE_ALPHA_TO_COVERAGE\",32928:\"SAMPLE_COVERAGE\",32936:\"SAMPLE_BUFFERS\",32937:\"SAMPLES\",32938:\"SAMPLE_COVERAGE_VALUE\",32939:\"SAMPLE_COVERAGE_INVERT\",32968:\"BLEND_DST_RGB\",32969:\"BLEND_SRC_RGB\",32970:\"BLEND_DST_ALPHA\",32971:\"BLEND_SRC_ALPHA\",33071:\"CLAMP_TO_EDGE\",33170:\"GENERATE_MIPMAP_HINT\",33189:\"DEPTH_COMPONENT16\",33306:\"DEPTH_STENCIL_ATTACHMENT\",33635:\"UNSIGNED_SHORT_5_6_5\",33648:\"MIRRORED_REPEAT\",33901:\"ALIASED_POINT_SIZE_RANGE\",33902:\"ALIASED_LINE_WIDTH_RANGE\",33984:\"TEXTURE0\",33985:\"TEXTURE1\",33986:\"TEXTURE2\",33987:\"TEXTURE3\",33988:\"TEXTURE4\",33989:\"TEXTURE5\",33990:\"TEXTURE6\",33991:\"TEXTURE7\",33992:\"TEXTURE8\",33993:\"TEXTURE9\",33994:\"TEXTURE10\",33995:\"TEXTURE11\",33996:\"TEXTURE12\",33997:\"TEXTURE13\",33998:\"TEXTURE14\",33999:\"TEXTURE15\",34e3:\"TEXTURE16\",34001:\"TEXTURE17\",34002:\"TEXTURE18\",34003:\"TEXTURE19\",34004:\"TEXTURE20\",34005:\"TEXTURE21\",34006:\"TEXTURE22\",34007:\"TEXTURE23\",34008:\"TEXTURE24\",34009:\"TEXTURE25\",34010:\"TEXTURE26\",34011:\"TEXTURE27\",34012:\"TEXTURE28\",34013:\"TEXTURE29\",34014:\"TEXTURE30\",34015:\"TEXTURE31\",34016:\"ACTIVE_TEXTURE\",34024:\"MAX_RENDERBUFFER_SIZE\",34041:\"DEPTH_STENCIL\",34055:\"INCR_WRAP\",34056:\"DECR_WRAP\",34067:\"TEXTURE_CUBE_MAP\",34068:\"TEXTURE_BINDING_CUBE_MAP\",34069:\"TEXTURE_CUBE_MAP_POSITIVE_X\",34070:\"TEXTURE_CUBE_MAP_NEGATIVE_X\",34071:\"TEXTURE_CUBE_MAP_POSITIVE_Y\",34072:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",34073:\"TEXTURE_CUBE_MAP_POSITIVE_Z\",34074:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",34076:\"MAX_CUBE_MAP_TEXTURE_SIZE\",34338:\"VERTEX_ATTRIB_ARRAY_ENABLED\",34339:\"VERTEX_ATTRIB_ARRAY_SIZE\",34340:\"VERTEX_ATTRIB_ARRAY_STRIDE\",34341:\"VERTEX_ATTRIB_ARRAY_TYPE\",34342:\"CURRENT_VERTEX_ATTRIB\",34373:\"VERTEX_ATTRIB_ARRAY_POINTER\",34466:\"NUM_COMPRESSED_TEXTURE_FORMATS\",34467:\"COMPRESSED_TEXTURE_FORMATS\",34660:\"BUFFER_SIZE\",34661:\"BUFFER_USAGE\",34816:\"STENCIL_BACK_FUNC\",34817:\"STENCIL_BACK_FAIL\",34818:\"STENCIL_BACK_PASS_DEPTH_FAIL\",34819:\"STENCIL_BACK_PASS_DEPTH_PASS\",34877:\"BLEND_EQUATION_ALPHA\",34921:\"MAX_VERTEX_ATTRIBS\",34922:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",34930:\"MAX_TEXTURE_IMAGE_UNITS\",34962:\"ARRAY_BUFFER\",34963:\"ELEMENT_ARRAY_BUFFER\",34964:\"ARRAY_BUFFER_BINDING\",34965:\"ELEMENT_ARRAY_BUFFER_BINDING\",34975:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",35040:\"STREAM_DRAW\",35044:\"STATIC_DRAW\",35048:\"DYNAMIC_DRAW\",35632:\"FRAGMENT_SHADER\",35633:\"VERTEX_SHADER\",35660:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",35661:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",35663:\"SHADER_TYPE\",35664:\"FLOAT_VEC2\",35665:\"FLOAT_VEC3\",35666:\"FLOAT_VEC4\",35667:\"INT_VEC2\",35668:\"INT_VEC3\",35669:\"INT_VEC4\",35670:\"BOOL\",35671:\"BOOL_VEC2\",35672:\"BOOL_VEC3\",35673:\"BOOL_VEC4\",35674:\"FLOAT_MAT2\",35675:\"FLOAT_MAT3\",35676:\"FLOAT_MAT4\",35678:\"SAMPLER_2D\",35680:\"SAMPLER_CUBE\",35712:\"DELETE_STATUS\",35713:\"COMPILE_STATUS\",35714:\"LINK_STATUS\",35715:\"VALIDATE_STATUS\",35716:\"INFO_LOG_LENGTH\",35717:\"ATTACHED_SHADERS\",35718:\"ACTIVE_UNIFORMS\",35719:\"ACTIVE_UNIFORM_MAX_LENGTH\",35720:\"SHADER_SOURCE_LENGTH\",35721:\"ACTIVE_ATTRIBUTES\",35722:\"ACTIVE_ATTRIBUTE_MAX_LENGTH\",35724:\"SHADING_LANGUAGE_VERSION\",35725:\"CURRENT_PROGRAM\",36003:\"STENCIL_BACK_REF\",36004:\"STENCIL_BACK_VALUE_MASK\",36005:\"STENCIL_BACK_WRITEMASK\",36006:\"FRAMEBUFFER_BINDING\",36007:\"RENDERBUFFER_BINDING\",36048:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",36049:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",36050:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",36051:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",36053:\"FRAMEBUFFER_COMPLETE\",36054:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",36055:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",36057:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",36061:\"FRAMEBUFFER_UNSUPPORTED\",36064:\"COLOR_ATTACHMENT0\",36096:\"DEPTH_ATTACHMENT\",36128:\"STENCIL_ATTACHMENT\",36160:\"FRAMEBUFFER\",36161:\"RENDERBUFFER\",36162:\"RENDERBUFFER_WIDTH\",36163:\"RENDERBUFFER_HEIGHT\",36164:\"RENDERBUFFER_INTERNAL_FORMAT\",36168:\"STENCIL_INDEX8\",36176:\"RENDERBUFFER_RED_SIZE\",36177:\"RENDERBUFFER_GREEN_SIZE\",36178:\"RENDERBUFFER_BLUE_SIZE\",36179:\"RENDERBUFFER_ALPHA_SIZE\",36180:\"RENDERBUFFER_DEPTH_SIZE\",36181:\"RENDERBUFFER_STENCIL_SIZE\",36194:\"RGB565\",36336:\"LOW_FLOAT\",36337:\"MEDIUM_FLOAT\",36338:\"HIGH_FLOAT\",36339:\"LOW_INT\",36340:\"MEDIUM_INT\",36341:\"HIGH_INT\",36346:\"SHADER_COMPILER\",36347:\"MAX_VERTEX_UNIFORM_VECTORS\",36348:\"MAX_VARYING_VECTORS\",36349:\"MAX_FRAGMENT_UNIFORM_VECTORS\",37440:\"UNPACK_FLIP_Y_WEBGL\",37441:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",37442:\"CONTEXT_LOST_WEBGL\",37443:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",37444:\"BROWSER_DEFAULT_WEBGL\"}},5171:function(t,e,r){var n=r(737);t.exports=function(t){return n[t]}},9165:function(t,e,r){\"use strict\";t.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=r(2762),i=r(8116),a=r(3436),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=(t._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)e.lineWidth(this.lineWidth[h]*this.pixelRatio),r.capSize=this.capSize[h]*u,this.lineCount[h]&&e.drawArrays(e.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function h(t,e,r,n){for(var i=u[n],a=0;a0&&((p=u.slice())[s]+=d[1][s],i.push(u[0],u[1],u[2],m[0],m[1],m[2],m[3],0,0,0,p[0],p[1],p[2],m[0],m[1],m[2],m[3],0,0,0),c(this.bounds,p),o+=2+h(i,p,m,s))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},3436:function(t,e,r){\"use strict\";var n=r(3236),i=r(9405),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, offset;\\nattribute vec4 color;\\nuniform mat4 model, view, projection;\\nuniform float capSize;\\nvarying vec4 fragColor;\\nvarying vec3 fragPosition;\\n\\nvoid main() {\\n vec4 worldPosition = model * vec4(position, 1.0);\\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\\n gl_Position = projection * (view * worldPosition);\\n fragColor = color;\\n fragPosition = position;\\n}\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float opacity;\\nvarying vec3 fragPosition;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (\\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\\n fragColor.a * opacity == 0.\\n ) discard;\\n\\n gl_FragColor = opacity * fragColor;\\n}\"]);t.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},2260:function(t,e,r){\"use strict\";var n=r(7766);t.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension(\"WEBGL_draw_buffers\");if(!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;au||r<0||r>u)throw new Error(\"gl-fbo: Parameters are too large for FBO\");var h=1;if(\"color\"in(n=n||{})){if((h=Math.max(0|n.color,0))<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(h>1){if(!c)throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\");if(h>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+h+\" draw buffers\")}}var f=t.UNSIGNED_BYTE,p=t.getExtension(\"OES_texture_float\");if(n.float&&h>0){if(!p)throw new Error(\"gl-fbo: Context does not support floating point textures\");f=t.FLOAT}else n.preferFloat&&h>0&&p&&(f=t.FLOAT);var m=!0;\"depth\"in n&&(m=!!n.depth);var g=!1;return\"stencil\"in n&&(g=!!n.stencil),new d(t,e,r,f,h,m,g,c)};var i,a,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function h(t){switch(t){case i:throw new Error(\"gl-fbo: Framebuffer unsupported\");case a:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case o:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case s:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function f(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var v=r.getExtension(\"WEBGL_depth_texture\");v?d?t.depth=f(r,i,a,v.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m&&(t.depth=f(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):m&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),y=0;yi||r<0||r>i)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");t._shape[0]=e,t._shape[1]=r;for(var a=c(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var m=i.attributes;return this.positionBuffer.bind(),m.position.pointer(),this.weightBuffer.bind(),m.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),m.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),h.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},h.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var c,u,h,p,d=t.colorLevels||[0],m=t.colorValues||[0,0,0,1],g=d.length,y=this.bounds;l?(c=y[0]=r[0],u=y[1]=o[0],h=y[2]=r[r.length-1],p=y[3]=o[o.length-1]):(c=y[0]=r[0]+(r[1]-r[0])/2,u=y[1]=o[0]+(o[1]-o[0])/2,h=y[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=y[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var v=1/(h-c),x=1/(p-u),_=e[0],b=e[1];this.shape=[_,b];var w=(l?(_-1)*(b-1):_*b)*(f.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?_-1:_,C=l?b-1:b,L=0;L max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D dashTexture;\\nuniform float dashScale;\\nuniform float opacity;\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (\\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\\n fragColor.a * opacity == 0.\\n ) discard;\\n\\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\\n if(dashWeight < 0.5) {\\n discard;\\n }\\n gl_FragColor = fragColor * opacity;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\n#define FLOAT_MAX 1.70141184e38\\n#define FLOAT_MIN 1.17549435e-38\\n\\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\\nvec4 packFloat(float v) {\\n float av = abs(v);\\n\\n //Handle special cases\\n if(av < FLOAT_MIN) {\\n return vec4(0.0, 0.0, 0.0, 0.0);\\n } else if(v > FLOAT_MAX) {\\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\\n } else if(v < -FLOAT_MAX) {\\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\\n }\\n\\n vec4 c = vec4(0,0,0,0);\\n\\n //Compute exponent and mantissa\\n float e = floor(log2(av));\\n float m = av * pow(2.0, -e) - 1.0;\\n\\n //Unpack mantissa\\n c[1] = floor(128.0 * m);\\n m -= c[1] / 128.0;\\n c[2] = floor(32768.0 * m);\\n m -= c[2] / 32768.0;\\n c[3] = floor(8388608.0 * m);\\n\\n //Unpack exponent\\n float ebias = e + 127.0;\\n c[0] = floor(ebias / 2.0);\\n ebias -= c[0] * 2.0;\\n c[1] += floor(ebias) * 128.0;\\n\\n //Unpack sign bit\\n c[0] += 128.0 * step(0.0, -v);\\n\\n //Scale back to range\\n return c / 255.0;\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform float pickId;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\\n\\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\\n}\"]),l=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];e.createShader=function(t){return i(t,a,o,null,l)},e.createPickShader=function(t){return i(t,a,s,null,l)}},5714:function(t,e,r){\"use strict\";t.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=h(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),u=c(new Array(1024),[256,1,4]),p=0;p<1024;++p)u.data[p]=255;var d=a(e,u);d.wrap=e.REPEAT;var m=new y(e,r,o,s,l,d);return m.update(t),m};var n=r(2762),i=r(8116),a=r(7766),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(2478),c=r(9618),u=r(7319),h=u.createShader,f=u.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function m(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function y(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var v=y.prototype;v.isTransparent=function(){return this.hasAlpha},v.isOpaque=function(){return!this.hasAlpha},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:m(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},v.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:m(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},v.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;\"dashScale\"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,u=0,h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],f=t.position||t.positions;if(f){var p=t.color||t.colors||[0,0,0,1],m=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);u+=2,g=!0}continue t}h[0][r]=Math.min(h[0][r],_[r],b[r]),h[1][r]=Math.max(h[1][r],_[r],b[r])}Array.isArray(p[0])?(y=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],v=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):y=v=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===v.length&&(v=[v[0],v[1],v[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(m)?m.length>e-1?m[e-1]:m.length>0?m[m.length-1]:[0,0,0,1]:m;var T=s;if(s+=d(_,b),g){for(r=0;r<2;++r)i.push(_[0],_[1],_[2],b[0],b[1],b[2],T,x,y[0],y[1],y[2],y[3]);u+=2,g=!1}i.push(_[0],_[1],_[2],b[0],b[1],b[2],T,x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],T,-x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],s,-x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],s,x,v[0],v[1],v[2],v[3]),u+=4}}if(this.buffer.update(i),a.push(s),o.push(f[f.length-1].slice()),this.bounds=h,this.vertexCount=u,this.points=o,this.arcLength=a,\"dashes\"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;y+=g[h]}return Math.abs(y-1)>.001?null:[f,s(t,g),g]}},840:function(t,e,r){var n=r(3236),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, normal;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model\\n , view\\n , projection\\n , inverseModel;\\nuniform vec3 eyePosition\\n , lightPosition;\\n\\nvarying vec3 f_normal\\n , f_lightDirection\\n , f_eyeDirection\\n , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvec4 project(vec3 p) {\\n return projection * (view * (model * vec4(p, 1.0)));\\n}\\n\\nvoid main() {\\n gl_Position = project(position);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * vec4(position , 1.0);\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n f_color = color;\\n f_data = position;\\n f_uv = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n , fresnel\\n , kambient\\n , kdiffuse\\n , kspecular;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n , f_lightDirection\\n , f_eyeDirection\\n , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (f_color.a == 0.0 ||\\n outOfRange(clipBounds[0], clipBounds[1], f_data)\\n ) discard;\\n\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\\n\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * f_color.a;\\n}\\n\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\\n f_color = color;\\n f_data = position;\\n f_uv = uv;\\n}\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\\n\\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),l=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\nattribute float pointSize;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\\n } else {\\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\\n }\\n gl_PointSize = pointSize;\\n f_color = color;\\n f_uv = uv;\\n}\"]),c=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\\n if(dot(pointR, pointR) > 0.25) {\\n discard;\\n }\\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),u=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\\n f_id = id;\\n f_position = position;\\n}\"]),h=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]),f=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute float pointSize;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\\n } else {\\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\\n gl_PointSize = pointSize;\\n }\\n f_id = id;\\n f_position = position;\\n}\"]),p=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\n\\nvoid main() {\\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\\n}\"]),d=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n gl_FragColor = vec4(contourColor, 1.0);\\n}\\n\"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},e.wireShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},e.pointShader={vertex:l,fragment:c,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},e.pickShader={vertex:u,fragment:h,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},e.pointPickShader={vertex:f,fragment:h,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},e.contourShader={vertex:p,fragment:d,attributes:[{name:\"position\",type:\"vec3\"}]}},7201:function(t,e,r){\"use strict\";var n=r(9405),i=r(2762),a=r(8116),o=r(7766),s=r(8406),l=r(6760),c=r(7608),u=r(9618),h=r(6729),f=r(7765),p=r(1888),d=r(840),m=r(7626),g=d.meshShader,y=d.wireShader,v=d.pointShader,x=d.pickShader,_=d.pointPickShader,b=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=m,this.edgeVAO=v,this.edgeCount=0,this.pointPositions=x,this.pointColors=b,this.pointUVs=T,this.pointSizes=k,this.pointIds=_,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function E(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function C(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=f(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((h=this.triShader).bind(),h.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((h=this.lineShader).bind(),h.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((h=this.pointShader).bind(),h.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((h=this.contourShader).bind(),h.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=g[t],r.uniforms.angle=y[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),v[t]&&T&&(u[1^t]-=M*p*x[t],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=_[t],r.uniforms.angle=b[t],a.drawArrays(a.TRIANGLES,w,T)),u[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=M*p*m[t+2],ki[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=g[t+2],r.uniforms.angle=y[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),v[t+2]&&T&&(u[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=_[t+2],r.uniforms.angle=b[t+2],a.drawArrays(a.TRIANGLES,w,T))}),m.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),m.bind=(f=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],h=a[o],m=a[o+2]-h,g=i[o],y=i[o+2]-g;p[o]=2*l/u*m/y,f[o]=2*(s-c)/u*m/y}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=f,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),m.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],h=[-1/0],f=l[o];for(e=0;e=0){var m=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(m,e[1],m,e[3],p[d],f[d]):o.drawLine(e[0],m,e[2],m,p[d],f[d])}}for(d=0;d=0;--t)this.objects[t].dispose();for(this.objects.length=0,t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,h*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(3025),i=r(6296),a=r(351),o=r(8512),s=r(24),l=r(7520)},799:function(t,e,r){var n=r(3236),i=r(9405),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\nattribute vec2 position;\\nvarying vec2 uv;\\nvoid main() {\\n uv = position;\\n gl_Position = vec4(position, 0, 1);\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D accumBuffer;\\nvarying vec2 uv;\\n\\nvoid main() {\\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\\n gl_FragColor = min(vec4(1,1,1,1), accum);\\n}\"]);t.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec2\"}])}},4100:function(t,e,r){\"use strict\";var n=r(4437),i=r(3837),a=r(5445),o=r(4449),s=r(3589),l=r(2260),c=r(7169),u=r(351),h=r(4772),f=r(4040),p=r(799),d=r(9216)({tablet:!0,featureDetect:!0});function m(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}return e>0?(r=Math.round(Math.pow(10,e)),Math.ceil(t/r)*r):Math.ceil(t)}function y(t){return\"boolean\"!=typeof t||t}t.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;e||(e=document.createElement(\"canvas\"),t.container?t.container.appendChild(e):document.body.appendChild(e));var r=t.gl;if(r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext(\"webgl\",e))||(r=t.getContext(\"experimental-webgl\",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error(\"webgl not supported\");var v=t.bounds||[[-10,-10,-10],[10,10,10]],x=new m,_=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),b=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&\"orthographic\"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||\"turntable\",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],C=[],L=[],I=[],P=!0,z=!0,O={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},D=(z=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=t.cameraObject||n(e,T),F={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:v,objects:E,shape:D,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:y(t.autoResize),autoBounds:y(t.autoBounds),autoScale:!!t.autoScale,autoCenter:y(t.autoCenter),clipToBounds:y(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:O,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,z=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||\"absolute\",o.left=\"0px\",o.top=\"0px\",o.width=r+\"px\",o.height=n+\"px\",P=!0}}}function j(){for(var t=E.length,e=I.length,n=0;n0&&0===L[e-1];)L.pop(),I.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener(\"resize\",N),F.update=function(t){F._stopped||(t=t||{},P=!0,z=!0)},F.add=function(t){F._stopped||(t.axes=A,E.push(t),C.push(-1),P=!0,z=!0,j())},F.remove=function(t){if(!F._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),C.pop(),P=!0,z=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener(\"resize\",N),e.removeEventListener(\"webglcontextlost\",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var c=0;c 1.0) {\\n discard;\\n }\\n baseColor = mix(borderColor, color, step(radius, centerFraction));\\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\\n }\\n}\\n\"]),e.pickVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform vec4 pickOffset;\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n vec3 hgPosition = matrix * vec3(position, 1);\\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\\n gl_PointSize = pointSize;\\n\\n vec4 id = pickId + pickOffset;\\n id.y += floor(id.x / 256.0);\\n id.x -= floor(id.x / 256.0) * 256.0;\\n\\n id.z += floor(id.y / 256.0);\\n id.y -= floor(id.y / 256.0) * 256.0;\\n\\n id.w += floor(id.z / 256.0);\\n id.z -= floor(id.z / 256.0) * 256.0;\\n\\n fragId = id;\\n}\\n\"]),e.pickFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n if(radius > 1.0) {\\n discard;\\n }\\n gl_FragColor = fragId / 255.0;\\n}\\n\"])},4696:function(t,e,r){\"use strict\";var n=r(9405),i=r(2762),a=r(1888),o=r(6640);function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}t.exports=function(t,e){var r=t.gl,a=new s(t,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(e),t.addObject(a),a};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r(\"sizeMin\",.5),this.sizeMax=r(\"sizeMax\",20),this.color=r(\"color\",[1,0,0,1]).slice(),this.areaRatio=r(\"areaRatio\",1),this.borderColor=r(\"borderColor\",[0,0,0,1]).slice(),this.blend=r(\"blend\",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var h=n.getParameter(n.BLEND),f=n.getParameter(n.DITHER);return h&&!this.blend&&n.disable(n.BLEND),f&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),h&&!this.blend&&n.enable(n.BLEND),f&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},783:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],h=e[2],f=e[3],p=r[0],d=r[1],m=r[2],g=r[3];return(a=c*p+u*d+h*m+f*g)<0&&(a=-a,p=-p,d=-d,m=-m,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*h+l*m,t[3]=s*f+l*g,t}},5964:function(t){\"use strict\";t.exports=function(t){return t||0===t?t.toString():\"\"}},9366:function(t,e,r){\"use strict\";var n=r(4359);t.exports=function(t,e,r){var a=[e.style,e.weight,e.variant,e.family].join(\"_\"),o=i[a];if(o||(o=i[a]={}),t in o)return o[t];var s={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e.family,fontStyle:e.style,fontWeight:e.weight,fontVariant:e.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},l=n(t,s);s.triangles=!1;var c,u,h=n(t,s);if(r&&1!==r){for(c=0;c max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform vec4 highlightId;\\nuniform float highlightScale;\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float scale = 1.0;\\n if(distance(highlightId, id) < 0.0001) {\\n scale = highlightScale;\\n }\\n\\n vec4 worldPosition = model * vec4(position, 1);\\n vec4 viewPosition = view * worldPosition;\\n viewPosition = viewPosition / viewPosition.w;\\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\\n\\n gl_Position = clipPosition;\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = position;\\n }\\n}\"]),o=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float highlightScale, pixelRatio;\\nuniform vec4 highlightId;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float scale = pixelRatio;\\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\\n scale *= highlightScale;\\n }\\n\\n vec4 worldPosition = model * vec4(position, 1.0);\\n vec4 viewPosition = view * worldPosition;\\n vec4 clipPosition = projection * viewPosition;\\n clipPosition /= clipPosition.w;\\n\\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = position;\\n }\\n}\"]),s=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform float highlightScale;\\nuniform vec4 highlightId;\\nuniform vec3 axes[2];\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float scale, pixelRatio;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float lscale = pixelRatio * scale;\\n if(distance(highlightId, id) < 0.0001) {\\n lscale *= highlightScale;\\n }\\n\\n vec4 clipCenter = projection * (view * (model * vec4(position, 1)));\\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\\n vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1)));\\n\\n gl_Position = clipPosition;\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = dataPosition;\\n }\\n}\\n\"]),l=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float opacity;\\n\\nvarying vec4 interpColor;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (\\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\\n interpColor.a * opacity == 0.\\n ) discard;\\n gl_FragColor = interpColor * opacity;\\n}\\n\"]),c=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float pickGroup;\\n\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\\n\\n gl_FragColor = vec4(pickGroup, pickId.bgr);\\n}\"]),u=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],h={vertex:a,fragment:l,attributes:u},f={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,fragment:c,attributes:u},m={vertex:o,fragment:c,attributes:u},g={vertex:s,fragment:c,attributes:u};function y(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}e.createPerspective=function(t){return y(t,h)},e.createOrtho=function(t){return y(t,f)},e.createProject=function(t){return y(t,p)},e.createPickPerspective=function(t){return y(t,d)},e.createPickOrtho=function(t){return y(t,m)},e.createPickProject=function(t){return y(t,g)}},8418:function(t,e,r){\"use strict\";var n=r(5219),i=r(2762),a=r(8116),o=r(1888),s=r(6760),l=r(1283),c=r(9366),u=r(5964),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],f=ArrayBuffer,p=DataView;function d(t){return Array.isArray(t)||function(t){return f.isView(t)&&!(t instanceof p)}(t)}function m(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function g(t,e,r,n){return m(n,n),m(n,n),m(n,n)}function y(t,e){this.index=t,this.dataCoordinate=this.position=e}function v(t){return!0===t||t>1?1:t}function x(t,e,r,n,i,a,o,s,l,c,u,h){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=h,this.points=[],this._selectResult=new y(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}t.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),c=l.createPickOrtho(e),u=l.createPickProject(e),h=i(e),f=i(e),p=i(e),d=i(e),m=new x(e,r,n,o,h,f,p,d,a(e,[{buffer:h,size:3,type:e.FLOAT},{buffer:f,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),s,c,u);return m.update(t),m};var _=x.prototype;_.pickSlots=1,_.setPickBase=function(t){this.pickId=t},_.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},_.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var b=[0,0],w=[0,0,0],T=[0,0,0],k=[0,0,0,1],A=[0,0,0,1],M=h.slice(),S=[0,0,0],E=[[0,0,0],[0,0,0]];function C(t){return t[0]=t[1]=t[2]=0,t}function L(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function I(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}var P=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function z(t,e,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||h,u=r.view||h,f=r.projection||h,p=e.axesBounds,d=function(t){for(var e=E,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],b[0]=2/o.drawingBufferWidth,b[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=f,l.screenSize=b,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=d,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var m=0;m<3;++m)if(a[m]){l.scale=e.projectScale[m],l.opacity=e.projectOpacity[m];for(var y=M,v=0;v<16;++v)y[v]=0;for(v=0;v<4;++v)y[5*v]=1;y[5*m]=0,i[m]<0?y[12+m]=p[0][m]:y[12+m]=p[1][m],s(y,c,y),l.model=y;var x=(m+1)%3,_=(m+2)%3,P=C(w),z=C(T);P[x]=1,z[_]=1;var O=g(0,0,0,L(k,P)),D=g(0,0,0,L(A,z));if(Math.abs(O[1])>Math.abs(D[1])){var R=O;O=D,D=R,R=P,P=z,z=R;var F=x;x=_,_=F}O[0]<0&&(P[x]=-1),D[1]>0&&(z[_]=-1);var B=0,N=0;for(v=0;v<4;++v)B+=Math.pow(c[4*x+v],2),N+=Math.pow(c[4*_+v],2);P[x]/=Math.sqrt(B),z[_]/=Math.sqrt(N),l.axes[0]=P,l.axes[1]=z,l.fragClipBounds[0]=I(S,d[0],m,-1e8),l.fragClipBounds[1]=I(S,d[1],m,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}(e,r,n,i),a===r.hasAlpha||o){t.bind();var c=t.uniforms;c.model=n.model||h,c.view=n.view||h,c.projection=n.projection||h,b[0]=2/l.drawingBufferWidth,b[1]=2/l.drawingBufferHeight,c.screenSize=b,c.highlightId=r.highlightId,c.highlightScale=r.highlightScale,c.fragClipBounds=P,c.clipBounds=r.axes.bounds,c.opacity=r.opacity,c.pickGroup=r.pickId/255,c.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function O(t,e,r,i){var a;a=d(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},_.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},_.update=function(t){if(\"perspective\"in(t=t||{})&&(this.useOrtho=!t.perspective),\"orthographic\"in t&&(this.useOrtho=!!t.orthographic),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"project\"in t)if(d(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if(\"projectScale\"in t)if(d(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,\"projectOpacity\"in t){d(t.projectOpacity)?this.projectOpacity=t.projectOpacity.slice():(r=+t.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=v(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l={family:t.font||\"normal\",style:t.fontStyle||\"normal\",weight:t.fontWeight||\"normal\",variant:t.fontVariant||\"normal\"},c=t.alignment||[0,0];if(2===c.length)i=c[0],a=c[1];else for(i=[],a=[],n=0;n0){var z=0,D=_,R=[0,0,0,1],F=[0,0,0,1],B=d(p)&&d(p[0]),N=d(y)&&d(y[0]);t:for(n=0;n0?1-S[0][0]:W<0?1+S[1][0]:1,Y*=Y>0?1-S[0][1]:Y<0?1+S[1][1]:1],$=A.cells||[],J=A.positions||[];for(k=0;k<$.length;++k)for(var K=$[k],Q=0;Q<3;++Q){for(var tt=0;tt<3;++tt)C[3*z+tt]=T[tt];for(tt=0;tt<4;++tt)L[4*z+tt]=R[tt];P[z]=x;var et=J[K[Q]];I[2*z]=q*(G*et[0]-Z*et[1]+X[0]),I[2*z+1]=q*(Z*et[0]+G*et[1]+X[1]),z+=1}for($=M.edges,J=M.positions,k=0;k<$.length;++k)for(K=$[k],Q=0;Q<2;++Q){for(tt=0;tt<3;++tt)C[3*D+tt]=T[tt];for(tt=0;tt<4;++tt)L[4*D+tt]=F[tt];P[D]=x,et=J[K[Q]],I[2*D]=q*(G*et[0]-Z*et[1]+X[0]),I[2*D+1]=q*(Z*et[0]+G*et[1]+X[1]),D+=1}}}this.bounds=[u,h],this.points=s,this.pointCount=s.length,this.vertexCount=_,this.lineVertexCount=b,this.pointBuffer.update(C),this.colorBuffer.update(L),this.glyphBuffer.update(I),this.idBuffer.update(P),o.free(C),o.free(L),o.free(I),o.free(P)},_.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},4298:function(t,e,r){\"use strict\";var n=r(3236);e.boxVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 vertex;\\n\\nuniform vec2 cornerA, cornerB;\\n\\nvoid main() {\\n gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\\n}\\n\"]),e.boxFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n gl_FragColor = color;\\n}\\n\"])},3161:function(t,e,r){\"use strict\";var n=r(9405),i=r(2762),a=r(4298);function o(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}t.exports=function(t,e){var r=t.gl,s=new o(t,i(r,[0,0,0,1,1,0,1,1]),n(r,a.boxVertex,a.boxFragment));return s.update(e),t.addOverlay(s),s};var s=o.prototype;s.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,h=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],f=(e[1]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1],p=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],d=(e[3]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1];if(h=Math.max(h,c[0]),f=Math.max(f,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p0){var y=r*u;o.drawBox(h-y,f-y,p+y,f+y,a),o.drawBox(h-y,d-y,p+y,d+y,a),o.drawBox(h-y,f-y,h+y,d+y,a),o.drawBox(p-y,f-y,p+y,d+y,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},3589:function(t,e,r){\"use strict\";t.exports=function(t,e){var r=e[0],a=e[1];return new l(t,n(t,r,a,{}),i.mallocUint8(r*a*4))};var n=r(2260),i=r(1888),a=r(9618),o=r(8828).nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var c=l.prototype;Object.defineProperty(c,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;b[v]=M}var S=new Array(r.length);function E(){f.program=o.program(p,f._vref,f._fref,_,b);for(var t=0;t=0){if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+h+\": \"+f);s(t,e,p[0],i,d,a,h)}else{if(!(f.indexOf(\"mat\")>=0))throw new n(\"\",\"Unknown data type for attribute \"+h+\": \"+f);var d;if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+h+\": \"+f);l(t,e,p,i,d,a,h)}}}return a};var n=r(8866);function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,\"location\",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}});var o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var c=o[a],u=new i(t,e,r,n,a,c);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),c(t,n[r],e),e},get:function(){return u},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),c=new Array(i),u=0;u4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+v);t[\"uniformMatrix\"+y+\"fv\"](s[h],!1,f);break}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+v)}if((y=v.charCodeAt(v.length-1)-48)<2||y>4)throw new i(\"\",\"Invalid data type\");switch(v.charAt(0)){case\"b\":case\"i\":t[\"uniform\"+y+\"iv\"](s[h],f);break;case\"v\":t[\"uniform\"+y+\"fv\"](s[h],f);break;default:throw new i(\"\",\"Unrecognized data type for vector \"+name+\": \"+v)}}}}}}function c(t,e){if(\"object\"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+\"\"===n?a+=\"[\"+n+\"]\":a+=\".\"+n,\"object\"==typeof i?r.push.apply(r,c(a,i)):r.push([a,i])}return r}function u(t,e,n){if(\"object\"==typeof n){var c=h(n);Object.defineProperty(t,e,{get:a(c),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(u=n,function(t,e,r){return t.getUniform(e.program,r[u])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=function(t){switch(t){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":case\"float\":return 0;default:var e=t.indexOf(\"vec\");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i(\"\",\"Invalid data type\");return\"b\"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf(\"mat\")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+t);return o(r*r,0)}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+t)}}(r[n].type);var u}function h(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n float segmentCount = 8.0;\\n\\n float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d);\\n vec3 y = v * sin(angle) * length(d);\\n vec3 v3 = x + y;\\n\\n normal = normalize(v3);\\n\\n return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\n\\nuniform float vectorScale, tubeScale;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 eyePosition, lightPosition;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n // Scale the vector magnitude to stay constant with\\n // model & view changes.\\n vec3 normal;\\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * tubePosition;\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n // vec4 m_position = model * vec4(tubePosition, 1.0);\\n vec4 t_position = view * tubePosition;\\n gl_Position = projection * t_position;\\n\\n f_color = color;\\n f_data = tubePosition.xyz;\\n f_position = position.xyz;\\n f_uv = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n // Return up-vector for only-z vector.\\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n float segmentCount = 8.0;\\n\\n float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d);\\n vec3 y = v * sin(angle) * length(d);\\n vec3 v3 = x + y;\\n\\n normal = normalize(v3);\\n\\n return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float tubeScale;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n vec3 normal;\\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n gl_Position = projection * (view * tubePosition);\\n f_id = id;\\n f_position = position.xyz;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},7815:function(t,e,r){\"use strict\";var n=r(2931),i=r(9970),a=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],o=function(t,e){var r,n=t.length;for(r=0;re)return r-1}return r},s=function(t,e,r){return tr?r:t},l=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nh-1||v>f-1||x>p-1)return n.create();var _,b,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][m],C=a[1][v],L=a[2][g],I=(l-M)/(S-M),P=(c-E)/(C-E),z=(u-L)/(a[2][x]-L);switch(isFinite(I)||(I=.5),isFinite(P)||(P=.5),isFinite(z)||(z=.5),r.reversedX&&(d=h-1-d,y=h-1-y),r.reversedY&&(m=f-1-m,v=f-1-v),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=m*p,T=v*p,_=d*p*f,b=y*p*f;break;case 4:k=g,A=x,_=d*p,b=y*p,w=m*p*h,T=v*p*h;break;case 3:w=m,T=v,k=g*f,A=x*f,_=d*f*p,b=y*f*p;break;case 2:w=m,T=v,_=d*f,b=y*f,k=g*f*h,A=x*f*h;break;case 1:_=d,b=y,k=g*h,A=x*h,w=m*h*p,T=v*h*p;break;default:_=d,b=y,w=m*h,T=v*h,k=g*h*f,A=x*h*f}var O=i[_+w+k],D=i[_+w+A],R=i[_+T+k],F=i[_+T+A],B=i[b+w+k],N=i[b+w+A],j=i[b+T+k],U=i[b+T+A],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,O,B,I),n.lerp(q,D,N,I),n.lerp(H,R,j,I),n.lerp(G,F,U,I);var Z=n.create(),W=n.create();n.lerp(Z,V,H,P),n.lerp(W,q,G,P);var Y=n.create();return n.lerp(Y,Z,W,z),Y}(e,t,p)},m=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],y=e[0][0],v=e[0][1],x=e[0][2],_=e[1][0],b=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(e_||rb||nw)},k=10*n.distance(e[0],e[1])/c,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,c=0;cS&&(S=F),D.push(F),g.push({points:I,velocities:P,divergences:D});for(var B=0;B<100*c&&I.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,L),z=d(N),n.squaredDistance(O,N)-A>-1e-4*A&&(I.push(N),O=N,P.push(z),R=m(N,z),F=n.length(R),isFinite(F)&&F>S&&(S=F),D.push(F)),L=N}}var U=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;c.push(f[T],p[T],p[k],p[k],f[k],f[T]),h.push(v,y,y,y,v,v),d.push(m,g,g,g,m,m);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=f;f=p,p=M;var S=v;v=y,y=S;var E=m;m=g,g=E}return{positions:c,cells:u,vectors:h,vertexIntensity:d}}(t,r,a,o)})),h=[],f=[],p=[],d=[];for(s=0;s max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 lowerBound, upperBound;\\nuniform float contourTint;\\nuniform vec4 contourColor;\\nuniform sampler2D colormap;\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform float vertexColor;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n if (\\n kill > 0.0 ||\\n vColor.a == 0.0 ||\\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\\n ) discard;\\n\\n vec3 N = normalize(surfaceNormal);\\n vec3 V = normalize(eyeDirection);\\n vec3 L = normalize(lightDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n //decide how to interpolate color — in vertex or in fragment\\n vec4 surfaceColor =\\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\\n step(.5, vertexColor) * vColor;\\n\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\\n}\\n\"]),s=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute float f;\\n\\nuniform vec3 objectOffset;\\nuniform mat3 permutation;\\nuniform mat4 model, view, projection;\\nuniform float height, zOffset;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\\n worldCoordinate = objectOffset + dataCoordinate;\\n mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\\n vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 1.0);\\n\\n vec4 clipPosition = projection * (view * worldPosition);\\n clipPosition.z += zOffset;\\n\\n gl_Position = clipPosition;\\n value = f + objectOffset.z;\\n kill = -1.0;\\n planeCoordinate = uv.zw;\\n\\n vColor = texture2D(colormap, vec2(value, value));\\n\\n //Don't do lighting for contours\\n surfaceNormal = vec3(1,0,0);\\n eyeDirection = vec3(0,1,0);\\n lightDirection = vec3(0,0,1);\\n}\\n\"]),l=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec2 shape;\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 surfaceNormal;\\n\\nvec2 splitFloat(float v) {\\n float vh = 255.0 * v;\\n float upper = floor(vh);\\n float lower = fract(vh);\\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\\n}\\n\\nvoid main() {\\n if ((kill > 0.0) ||\\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\\n\\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\\n}\\n\"]);e.createShader=function(t){var e=n(t,a,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createPickShader=function(t){var e=n(t,a,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createContourShader=function(t){var e=n(t,s,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},e.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},9499:function(t,e,r){\"use strict\";t.exports=function(t){var e=t.gl,r=v(e),n=_(e),s=x(e),l=b(e),c=i(e),u=a(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),h=i(e),f=a(e,[{buffer:h,size:4,stride:20,offset:0},{buffer:h,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),m=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);m.minFilter=e.LINEAR,m.magFilter=e.LINEAR;var g=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,m,s,l,h,f,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var T in t)y[T]=t[T];return y.colormap=y.colormap||\"jet\",g.update(y),g};var n=r(8828),i=r(2762),a=r(8116),o=r(7766),s=r(1888),l=r(6729),c=r(5298),u=r(9994),h=r(9618),f=r(3711),p=r(6760),d=r(7608),m=r(2478),g=r(6199),y=r(990),v=y.createShader,x=y.createContourShader,_=y.createPickShader,b=y.createPickContourShader,w=40,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,i,a,o,l,c,u,f,p,d,m,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=f,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=m,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var C=E.prototype;C.genColormap=function(t,e){var r=!1,n=u([l({colormap:t,nshades:S,format:\"rgba\"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return c.divseq(n,255),this.hasAlphaScale=r,n},C.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},C.isOpaque=function(){return!this.isTransparent()},C.pickSlots=1,C.setPickBase=function(t){this.pickId=t};var L=[0,0,0],I={showSurface:!1,showContour:!1,projections:[T.slice(),T.slice(),T.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function P(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||L,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=I.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var c=I.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return I.showSurface=o,I.showContour=s,I}var z={model:T,view:T,projection:T,inverseModel:T.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},O=T.slice(),D=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=z;n.model=t.model||T,n.view=t.view||T,n.projection=t.projection||T,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=O;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=P(n,this);if(u.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var f=this._contourVAO;for(f.bind(),i=0;i<3;++i)for(h.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var h=u?a:1-a,f=0;f<2;++f)for(var p=i+u,d=s+f,g=h*(f?l:1-l),y=0;y<3;++y)c[y]+=this._field[y].get(p,d)*g;for(var v=this._pickResult.level,x=0;x<3;++x)if(v[x]=m.le(this.contourLevels[x],c[x]),v[x]<0)this.contourLevels[x].length>0&&(v[x]=0);else if(v[x]Math.abs(b-c[x])&&(v[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},C.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},C.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in t&&(this.contourWidth=B(t.contourWidth,Number)),\"showContour\"in t&&(this.showContour=B(t.showContour,Boolean)),\"showSurface\"in t&&(this.showSurface=!!t.showSurface),\"contourTint\"in t&&(this.contourTint=B(t.contourTint,Boolean)),\"contourColor\"in t&&(this.contourColor=j(t.contourColor)),\"contourProject\"in t&&(this.contourProject=B(t.contourProject,(function(t){return B(t,Boolean)}))),\"surfaceProject\"in t&&(this.surfaceProject=t.surfaceProject),\"dynamicColor\"in t&&(this.dynamicColor=j(t.dynamicColor)),\"dynamicTint\"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),\"dynamicWidth\"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),\"opacity\"in t&&(this.opacity=t.opacity),\"opacityscale\"in t&&(this.opacityscale=t.opacityscale),\"colorBounds\"in t&&(this.colorBounds=t.colorBounds),\"vertexColor\"in t&&(this.vertexColor=t.vertexColor?1:0),\"colormap\"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),\"field\"in t||\"coords\"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=h(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(o=0;o<2;++o){var c=l[o];for(y=0;y<2;++y)if(c.shape[y]!==a[y])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[o],c)}}else if(t.ticks){var u=t.ticks;if(!Array.isArray(u)||2!==u.length)throw new Error(\"gl-surface: invalid ticks\");for(o=0;o<2;++o){var p=u[o];if((Array.isArray(p)||p.length)&&(p=h(p)),p.shape[0]!==a[o])throw new Error(\"gl-surface: invalid tick length\");var d=h(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var m=[0,0];m[o]=1,this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2],m,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xt=0;xt<5;++xt)K.pop();U-=1}continue t}K.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=rt}var _t=s.mallocFloat(K.length);for(o=0;os||o[1]<0||o[1]>s)throw new Error(\"gl-texture2d: Invalid texture size\");var l=d(o,e.stride.slice()),c=0;\"float32\"===r?c=t.FLOAT:\"float64\"===r?(c=t.FLOAT,l=!1,r=\"float32\"):\"uint8\"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r=\"uint8\");var h,p,g=0;if(2===o.length)g=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===o[2])g=t.ALPHA;else if(2===o[2])g=t.LUMINANCE_ALPHA;else if(3===o[2])g=t.RGB;else{if(4!==o[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");g=t.RGBA}}c!==t.FLOAT||t.getExtension(\"OES_texture_float\")||(c=t.UNSIGNED_BYTE,l=!1);var y=e.size;if(l)h=0===e.offset&&e.data.length===y?e.data:e.data.subarray(e.offset,e.offset+y);else{var v=[o[2],o[2]*o[0],1];p=a.malloc(y,r);var x=n(p,o,v,0);\"float32\"!==r&&\"float64\"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):u(x,e),h=p.subarray(0,y)}var _=m(t);return t.texImage2D(t.TEXTURE_2D,0,g,o[0],o[1],0,g,c,h),l||a.free(p),new f(t,_,o[0],o[1],g,c)}(t,e)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")};var o=null,s=null,l=null;function c(t){return\"undefined\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||\"undefined\"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||\"undefined\"!=typeof ImageData&&t instanceof ImageData}var u=function(t,e){i.muls(t,e,255)};function h(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\"gl-texture2d: Invalid texture size\");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function f(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=f.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function m(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function g(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\"gl-texture2d: Invalid texture shape\");if(i===t.FLOAT&&!t.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var o=m(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new f(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error(\"gl-texture2d: Invalid texture shape\")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l);else{if(!(t.shape&&t.stride&&t.data))throw new Error(\"gl-texture2d: Unsupported data type\");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");!function(t,e,r,o,s,l,c,h){var f=h.dtype,p=h.shape.slice();if(p.length<2||p.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var m=0,g=0,y=d(p,h.stride.slice());if(\"float32\"===f?m=t.FLOAT:\"float64\"===f?(m=t.FLOAT,y=!1,f=\"float32\"):\"uint8\"===f?m=t.UNSIGNED_BYTE:(m=t.UNSIGNED_BYTE,y=!1,f=\"uint8\"),2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],h=n(h.data,p,[h.stride[0],h.stride[1],1],h.offset);else{if(3!==p.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");g=t.RGBA}p[2]}if(g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s),g!==s)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var v=h.size,x=c.indexOf(o)<0;if(x&&c.push(o),m===l&&y)0===h.offset&&h.data.length===v?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data.subarray(h.offset,h.offset+v)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data.subarray(h.offset,h.offset+v));else{var _;_=l===t.FLOAT?a.mallocFloat32(v):a.mallocUint8(v);var b=n(_,p,[p[2],p[2]*p[0],1]);m===t.FLOAT&&l===t.UNSIGNED_BYTE?u(b,h):i.assign(b,h),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,_.subarray(0,v)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,_.subarray(0,v)),l===t.FLOAT?a.freeFloat32(_):a.freeUint8(_)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},1433:function(t){\"use strict\";t.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error(\"gl-vao: Too many vertex attributes\");for(var i=0;i1?0:Math.acos(s)};var n=r(2825),i=r(3536),a=r(244)},9226:function(t){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},3126:function(t){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},3990:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},1091:function(t){t.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},5911:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},5455:function(t,e,r){t.exports=r(7056)},7056:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(t,e,r){t.exports=r(6690)},6690:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},244:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},2613:function(t){t.exports=1e-6},9922:function(t,e,r){t.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(2613)},9265:function(t){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},2681:function(t){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},5137:function(t,e,r){t.exports=function(t,e,r,i,a,o){var s,l;for(e||(e=3),r||(r=0),l=i?Math.min(i*e+r,t.length):t.length,s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},7636:function(t){t.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},6894:function(t){t.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=i+o*c-s*l,t[2]=a+o*l+s*c,t}},109:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+s*l+o*c,t[1]=e[1],t[2]=a+s*c-o*l,t}},8692:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+o*c-s*l,t[1]=a+o*l+s*c,t[2]=e[2],t}},2447:function(t){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},6621:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},8489:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},1463:function(t){t.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},6141:function(t,e,r){t.exports=r(2953)},5486:function(t,e,r){t.exports=r(3066)},2953:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},3066:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},2229:function(t,e,r){t.exports=r(6843)},6843:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},492:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},5673:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},264:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,f=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t}},4361:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},2335:function(t){t.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},2933:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},7536:function(t){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},4691:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},1373:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},3750:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},3390:function(t){t.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},9970:function(t,e,r){t.exports={create:r(7536),clone:r(2335),fromValues:r(3390),copy:r(2933),set:r(4578),add:r(4361),subtract:r(6860),multiply:r(3576),divide:r(1373),min:r(2334),max:r(160),scale:r(9288),scaleAndAdd:r(4844),distance:r(4691),squaredDistance:r(7960),length:r(6808),squaredLength:r(483),negate:r(1498),inverse:r(4494),normalize:r(5177),dot:r(3750),lerp:r(2573),random:r(9131),transformMat4:r(5352),transformQuat:r(4041)}},4494:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},6808:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},2573:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},160:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},2334:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},3576:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},1498:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},5177:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t}},9131:function(t,e,r){var n=r(5177),i=r(9288);t.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},9288:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},4844:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},4578:function(t){t.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},7960:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},483:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},6860:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},5352:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},4041:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,f=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t[3]=e[3],t}},1848:function(t,e,r){var n=r(4905),i=r(6468);t.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join(\"\")}return N(r),I+=r.length,(S=S.slice(r.length)).length}}function Z(){return/[^a-fA-F0-9]/.test(e)?(N(S.join(\"\")),M=l,k):(S.push(e),r=e,k+1)}function W(){return\".\"===e||/[eE]/.test(e)?(S.push(e),M=m,r=e,k+1):\"x\"===e&&1===S.length&&\"0\"===S[0]?(M=b,S.push(e),r=e,k+1):/[^\\d]/.test(e)?(N(S.join(\"\")),M=l,k):(S.push(e),r=e,k+1)}function Y(){return\"f\"===e&&(S.push(e),r=e,k+=1),/[eE]/.test(e)?(S.push(e),r=e,k+1):(\"-\"!==e&&\"+\"!==e||!/[eE]/.test(r))&&/[^\\d]/.test(e)?(N(S.join(\"\")),M=l,k):(S.push(e),r=e,k+1)}function X(){if(/[^\\d\\w_]/.test(e)){var t=S.join(\"\");return M=B[t]?v:F[t]?y:g,N(S.join(\"\")),M=l,k}return S.push(e),r=e,k+1}};var n=r(620),i=r(7827),a=r(6852),o=r(7932),s=r(3508),l=999,c=9999,u=0,h=1,f=2,p=3,d=4,m=5,g=6,y=7,v=8,x=9,_=10,b=11,w=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"]},3508:function(t,e,r){var n=r(6852);n=n.slice().filter((function(t){return!/^(gl\\_|texture)/.test(t)})),t.exports=n.concat([\"gl_VertexID\",\"gl_InstanceID\",\"gl_Position\",\"gl_PointSize\",\"gl_FragCoord\",\"gl_FrontFacing\",\"gl_FragDepth\",\"gl_PointCoord\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexUniformVectors\",\"gl_MaxVertexOutputVectors\",\"gl_MaxFragmentInputVectors\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxTextureImageUnits\",\"gl_MaxFragmentUniformVectors\",\"gl_MaxDrawBuffers\",\"gl_MinProgramTexelOffset\",\"gl_MaxProgramTexelOffset\",\"gl_DepthRangeParameters\",\"gl_DepthRange\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"])},6852:function(t){t.exports=[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]},7932:function(t,e,r){var n=r(620);t.exports=n.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\"])},620:function(t){t.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"uint\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"]},7827:function(t){t.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},4905:function(t,e,r){var n=r(5874);t.exports=function(t,e){var r=n(e),i=[];return(i=i.concat(r(t))).concat(r(null))}},3236:function(t){t.exports=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}},8954:function(t,e,r){\"use strict\";t.exports=function(t,e){var r=t.length;if(0===r)throw new Error(\"Must have at least d+1 points\");var i=t[0].length;if(r<=i)throw new Error(\"Must input at least d+1 points\");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error(\"Input not in general position\");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);var h=new a(l,new Array(i+1),!1),f=h.adjacent,p=new Array(i+2);for(u=0;u<=i;++u){for(var d=l.slice(),m=0;m<=i;++m)m===u&&(d[m]=-1);var g=d[0];d[0]=d[1],d[1]=g;var y=new a(d,new Array(i+1),!0);f[u]=y,p[u]=y}for(p[i+1]=h,u=0;u<=i;++u){d=f[u].vertices;var v=f[u].adjacent;for(m=0;m<=i;++m){var x=d[m];if(x<0)v[m]=h;else for(var _=0;_<=i;++_)f[_].vertices.indexOf(x)<0&&(v[m]=f[_])}}var b=new c(i,o,p),w=!!e;for(u=i+1;u0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,h=0;h<=r;++h){var f=u[h];i[h]=f<0?e:a[f]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];for(s.lastVisited=r,u=0;u<=n;++u){var h=c[u];if(!(h.lastVisited>=r)){var f=a[u];a[u]=t;var p=this.orient();if(a[u]=f,p<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,h=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var f=[];h.length>0;){var p=(e=h.pop()).vertices,d=e.adjacent,m=p.indexOf(r);if(!(m<0))for(var g=0;g<=n;++g)if(g!==m){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var v=y.vertices;if(y.lastVisited!==-r){for(var x=0,_=0;_<=n;++_)v[_]<0?(x=_,l[_]=t):l[_]=i[v[_]];if(this.orient()>0){v[x]=r,y.boundary=!1,c.push(y),h.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var b=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);u.push(k);var A=b.indexOf(e);if(!(A<0))for(b[A]=k,T[m]=y,w[g]=-1,T[g]=e,d[g]=k,k.flip(),_=0;_<=n;++_){var M=w[_];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var L=w[C];L<0||C===_||(S[E++]=L)}f.push(new o(S,k,_))}}}}}for(f.sort(s),g=0;g+1=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e}},3352:function(t,e,r){\"use strict\";var n=r(2478);function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}t.exports=function(t){return t&&0!==t.length?new y(g(t)):new y(null)};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=g(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function c(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function u(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function f(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,m);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?c(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?c(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid?this.right&&(r=this.right.queryPoint(t,e))?r:h(this.rightPoints,t,e):f(this.leftPoints,e);var r},a.queryInterval=function(t,e,r){var n;return tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r))?n:ethis.mid?h(this.rightPoints,t,r):f(this.leftPoints,r)};var v=y.prototype;v.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},v.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},v.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},v.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(v,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(v,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}})},7762:function(t){\"use strict\";t.exports=function(t){for(var e=new Array(t),r=0;r13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},395:function(t){t.exports=function(t,e,r){return t*(1-r)+e*r}},2652:function(t,e,r){var n=r(4335),i=r(6864),a=r(1903),o=r(9921),s=r(7608),l=r(5665),c={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},u=i(),h=i(),f=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function m(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}t.exports=function(t,e,r,i,g,y){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(u,t))return!1;if(a(h,u),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(o(h)<1e-8))return!1;var v,x,_,b,w,T,k,A=u[3],M=u[7],S=u[11],E=u[12],C=u[13],L=u[14],I=u[15];if(0!==A||0!==M||0!==S){if(f[0]=A,f[1]=M,f[2]=S,f[3]=I,!s(h,h))return!1;l(h,h),v=g,_=h,b=(x=f)[0],w=x[1],T=x[2],k=x[3],v[0]=_[0]*b+_[4]*w+_[8]*T+_[12]*k,v[1]=_[1]*b+_[5]*w+_[9]*T+_[13]*k,v[2]=_[2]*b+_[6]*w+_[10]*T+_[14]*k,v[3]=_[3]*b+_[7]*w+_[11]*T+_[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=C,e[2]=L,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),m(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),m(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),m(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4335:function(t){t.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},7442:function(t,e,r){var n=r(6658),i=r(7182),a=r(2652),o=r(9921),s=r(8648),l=h(),c=h(),u=h();function h(){return{translate:f(),scale:f(1),skew:f(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function f(t){return[t||0,t||0,t||0]}t.exports=function(t,e,r,h){if(0===o(e)||0===o(r))return!1;var f=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!f||!p||(n(u.translate,l.translate,c.translate,h),n(u.skew,l.skew,c.skew,h),n(u.scale,l.scale,c.scale,h),n(u.perspective,l.perspective,c.perspective,h),s(u.quaternion,l.quaternion,c.quaternion,h),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},7182:function(t,e,r){var n={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},i=(n.create(),n.create());t.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},4192:function(t,e,r){\"use strict\";var n=r(2478),i=r(7442),a=r(7608),o=r(5567),s=r(2408),l=r(7089),c=r(6582),u=r(7656),h=(r(2504),r(3536)),f=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}t.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],f=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)f[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&f[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=f[c];else i(o,f,d,(t-e[r])/u)}var m=this.computedUp;m[0]=o[1],m[1]=o[5],m[2]=o[9],h(m,m);var g=this.computedInverse;a(g,o);var y=this.computedEye,v=g[15];y[0]=g[12]/v,y[1]=g[13]/v,y[2]=g[14]/v;var x=this.computedCenter,_=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=y[c]-o[2+4*c]*_}},d.idle=function(t){if(!(t1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var h=0,f=(i=0,o.length);i0;--p)r[h++]=s[p];return r};var n=r(3250)[3]},351:function(t,e,r){\"use strict\";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);\"buttons\"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function h(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function f(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function m(t){c(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener(\"mousemove\",p),t.addEventListener(\"mousedown\",d),t.addEventListener(\"mouseup\",m),t.addEventListener(\"mouseleave\",u),t.addEventListener(\"mouseenter\",u),t.addEventListener(\"mouseout\",u),t.addEventListener(\"mouseover\",u),t.addEventListener(\"blur\",h),t.addEventListener(\"keyup\",f),t.addEventListener(\"keydown\",f),t.addEventListener(\"keypress\",f),t!==window&&(window.addEventListener(\"blur\",h),window.addEventListener(\"keyup\",f),window.addEventListener(\"keydown\",f),window.addEventListener(\"keypress\",f)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener(\"mousemove\",p),t.removeEventListener(\"mousedown\",d),t.removeEventListener(\"mouseup\",m),t.removeEventListener(\"mouseleave\",u),t.removeEventListener(\"mouseenter\",u),t.removeEventListener(\"mouseout\",u),t.removeEventListener(\"mouseover\",u),t.removeEventListener(\"blur\",h),t.removeEventListener(\"keyup\",f),t.removeEventListener(\"keydown\",f),t.removeEventListener(\"keypress\",f),t!==window&&(window.removeEventListener(\"blur\",h),window.removeEventListener(\"keyup\",f),window.removeEventListener(\"keydown\",f),window.removeEventListener(\"keypress\",f)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4687)},24:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4687:function(t,e){\"use strict\";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0\"),\"function\"!=typeof t.vertex&&e(\"Must specify vertex creation function\"),\"function\"!=typeof t.cell&&e(\"Must specify cell creation function\"),\"function\"!=typeof t.phase&&e(\"Must specify phase function\");for(var o=t.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(\",\");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,s)};var i={\"false,0,1\":function(t,e,r,n,i){return function(a,o,s,l){var c,u=0|a.shape[0],h=0|a.shape[1],f=a.data,p=0|a.offset,d=0|a.stride[0],m=0|a.stride[1],g=p,y=0|-d,v=0,x=0|-m,_=0,b=-d-m|0,w=0,T=0|d,k=m-d*u|0,A=0,M=0,S=0,E=2*u|0,C=n(E),L=n(E),I=0,P=0,z=-1,O=-1,D=0,R=0|-u,F=0|u,B=0,N=-u-1|0,j=u-1|0,U=0,V=0,q=0;for(A=0;A0){if(M=1,C[I++]=r(f[g],o,s,l),g+=T,u>0)for(A=1,c=f[g],P=C[I]=r(c,o,s,l),D=C[I+z],B=C[I+R],U=C[I+N],P===D&&P===B&&P===U||(v=f[g+y],_=f[g+x],w=f[g+b],t(A,M,c,v,_,w,P,D,B,U,o,s,l),V=L[I]=S++),I+=1,g+=T,A=2;A0)for(A=1,c=f[g],P=C[I]=r(c,o,s,l),D=C[I+z],B=C[I+R],U=C[I+N],P===D&&P===B&&P===U||(v=f[g+y],_=f[g+x],w=f[g+b],t(A,M,c,v,_,w,P,D,B,U,o,s,l),V=L[I]=S++,U!==B&&e(L[I+R],V,_,w,B,U,o,s,l)),I+=1,g+=T,A=2;A0){if(A=1,C[I++]=r(f[g],o,s,l),g+=T,h>0)for(M=1,c=f[g],P=C[I]=r(c,o,s,l),B=C[I+R],D=C[I+z],U=C[I+N],P===B&&P===D&&P===U||(v=f[g+y],_=f[g+x],w=f[g+b],t(A,M,c,v,_,w,P,B,D,U,o,s,l),V=L[I]=S++),I+=1,g+=T,M=2;M0)for(M=1,c=f[g],P=C[I]=r(c,o,s,l),B=C[I+R],D=C[I+z],U=C[I+N],P===B&&P===D&&P===U||(v=f[g+y],_=f[g+x],w=f[g+b],t(A,M,c,v,_,w,P,B,D,U,o,s,l),V=L[I]=S++,U!==B&&e(L[I+R],V,w,v,U,B,o,s,l)),I+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}t.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,\"string\"==typeof r?r:\"clamp\")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=u[e])return a;for(var r=t.length,n=[h,f],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return u[e]=a,a}(r)(t,e)}},4317:function(t){\"use strict\";function e(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var _=0|t[1];_>0;){_<64?(c=_,_=0):(c=64,_-=64),n=y+x*h+_*f,o=v+x*d+_*m;var b=0,w=0,T=0,k=p,A=h-u*p,M=f-l*h,S=g,E=d-u*g,C=m-l*d;for(T=0;T0;){m<64?(l=m,m=0):(l=64,m-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+m*u+g*c,o=d+m*f+g*h;var y=0,v=0,x=u,_=c-l*u,b=f,w=h-l*f;for(v=0;v0;){v<64?(c=v,v=0):(c=64,v-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var _=0|t[1];_>0;){_<64?(l=_,_=0):(l=64,_-=64),n=g+v*f+x*u+_*h,o=y+v*m+x*p+_*d;var b=0,w=0,T=0,k=f,A=u-c*f,M=h-s*u,S=m,E=p-c*m,C=d-s*p;for(T=0;Tr;){y=0,v=m-o;e:for(g=0;g_)break e;v+=h,y+=f}for(y=m,v=m-o,g=0;g>1,H=q-j,G=q+j,Z=U,W=H,Y=q,X=G,$=V,J=i+1,K=a-1,Q=!0,tt=0,et=0,rt=0,nt=h,it=e(nt),at=e(nt);A=l*Z,M=l*W,N=s;t:for(k=0;k0){g=Z,Z=W,W=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*$,N=s;t:for(k=0;k0){g=X,X=$,$=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*Y,N=s;t:for(k=0;k0){g=Z,Z=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*X,N=s;t:for(k=0;k0){g=Z,Z=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*$,N=s;t:for(k=0;k0){g=W,W=$,$=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*$,N=s;t:for(k=0;k0){g=X,X=$,$=g;break t}if(rt<0)break t;N+=p}for(A=l*Z,M=l*W,S=l*Y,E=l*X,C=l*$,L=l*U,I=l*q,P=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*_,M=l*J,S=l*K,N=s,k=0;k0)for(;;){for(b=s+K*l,B=0,k=0;k0)){for(b=s+K*l,B=0,k=0;kV){t:for(;;){for(b=s+J*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,c)}},446:function(t,e,r){\"use strict\";var n=r(7640),i={};t.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(\":\"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},9618:function(t,e,r){var n=r(7163),i=\"undefined\"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return\"number\"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return\"number\"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return\"number\"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),\"number\"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,c=Math.ceil;return\"number\"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=c(-r/l)):r=c(r/l),a*=l),\"number\"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=c(-i/l)):i=c(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return\"number\"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),\"number\"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,\"order\",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,\"number\"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.stride[0],u=this.stride[1],h=this.stride[2];return\"number\"==typeof t&&t>=0&&(i+=c*(a=0|t),o-=a),\"number\"==typeof e&&e>=0&&(i+=u*(a=0|e),s-=a),\"number\"==typeof r&&r>=0&&(i+=h*(a=0|r),l-=a),new n(this.data,o,s,l,c,u,h,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],c=this.stride[2],u=this.offset,h=0,f=Math.ceil;return\"number\"==typeof t&&((h=0|t)<0?(u+=s*(i-1),i=f(-i/h)):i=f(i/h),s*=h),\"number\"==typeof e&&((h=0|e)<0?(u+=l*(a-1),a=f(-a/h)):a=f(a/h),l*=h),\"number\"==typeof r&&((h=0|r)<0?(u+=c*(o-1),o=f(-o/h)):o=f(o/h),c*=h),new n(this.data,i,a,o,s,l,c,u)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return\"number\"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),\"number\"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),\"number\"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,c){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|c}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,\"order\",{get:r}),i.set=function(e,r,n,i,a){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,\"number\"!=typeof r||r<0?this.shape[2]:0|r,\"number\"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],c=this.shape[2],u=this.shape[3],h=this.stride[0],f=this.stride[1],p=this.stride[2],d=this.stride[3];return\"number\"==typeof t&&t>=0&&(a+=h*(o=0|t),s-=o),\"number\"==typeof e&&e>=0&&(a+=f*(o=0|e),l-=o),\"number\"==typeof r&&r>=0&&(a+=p*(o=0|r),c-=o),\"number\"==typeof i&&i>=0&&(a+=d*(o=0|i),u-=o),new n(this.data,s,l,c,u,h,f,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],c=this.stride[0],u=this.stride[1],h=this.stride[2],f=this.stride[3],p=this.offset,d=0,m=Math.ceil;return\"number\"==typeof t&&((d=0|t)<0?(p+=c*(a-1),a=m(-a/d)):a=m(a/d),c*=d),\"number\"==typeof e&&((d=0|e)<0?(p+=u*(o-1),o=m(-o/d)):o=m(o/d),u*=d),\"number\"==typeof r&&((d=0|r)<0?(p+=h*(s-1),s=m(-s/d)):s=m(s/d),h*=d),\"number\"==typeof i&&((d=0|i)<0?(p+=f*(l-1),l=m(-l/d)):l=m(l/d),f*=d),new n(this.data,a,o,s,l,c,u,h,f,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return\"number\"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),\"number\"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),\"number\"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),\"number\"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,c,u,h){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,c,u],this.offset=0|h}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,\"order\",{get:r}),i.set=function(e,r,n,i,a,o){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,\"number\"!=typeof r||r<0?this.shape[2]:0|r,\"number\"!=typeof i||i<0?this.shape[3]:0|i,\"number\"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],c=this.shape[1],u=this.shape[2],h=this.shape[3],f=this.shape[4],p=this.stride[0],d=this.stride[1],m=this.stride[2],g=this.stride[3],y=this.stride[4];return\"number\"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),\"number\"==typeof e&&e>=0&&(o+=d*(s=0|e),c-=s),\"number\"==typeof r&&r>=0&&(o+=m*(s=0|r),u-=s),\"number\"==typeof i&&i>=0&&(o+=g*(s=0|i),h-=s),\"number\"==typeof a&&a>=0&&(o+=y*(s=0|a),f-=s),new n(this.data,l,c,u,h,f,p,d,m,g,y,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.shape[3],u=this.shape[4],h=this.stride[0],f=this.stride[1],p=this.stride[2],d=this.stride[3],m=this.stride[4],g=this.offset,y=0,v=Math.ceil;return\"number\"==typeof t&&((y=0|t)<0?(g+=h*(o-1),o=v(-o/y)):o=v(o/y),h*=y),\"number\"==typeof e&&((y=0|e)<0?(g+=f*(s-1),s=v(-s/y)):s=v(s/y),f*=y),\"number\"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=v(-l/y)):l=v(l/y),p*=y),\"number\"==typeof i&&((y=0|i)<0?(g+=d*(c-1),c=v(-c/y)):c=v(c/y),d*=y),\"number\"==typeof a&&((y=0|a)<0?(g+=m*(u-1),u=v(-u/y)):u=v(u/y),m*=y),new n(this.data,o,s,l,c,u,h,f,p,d,m,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return\"number\"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),\"number\"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),\"number\"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),\"number\"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),\"number\"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?\"T\":String(e),n=s[r];return-1===e?n(t):0===e?n(t,c[t][0]):n(t,c[t],o)}var c={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};t.exports=function(t,e,r,a){if(void 0===t)return(0,c.array[0])([]);\"number\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===a)for(a=0,s=0;s>>0;t.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);return e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},8406:function(t,e){e.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var _=i[c],b=1/Math.sqrt(g*v);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;_[x]+=b*(y[w]*m[T]-y[T]*m[w])}}}for(o=0;oa)for(b=1/Math.sqrt(k),x=0;x<3;++x)_[x]*=b;else for(x=0;x<3;++x)_[x]=0}return i},e.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,c=0;c<3;++c)f[c]*=p;i[o]=f}return i}},4081:function(t){\"use strict\";t.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(h>0){var h=Math.sqrt(u+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-a)/h,t[3]=.5*h}else{var f=Math.max(e,a,c);h=Math.sqrt(2*f-u+1),e>=f?(t[0]=.5*h,t[1]=.5*(i+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):a>=f?(t[0]=.5*(r+i)/h,t[1]=.5*h,t[2]=.5*(l+o)/h,t[3]=.5*(s-n)/h):(t[0]=.5*(n+s)/h,t[1]=.5*(o+l)/h,t[2]=.5*h,t[3]=.5*(r-i)/h)}return t}},9977:function(t,e,r){\"use strict\";t.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var i=new h(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),(\"eye\"in t||\"up\"in t)&&i.lookAt(0,t.eye,t.center,t.up),i};var n=r(9215),i=r(6582),a=r(7399),o=r(7608),s=r(4081);function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function h(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var f=h.prototype;f.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},f.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,h=0;h<3;++h)c+=r[l+4*h]*i[h];r[12+l]=-c}},f.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},f.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},f.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},f.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],h=i[4],f=i[8],p=u*a+h*o+f*s,d=l(u-=a*p,h-=o*p,f-=s*p);u/=d,h/=d,f/=d;var m=i[2],g=i[6],y=i[10],v=m*a+g*o+y*s,x=m*u+g*h+y*f,_=l(m-=v*a+x*u,g-=v*o+x*h,y-=v*s+x*f);m/=_,g/=_,y/=_;var b=u*e+a*r,w=h*e+o*r,T=f*e+s*r;this.center.move(t,b,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},f.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],h=i[5],f=i[9],p=i[2],d=i[6],m=i[10],g=e*a+r*u,y=e*o+r*h,v=e*s+r*f,x=-(d*v-m*y),_=-(m*g-p*v),b=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(_,2)-Math.pow(b,2))),T=c(x,_,b,w);T>1e-6?(x/=T,_/=T,b/=T,w/=T):(x=_=b=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],C=A*w+E*x+M*b-S*_,L=M*w+E*_+S*x-A*b,I=S*w+E*b+A*_-M*x,P=E*w-A*x-M*_-S*b;if(n){x=p,_=d,b=m;var z=Math.sin(n)/l(x,_,b);x*=z,_*=z,b*=z,P=P*(w=Math.cos(e))-(C=C*w+P*x+L*b-I*_)*x-(L=L*w+P*_+I*x-C*b)*_-(I=I*w+P*b+C*_-L*x)*b}var O=c(C,L,I,P);O>1e-6?(C/=O,L/=O,I/=O,P/=O):(C=L=I=0,P=1),this.rotation.set(t,C,L,I,P)},f.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},f.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},f.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var h=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*h,l-n[6]*h,c-n[10]*h),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},f.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},f.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},f.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},f.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},f.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},1371:function(t,e,r){\"use strict\";var n=r(3233);t.exports=function(t,e,r){return n(r=void 0!==r?r+\"\":\" \",e)+t}},3202:function(t){t.exports=function(t,e){e||(e=[0,\"\"]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",e}},3088:function(t,e,r){\"use strict\";t.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[u][r][0],l=u;break}s=o[1^l];for(var h=0;h<2;++h)for(var f=a[h][r],p=0;p0&&(o=d,s=m,l=h)}return i||o&&c(o,l),s}function h(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],h=t,f=o[1],p=u(l,h,!0);if(n(e[l],e[h],e[f],e[p])<0)break;o.push(t),s=u(l,h)}return o}function f(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var m=h(o,p);f(0,m)?d.push.apply(d,m):(d.length>0&&l.push(d),d=m)}d.length>0&&l.push(d)}return l};var n=r(3140)},5609:function(t,e,r){\"use strict\";t.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){i[p=o.pop()]=!1;var c=r[p];for(s=0;s0}))).length,g=new Array(m),y=new Array(m);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];for(0===V&&(j=[q=d[B]]),p=0;p=0||(F[H]=1^V,R.push(H),0===V&&(D(q=d[H])||(q.reverse(),j.push(q))))}0===V&&r.push(j)}return r};var n=r(3134),i=r(3088),a=r(5085),o=r(5250),s=r(8210),l=r(1682),c=r(5609);function u(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(y.slabs,y.coordinates);return 0===a.length?v:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),v)};var n=r(3250)[3],i=r(4209),a=r(3352),o=r(2478);function s(){return!0}function l(t){for(var e={},r=0;r=c?(k=1,v=c+2*f+d):v=f*(k=-f/c)+d):(k=0,p>=0?(A=0,v=d):-p>=h?(A=1,v=h+2*p+d):v=p*(A=-p/h)+d);else if(A<0)A=0,f>=0?(k=0,v=d):-f>=c?(k=1,v=c+2*f+d):v=f*(k=-f/c)+d;else{var M=1/T;v=(k*=M)*(c*k+u*(A*=M)+2*f)+A*(u*k+h*A+2*p)+d}else k<0?(_=h+p)>(x=u+f)?(b=_-x)>=(w=c-2*u+h)?(k=1,A=0,v=c+2*f+d):v=(k=b/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d:(k=0,_<=0?(A=1,v=h+2*p+d):p>=0?(A=0,v=d):v=p*(A=-p/h)+d):A<0?(_=c+f)>(x=u+p)?(b=_-x)>=(w=c-2*u+h)?(A=1,k=0,v=h+2*p+d):v=(k=1-(A=b/w))*(c*k+u*A+2*f)+A*(u*k+h*A+2*p)+d:(A=0,_<=0?(k=1,v=c+2*f+d):f>=0?(k=0,v=d):v=f*(k=-f/c)+d):(b=h+p-u-f)<=0?(k=0,A=1,v=h+2*p+d):b>=(w=c-2*u+h)?(k=1,A=0,v=c+2*f+d):v=(k=b/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d;var S=1-k-A;for(l=0;l0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},3233:function(t){\"use strict\";var e,r=\"\";t.exports=function(t,n){if(\"string\"!=typeof t)throw new TypeError(\"expected a string\");if(1===n)return t;if(2===n)return t+t;var i=t.length*n;if(e!==t||void 0===e)e=t,r=\"\";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=t),n>>=1,t+=t;return r=(r+=t).substr(0,i)}},3025:function(t,e,r){t.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(t){\"use strict\";t.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r;(l=(s=t[i])-((r=a+s)-a))&&(t[--n]=r,r=l)}var o=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:h(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],h=e[2]-n[2],p=r[2]-n[2],d=a*c,m=o*l,g=o*s,y=i*c,v=i*l,x=a*s,_=u*(d-m)+h*(g-y)+p*(v-x),b=7771561172376103e-31*((Math.abs(d)+Math.abs(m))*Math.abs(u)+(Math.abs(g)+Math.abs(y))*Math.abs(h)+(Math.abs(v)+Math.abs(x))*Math.abs(p));return _>b||-_>b?_:f(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=u(t.length)),e.apply(void 0,t)}function m(t,e,r,n,i,a,o){return function(e,r,s,l,c){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,c)}for(var u=new Array(arguments.length),h=0;h0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],h=Math.min(c,u);if(Math.max(c,u)=n?(i=h,(l+=1)=n?(i=h,(l+=1)>1,c=e[2*l+1];if(c===a)return l;a>1,c=e[2*l+1];if(c===a)return l;a>1,c=e[2*l+1];if(c===a)return l;a0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.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},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.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},e.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},e.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},e.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},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},2014:function(t,e,r){\"use strict\";var n=r(3105),i=r(4623);function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),c=i(e[0],e[1]);return(s=i(l,t[2])-i(c,e[2]))||i(l+t[2],a)-i(c+e[2],o);default:var u=t.slice(0);u.sort();var h=e.slice(0);h.sort();for(var f=0;f>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function h(t,e){if(e<0)return[];for(var r=[],i=(1<>>u&1&&c.push(i[u]);e.push(c)}return s(e)},e.skeleton=h,e.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=y(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=v(t);if(!(r>=0&&e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return c[r]===e?t:(c[r]=-1/0,_(t),b(),c[r]=e,_((M+=1)-1))}function T(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],m(e)),A[r]>=0&&w(A[r],m(r))}}var k=[],A=new Array(a);for(h=0;h>1;h>=0;--h)x(h);for(;;){var S=b();if(S<0||c[S]>r)break;T(S)}var E=[];for(h=0;h=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&L.push([n,i])}})),i.unique(i.normalize(L)),{positions:E,edges:L}};var n=r(3250),i=r(2014)},1303:function(t,e,r){\"use strict\";t.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=r(3250);function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return lu?s-u:l-u}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function h(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var h=this.horizontal[e];if(h.length>0){var f=n.ge(h,t[1],l);if(f=h.length)return i;p=h[f]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},5202:function(t,e,r){\"use strict\";var n=r(1944),i=r(8210);function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&u<0){var h=o(s,u,l,i);r.push(h),n.push(h.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},t.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},t.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},3387:function(t,e,r){var n;!function(){\"use strict\";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function a(t){return function(t,e){var r,n,o,s,l,c,u,h,f,p=1,d=t.length,m=\"\";for(n=0;n=0),s.type){case\"b\":r=parseInt(r,10).toString(2);break;case\"c\":r=String.fromCharCode(parseInt(r,10));break;case\"d\":case\"i\":r=parseInt(r,10);break;case\"j\":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case\"e\":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case\"f\":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case\"g\":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case\"o\":r=(parseInt(r,10)>>>0).toString(8);break;case\"s\":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case\"t\":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case\"T\":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case\"u\":r=parseInt(r,10)>>>0;break;case\"v\":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case\"x\":r=(parseInt(r,10)>>>0).toString(16);break;case\"X\":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?m+=r:(!i.number.test(s.type)||h&&!s.sign?f=\"\":(f=h?\"+\":\"-\",r=r.toString().replace(i.sign,\"\")),c=s.pad_char?\"0\"===s.pad_char?\"0\":s.pad_char.charAt(1):\" \",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):\"\",m+=s.align?f+r+l:\"0\"===c?f+l+r:l+f+r)}return m}(function(t){if(s[t])return s[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push(\"%\");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(e[2]){a|=1;var o=[],l=e[2],c=[];if(null===(c=i.key.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(o.push(c[1]);\"\"!==(l=l.substring(c[0].length));)if(null!==(c=i.key_access.exec(l)))o.push(c[1]);else{if(null===(c=i.index_access.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");o.push(c[1])}e[2]=o}else a|=2;if(3===a)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}var s=Object.create(null);e.sprintf=a,e.vsprintf=o,\"undefined\"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()},3711:function(t,e,r){\"use strict\";t.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,c,u,h,f){var p=(o<<0)+(s<<1)+(l<<2)+(c<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:u.push([t-.5,e-.5]);break;case 1:u.push([t-.25-.25*(n+r-2*f)/(r-n),e-.25-.25*(i+r-2*f)/(r-i)]);break;case 2:u.push([t-.75-.25*(-n-r+2*f)/(n-r),e-.25-.25*(a+n-2*f)/(n-a)]);break;case 3:u.push([t-.5,e-.5-.5*(i+r+a+n-4*f)/(r-i+n-a)]);break;case 4:u.push([t-.25-.25*(a+i-2*f)/(i-a),e-.75-.25*(-i-r+2*f)/(i-r)]);break;case 5:u.push([t-.5-.5*(n+r+a+i-4*f)/(r-n+i-a),e-.5]);break;case 6:u.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:u.push([t-.75-.25*(a+i-2*f)/(i-a),e-.75-.25*(a+n-2*f)/(n-a)]);break;case 8:u.push([t-.75-.25*(-a-i+2*f)/(a-i),e-.75-.25*(-a-n+2*f)/(a-n)]);break;case 9:u.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:u.push([t-.5-.5*(-n-r-a-i+4*f)/(n-r+a-i),e-.5]);break;case 11:u.push([t-.25-.25*(-a-i+2*f)/(a-i),e-.75-.25*(i+r-2*f)/(r-i)]);break;case 12:u.push([t-.5,e-.5-.5*(-i-r-a-n+4*f)/(i-r+a-n)]);break;case 13:u.push([t-.75-.25*(n+r-2*f)/(r-n),e-.25-.25*(-a-n+2*f)/(a-n)]);break;case 14:u.push([t-.25-.25*(-n-r+2*f)/(n-r),e-.25-.25*(-i-r+2*f)/(i-r)])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}},o={}},529:function(t,e,r){\"use strict\";t.exports=function t(e,r,i){var a=(i=i||{}).fontStyle||\"normal\",s=i.fontWeight||\"normal\",l=i.fontVariant||\"normal\",c=[a,s,l,e].join(\"_\"),u=o[c];u||(u=o[c]={\" \":{data:new Float32Array(0),shape:.2}});var h=u[r];if(!h)if(r.length<=1||!/\\d/.test(r))h=u[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(m+=.02);var y=new Float32Array(d),v=0,x=-.5*m;for(g=0;gMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function f(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=f.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var h=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=h;var f=this.computedToward;o(f,e,r),s(f,f);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),v=Math.cos(m),x=Math.sin(m),_=this.computedCenter,b=g*v,w=y*v,T=x,k=-g*x,A=-y*x,M=v,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var C=b*r[a]+w*f[a]+T*e[a];E[4*a+1]=k*r[a]+A*f[a]+M*e[a],E[4*a+2]=C,E[4*a+3]=0}var L=E[1],I=E[5],P=E[9],z=E[2],O=E[6],D=E[10],R=I*D-P*O,F=P*z-L*D,B=L*O-I*z,N=c(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=_[a]+E[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=E[a+4*j]*S[j];E[12+a]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];for(a(i,i,n,d),c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],h=i[4],f=i[8],p=u*a+h*o+f*s,d=c(u-=a*p,h-=o*p,f-=s*p),m=(u/=d)*e+a*r,g=(h/=d)*e+o*r,y=(f/=d)*e+s*r;this.center.move(t,m,g,y);var v=Math.exp(this.computedRadius[0]);v=Math.max(1e-4,v+n),this.radius.set(t,Math.log(v))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;\"number\"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],h=e[a+8];if(n){var f=Math.abs(s),p=Math.abs(l),d=Math.abs(h),m=Math.max(f,p,d);f===m?(s=s<0?-1:1,l=h=0):d===m?(h=h<0?-1:1,s=l=0):(l=l<0?-1:1,s=h=0)}else{var g=c(s,l,h);s/=g,l/=g,h/=g}var y,v,x=e[o],_=e[o+4],b=e[o+8],w=x*s+_*l+b*h,T=c(x-=s*w,_-=l*w,b-=h*w),k=l*(b/=T)-h*(_/=T),A=h*(x/=T)-s*b,M=s*_-l*x,S=c(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,H,G,Z),this.radius.idle(t),this.up.jump(t,s,l,h),this.right.jump(t,x,_,b),2===a){var E=e[1],C=e[5],L=e[9],I=E*x+C*_+L*b,P=E*k+C*A+L*M;y=R<0?-Math.PI/2:Math.PI/2,v=Math.atan2(P,I)}else{var z=e[2],O=e[6],D=e[10],R=z*s+O*l+D*h,F=z*x+O*_+D*b,B=z*k+O*A+D*M;y=Math.asin(u(R)),v=Math.atan2(B,F)}this.angle.jump(t,v,y),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,Z=V[14]/q,W=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*W,G-j*W,Z-U*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],h=e[1]-r[1],f=e[2]-r[2],p=c(l,h,f);if(!(p<1e-6)){l/=p,h/=p,f/=p;var d=this.computedRight,m=d[0],g=d[1],y=d[2],v=i*m+a*g+o*y,x=c(m-=v*i,g-=v*a,y-=v*o);if(!(x<.01&&(x=c(m=a*f-o*h,g=o*l-i*f,y=i*h-a*l))<1e-6)){m/=x,g/=x,y/=x,this.up.set(t,i,a,o),this.right.set(t,m,g,y),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var _=a*y-o*g,b=o*m-i*y,w=i*g-a*m,T=c(_,b,w),k=i*l+a*h+o*f,A=m*l+g*h+y*f,M=(_/=T)*l+(b/=T)*h+(w/=T)*f,S=Math.asin(u(k)),E=Math.atan2(M,A),C=this.angle._state,L=C[C.length-1],I=C[C.length-2];L%=2*Math.PI;var P=Math.abs(L+2*Math.PI-E),z=Math.abs(L-E),O=Math.abs(L-2*Math.PI-E);P0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function m(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function v(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function _(t){return new Float32Array(p(4*t),0,t)}function b(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=h[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))h[n.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){f(t.buffer)},e.freeArrayBuffer=f,e.freeBuffer=function(t){h[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return p(t);switch(e){case\"uint8\":return d(t);case\"uint16\":return m(t);case\"uint32\":return g(t);case\"int8\":return y(t);case\"int16\":return v(t);case\"int32\":return x(t);case\"float\":case\"float32\":return _(t);case\"double\":case\"float64\":return b(t);case\"uint8_clamped\":return w(t);case\"bigint64\":return k(t);case\"biguint64\":return T(t);case\"buffer\":return M(t);case\"data\":case\"dataview\":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=m,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=v,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=_,e.mallocFloat64=e.mallocDouble=b,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,h[t].length=0}},1755:function(t){\"use strict\";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+\"px\",n.font].filter((function(t){return t})).join(\" \"),r.textAlign=\"start\",r.textBaseline=\"alphabetic\",r.direction=\"ltr\",w(function(t,e,r,n,a,o){r=r.replace(/\\n/g,\"\"),r=!0===o.breaklines?r.replace(/\\/g,\"\\n\"):r.replace(/\\/g,\" \");var s=\"\",l=[];for(T=0;T-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(F(),\"?px \"),M*=Math.pow(.75,l-s),n=n.replace(\"?px \",F())),A+=.25*C*(l-s)}if(!0===o.superscripts){var c=t.indexOf(d),h=r.indexOf(d),p=c>-1?parseInt(t[1+c]):0,m=h>-1?parseInt(r[1+h]):0;p!==m&&(n=n.replace(F(),\"?px \"),M*=Math.pow(.75,m-p),n=n.replace(\"?px \",F())),A-=.25*C*(m-p)}if(!0===o.bolds){var g=t.indexOf(u)>-1,v=r.indexOf(u)>-1;!g&&v&&(n=x?n.replace(\"italic \",\"italic bold \"):\"bold \"+n),g&&!v&&(n=n.replace(\"bold \",\"\"))}if(!0===o.italics){var x=t.indexOf(f)>-1,_=r.indexOf(f)>-1;!x&&_&&(n=\"italic \"+n),x&&!_&&(n=n.replace(\"italic \",\"\"))}e.font=n}for(w=0;w\",a=\"\",o=i.length,s=a.length,l=e[0]===d||e[0]===y,c=0,u=-s;c>-1&&-1!==(c=r.indexOf(i,c))&&-1!==(u=r.indexOf(a,c+o))&&!(u<=c);){for(var h=c;h=u)n[h]=null,r=r.substr(0,h)+\" \"+r.substr(h+1);else if(null!==n[h]){var f=n[h].indexOf(e[0]);-1===f?n[h]+=e:l&&(n[h]=n[h].substr(0,f+1)+(1+parseInt(n[h][f+1]))+n[h].substr(f+2))}var p=c+o,m=r.substr(p,u-p).indexOf(i);c=-1!==m?m:u+s}return n}function _(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function b(t,e,r,n){var i=_(t,n),a=function(t,e,r){for(var n=e.textAlign||\"start\",i=e.textBaseline||\"alphabetic\",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i}))},has___:{value:x((function(e){var n=v(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:x((function(n,i){var a,o=v(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=v(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))}))}})};m.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),\"function\"==typeof r?function(){function n(){this instanceof m||_();var t,n=new r,i=void 0,a=!1;return t=e?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new m),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new m),i.set___(t,e)}else n.set(t,e);return this},Object.create(m.prototype,{get___:{value:x((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:x((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:x(t)},delete___:{value:x((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:x((function(t){if(t!==g)throw new Error(\"bogus call to permitHostObjects___\");a=!0}))}})}e&&\"undefined\"!=typeof Proxy&&(Proxy=void 0),n.prototype=m.prototype,t.exports=n,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\"undefined\"!=typeof Proxy&&(Proxy=void 0),t.exports=m)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function y(t){return!(t.substr(0,8)==l&&\"___\"===t.substr(t.length-3))}function v(t){if(t!==Object(t))throw new TypeError(\"Not an object: \"+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function _(){p||\"undefined\"==typeof console||(p=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}}()},236:function(t,e,r){var n=r(8284);t.exports=function(){var t={};return function(e){if((\"object\"!=typeof e||null===e)&&\"function\"!=typeof e)throw new Error(\"Weakmap-shim: Key must be object\");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},8284:function(t){t.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,\"valueOf\",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},606:function(t,e,r){var n=r(236);t.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty(\"value\")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return\"value\"in t(e)},delete:function(e){return delete t(e).value}}}},3349:function(t){\"use strict\";t.exports=function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],c=s;n|=0;var u=0,h=s;for(u=0;u=0!=p>=0&&i.push(l[0]+.5+.5*(f+p)/(f-p)),n+=h,++l[0]}}}.bind(void 0,{funcName:\"zeroCrossings\"}))},781:function(t,e,r){\"use strict\";t.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=r(3349)},7790:function(){}},r={};function a(t){var n=r[t];if(void 0!==n)return n.exports;var i=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(i.exports,i,i.exports,a),i.loaded=!0,i.exports}a.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"==typeof window)return window}}(),a.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t};var o=a(1964);t.exports=o}()},45708:function(t,e,r){\"use strict\";function n(t,e){for(var r=0;rp)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,m.prototype),e}function m(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 v(t)}return g(t,e,r)}function g(t,e,r){if(\"string\"==typeof t)return function(t,e){if(\"string\"==typeof e&&\"\"!==e||(e=\"utf8\"),!m.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|w(t,e),n=d(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(rt(t,Uint8Array)){var e=new Uint8Array(t);return _(e.buffer,e.byteOffset,e.byteLength)}return x(t)}(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 \"+c(t));if(rt(t,ArrayBuffer)||t&&rt(t.buffer,ArrayBuffer))return _(t,e,r);if(\"undefined\"!=typeof SharedArrayBuffer&&(rt(t,SharedArrayBuffer)||t&&rt(t.buffer,SharedArrayBuffer)))return _(t,e,r);if(\"number\"==typeof t)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return m.from(n,e,r);var i=function(t){if(m.isBuffer(t)){var e=0|b(t.length),r=d(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?\"number\"!=typeof t.length||nt(t.length)?d(0):x(t):\"Buffer\"===t.type&&Array.isArray(t.data)?x(t.data):void 0}(t);if(i)return i;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return m.from(t[Symbol.toPrimitive](\"string\"),e,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+c(t))}function y(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 v(t){return y(t),d(t<0?0:0|b(t))}function x(t){for(var e=t.length<0?0:0|b(t.length),r=d(e),n=0;n=p)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+p.toString(16)+\" bytes\");return 0|t}function w(t,e){if(m.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||rt(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 '+c(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return Q(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return tt(t).length;default:if(i)return n?-1:Q(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function T(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 F(this,e,r);case\"utf8\":case\"utf-8\":return z(this,e,r);case\"ascii\":return D(this,e,r);case\"latin1\":case\"binary\":return R(this,e,r);case\"base64\":return P(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return B(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function k(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function A(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),nt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=m.from(e,n)),m.isBuffer(e))return 0===e.length?-1:M(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):M(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function M(t,e,r,n,i){var a,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(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var h=!0,f=0;fi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function P(t,e,r){return 0===e&&r===t.length?u.fromByteArray(t):u.fromByteArray(t.slice(e,r))}function z(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,c=void 0,u=void 0,h=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(h=(31&a)<<6|63&l)>127&&(o=h);break;case 3:l=t[i+1],c=t[i+2],128==(192&l)&&128==(192&c)&&(h=(15&a)<<12|(63&l)<<6|63&c)>2047&&(h<55296||h>57343)&&(o=h);break;case 4:l=t[i+1],c=t[i+2],u=t[i+3],128==(192&l)&&128==(192&c)&&128==(192&u)&&(h=(15&a)<<18|(63&l)<<12|(63&c)<<6|63&u)>65535&&h<1114112&&(o=h)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=O)return String.fromCharCode.apply(String,t);for(var r=\"\",n=0;nn.length?(m.isBuffer(a)||(a=m.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!m.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},m.byteLength=w,m.prototype._isBuffer=!0,m.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;er&&(t+=\" ... \"),\"\"},f&&(m.prototype[f]=m.prototype.inspect),m.prototype.compare=function(t,e,r,n,i){if(rt(t,Uint8Array)&&(t=m.from(t,t.offset,t.byteLength)),!m.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+c(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),l=this.slice(n,i),u=t.slice(e,r),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return S(this,t,e,r);case\"utf8\":case\"utf-8\":return E(this,t,e,r);case\"ascii\":case\"latin1\":case\"binary\":return C(this,t,e,r);case\"base64\":return L(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return I(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},m.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function D(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i=\"\",a=e;ar)throw new RangeError(\"Trying to access beyond buffer length\")}function j(t,e,r,n,i,a){if(!m.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError(\"Index out of range\")}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function V(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function q(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function H(t,e,r,n,i){return e=+e,r>>>=0,i||q(t,0,r,4),h.write(t,e,r,n,23,4),r+4}function G(t,e,r,n,i){return e=+e,r>>>=0,i||q(t,0,r,8),h.write(t,e,r,n,52,8),r+8}m.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},m.prototype.readUint8=m.prototype.readUInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),this[t]},m.prototype.readUint16LE=m.prototype.readUInt16LE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]|this[t+1]<<8},m.prototype.readUint16BE=m.prototype.readUInt16BE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]<<8|this[t+1]},m.prototype.readUint32LE=m.prototype.readUInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},m.prototype.readUint32BE=m.prototype.readUInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},m.prototype.readBigUInt64LE=at((function(t){$(t>>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||J(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||J(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},m.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},m.prototype.readInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},m.prototype.readInt16LE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},m.prototype.readInt16BE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},m.prototype.readInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},m.prototype.readInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},m.prototype.readBigInt64LE=at((function(t){$(t>>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||J(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||J(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||N(t,4,this.length),h.read(this,t,!0,23,4)},m.prototype.readFloatBE=function(t,e){return t>>>=0,e||N(t,4,this.length),h.read(this,t,!1,23,4)},m.prototype.readDoubleLE=function(t,e){return t>>>=0,e||N(t,8,this.length),h.read(this,t,!0,52,8)},m.prototype.readDoubleBE=function(t,e){return t>>>=0,e||N(t,8,this.length),h.read(this,t,!1,52,8)},m.prototype.writeUintLE=m.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},m.prototype.writeUint8=m.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,255,0),this[e]=255&t,e+1},m.prototype.writeUint16LE=m.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},m.prototype.writeUint16BE=m.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},m.prototype.writeUint32LE=m.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(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},m.prototype.writeUint32BE=m.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(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},m.prototype.writeBigUInt64LE=at((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),m.prototype.writeBigUInt64BE=at((function(t){return V(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),m.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},m.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},m.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},m.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},m.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},m.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(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},m.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(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},m.prototype.writeBigInt64LE=at((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),m.prototype.writeBigInt64BE=at((function(t){return V(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),m.prototype.writeFloatLE=function(t,e,r){return H(this,t,e,!0,r)},m.prototype.writeFloatBE=function(t,e,r){return H(this,t,e,!1,r)},m.prototype.writeDoubleLE=function(t,e,r){return G(this,t,e,!0,r)},m.prototype.writeDoubleBE=function(t,e,r){return G(this,t,e,!1,r)},m.prototype.copy=function(t,e,r,n){if(!m.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(a=e;a=n+4;r-=3)e=\"_\".concat(t.slice(r-3,r)).concat(e);return\"\".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?\">= 0\".concat(s,\" and < 2\").concat(s,\" ** \").concat(8*(a+1)).concat(s):\">= -(2\".concat(s,\" ** \").concat(8*(a+1)-1).concat(s,\") and < 2 ** \")+\"\".concat(8*(a+1)-1).concat(s):\">= \".concat(e).concat(s,\" and <= \").concat(r).concat(s),new Z.ERR_OUT_OF_RANGE(\"value\",o,t)}!function(t,e,r){$(e,\"offset\"),void 0!==t[e]&&void 0!==t[e+r]||J(e,t.length-(r+1))}(n,i,a)}function $(t,e){if(\"number\"!=typeof t)throw new Z.ERR_INVALID_ARG_TYPE(e,\"number\",t)}function J(t,e,r){if(Math.floor(t)!==t)throw $(t,r),new Z.ERR_OUT_OF_RANGE(r||\"offset\",\"an integer\",t);if(e<0)throw new Z.ERR_BUFFER_OUT_OF_BOUNDS;throw new Z.ERR_OUT_OF_RANGE(r||\"offset\",\">= \".concat(r?1:0,\" and <= \").concat(e),t)}W(\"ERR_BUFFER_OUT_OF_BOUNDS\",(function(t){return t?\"\".concat(t,\" is outside of buffer bounds\"):\"Attempt to access memory outside buffer bounds\"}),RangeError),W(\"ERR_INVALID_ARG_TYPE\",(function(t,e){return'The \"'.concat(t,'\" argument must be of type number. Received type ').concat(c(e))}),TypeError),W(\"ERR_OUT_OF_RANGE\",(function(t,e,r){var n='The value of \"'.concat(t,'\" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=Y(String(r)):\"bigint\"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=Y(i)),i+=\"n\"),n+\" It must be \".concat(e,\". Received \").concat(i)}),RangeError);var K=/[^+/0-9A-Za-z-_]/g;function Q(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function tt(t){return u.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(K,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function et(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function rt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function nt(t){return t!=t}var it=function(){for(var t=\"0123456789abcdef\",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function at(t){return\"undefined\"==typeof BigInt?ot:t}function ot(){throw new Error(\"BigInt not supported\")}},13087:function(t){\"use strict\";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\\d+|meego).+mobile|armv7l|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||\"undefined\"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&\"string\"==typeof i.headers[\"user-agent\"]&&(i=i.headers[\"user-agent\"]),\"string\"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf(\"Macintosh\")&&-1!==i.indexOf(\"Safari\")&&(a=!0),a}},5955:function(t,e,r){\"use strict\";var n=r(22413),i=r.n(n),a=r(51070),o=r.n(a),s=r(62133),l=r.n(s),c=new URL(r(77035),r.b),u=new URL(r(43470),r.b),h=new URL(r(68164),r.b),f=new URL(r(64665),r.b),p=new URL(r(4890),r.b),d=new URL(r(13363),r.b),m=new URL(r(13490),r.b),g=new URL(r(47603),r.b),y=new URL(r(13913),r.b),v=new URL(r(91413),r.b),x=new URL(r(64643),r.b),_=new URL(r(80216),r.b),b=new URL(r(61907),r.b),w=new URL(r(68605),r.b),T=new URL(r(25446),r.b),k=new URL(r(56694),r.b),A=new URL(r(24420),r.b),M=new URL(r(75796),r.b),S=new URL(r(92228),r.b),E=new URL(r(9819),r.b),C=new URL(r(47695),r.b),L=new URL(r(28869),r.b),I=new URL(r(30557),r.b),P=new URL(r(48460),r.b),z=new URL(r(56539),r.b),O=new URL(r(43737),r.b),D=new URL(r(47914),r.b),R=new URL(r(26117),r.b),F=new URL(r(66311),r.b),B=o()(i()),N=l()(c),j=l()(u),U=l()(h),V=l()(f),q=l()(p),H=l()(d),G=l()(m),Z=l()(g),W=l()(y),Y=l()(v),X=l()(x),$=l()(_),J=l()(b),K=l()(w),Q=l()(T),tt=l()(k),et=l()(A),rt=l()(M),nt=l()(S),it=l()(E),at=l()(C),ot=l()(L),st=l()(I),lt=l()(P),ct=l()(z),ut=l()(O),ht=l()(D),ft=l()(R),pt=l()(F);B.push([t.id,\".maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"+N+\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"+j+\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"+U+\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"+V+\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"+q+\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"+H+\")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"+G+\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"+Z+\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"+W+\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"+Y+\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"+X+\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"+Z+\")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"+$+\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"+J+\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"+K+\")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url(\"+Q+\")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url(\"+tt+\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"+et+\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"+rt+\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\"+nt+\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\"+it+\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\"+at+\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\"+ot+\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"+st+\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"+lt+\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\"+nt+\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\"+it+\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\"+at+\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\"+ot+\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"+ct+\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"+ut+\")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url(\"+ht+\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url(\"+ht+\")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url(\"+ht+\")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"+ft+\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"+pt+\")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"+ft+')}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:\"\";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\"\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}',\"\"]),e.A=B},68735:function(t,e,r){\"use strict\";r.r(e),r.d(e,{sankeyCenter:function(){return f},sankeyCircular:function(){return L},sankeyJustify:function(){return h},sankeyLeft:function(){return c},sankeyRight:function(){return u}});var n=r(29725),i=r(4575),a=r(48544),o=r(96143),s=r.n(o);function l(t){return t.target.depth}function c(t){return t.depth}function u(t,e){return e-1-t.height}function h(t,e){return t.sourceLinks.length?t.depth:e-1}function f(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.jk)(t.sourceLinks,l)-1:0}function p(t){return function(){return t}}var d=\"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 m(t,e){return y(t.source,e.source)||t.index-e.index}function g(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:\"top\"===t.circularLinkType||\"bottom\"===e.circularLinkType?-1:1}function v(t){return t.value}function x(t){return(t.y0+t.y1)/2}function _(t){return x(t.source)}function b(t){return x(t.target)}function w(t){return t.index}function T(t){return t.nodes}function k(t){return t.links}function A(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function M(t,e){return e(t)}var S=25,E=10,C=.3;function L(){var t,e,r=0,a=0,o=1,l=1,c=24,u=w,f=h,M=T,L=k,P=32,O=2,D=null;function F(){var h={nodes:M.apply(null,arguments),links:L.apply(null,arguments)};!function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.Tj)(t.nodes,u);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;\"object\"!==(void 0===n?\"undefined\":d(n))&&(n=t.source=A(e,n)),\"object\"!==(void 0===i?\"undefined\":d(i))&&(i=t.target=A(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(h),function(t,e,r){var n=0;if(null===r){for(var i=[],a=0;a0?e+S+E:e,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(s),d=function(t,e){var i=(0,n.T9)(t.nodes,(function(t){return t.column})),s=o-r,u=l-a,h=s/(s+e.right+e.left),f=u/(u+e.top+e.bottom);return r=r*h+e.left,o=0==e.right?o:o*h,a=a*f+e.top,l*=f,t.nodes.forEach((function(t){t.x0=r+t.column*((o-r-c)/i),t.x1=t.x0+c})),f}(s,p);h*=d,s.links.forEach((function(t){t.width=t.value*h})),f.forEach((function(t){var e=t.length;t.forEach((function(t,r){t.depth==f.length-1&&1==e||0==t.depth&&1==e?(t.y0=l/2-t.value*h,t.y1=t.y0+t.value*h):t.partOfCycle?0==z(t,i)?(t.y0=l/2+r,t.y1=t.y0+t.value*h):\"top\"==t.circularLinkType?(t.y0=a+r,t.y1=t.y0+t.value*h):(t.y0=l-t.value*h-r,t.y1=t.y0+t.value*h):0==p.top||0==p.bottom?(t.y0=(l-a)/e*r,t.y1=t.y0+t.value*h):(t.y0=(l-a)/2-e/2+r,t.y1=t.y0+t.value*h)}))}))})(h),g();for(var p=1,d=u;d>0;--d)m(p*=.99,h),g();function m(t,e){var r=f.length;f.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&z(i,e)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else if(o==r-1&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else{var c=(0,n.i2)(i.sourceLinks,b),u=(0,n.i2)(i.targetLinks,_),h=((c&&u?(c+u)/2:c||u)-x(i))*t;i.y0+=h,i.y1+=h}}))}))}function g(){f.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(y),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-l)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(h,P,u),B(h);for(var p=0;p<4;p++)Y(h,l,u),X(h,0,u),Z(h,a,l,u),Y(h,l,u),X(h,0,u);return function(t,e,r){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){\"top\"==t.circularLinkType?o=!0:\"bottom\"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.jk)(i,(function(t){return t.y0})),c=(r-e)/((0,n.T9)(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*c;t.y0=(t.y0-l)*c,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*c,t.y1=(t.y1-l)*c,t.width=t.width*c}))}}(h,a,l),R(h,O,l,u),h}function B(t){t.nodes.forEach((function(t){t.sourceLinks.sort(g),t.targetLinks.sort(m)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=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=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return F.nodeId=function(t){return arguments.length?(u=\"function\"==typeof t?t:p(t),F):u},F.nodeAlign=function(t){return arguments.length?(f=\"function\"==typeof t?t:p(t),F):f},F.nodeWidth=function(t){return arguments.length?(c=+t,F):c},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(M=\"function\"==typeof t?t:p(t),F):M},F.links=function(t){return arguments.length?(L=\"function\"==typeof t?t:p(t),F):L},F.size=function(t){return arguments.length?(r=a=0,o=+t[0],l=+t[1],F):[o-r,l-a]},F.extent=function(t){return arguments.length?(r=+t[0][0],o=+t[1][0],a=+t[0][1],l=+t[1][1],F):[[r,a],[o,l]]},F.iterations=function(t){return arguments.length?(P=+t,F):P},F.circularLinkGap=function(t){return arguments.length?(O=+t,F):O},F.nodePaddingRatio=function(t){return arguments.length?(e=+t,F):e},F.sortNodes=function(t){return arguments.length?(D=t,F):D},F.update=function(t){return I(t,u),B(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y11||i>1)}function D(t,e,r){return t.sort(F),t.forEach((function(n,i){var a,o,s=0;if(K(n,r)&&O(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.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 R(t,e,r,i){var o=(0,n.jk)(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),D(t.links.filter((function(t){return\"top\"==t.circularLinkType})),e,i),D(t.links.filter((function(t){return\"bottom\"==t.circularLinkType})),e,i),t.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,K(n,i)&&O(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,\"bottom\"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,c=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));\"bottom\"==n.circularLinkType?c.sort(N):c.sort(B);var u=0;c.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+u,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*e+u),u+=t.width})),s=n.target.column,c=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),\"bottom\"==n.circularLinkType?c.sort(U):c.sort(j),u=0,c.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+u,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*e+u),u+=t.width})),\"bottom\"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(t){return\"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}(n);else{var h=(0,a.pq)().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));n.path=h(n)}}))}function F(t,e){return V(t)==V(e)?\"bottom\"==t.circularLinkType?N(t,e):B(t,e):V(e)-V(t)}function B(t,e){return t.y0-e.y0}function N(t,e){return e.y0-t.y0}function j(t,e){return t.y1-e.y1}function U(t,e){return e.y1-t.y1}function V(t){return t.target.column-t.source.column}function q(t){return t.target.x0-t.source.x1}function H(t,e){var r=P(t),n=q(e)/Math.tan(r);return\"up\"==J(t)?t.y1+n:t.y1-n}function G(t,e){var r=P(t),n=q(e)/Math.tan(r);return\"up\"==J(t)?t.y1-n:t.y1+n}function Z(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){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),m=h*i.y0+f*i.y0+p*i.y1+d*i.y1,g=m-i.width/2,y=m+i.width/2;g>o.y0&&ga.y0&&i.y0a.y0&&i.y1a.y1)&&W(t,c,e,r)}))):(y>o.y0&&yo.y1)&&(c=y-o.y0+10,o=W(o,c,e,r),t.nodes.forEach((function(t){M(t,n)!=M(o,n)&&t.column==o.column&&t.y0o.y1&&W(t,c,e,r)})))}}))}}))}function W(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 Y(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return M(t.source,r)==M(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!$(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=G(e,t);return t.y1-r}if(e.target.column>t.target.column)return G(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=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if(\"bottom\"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!$(t,e))return t.y0-e.y0;if(e.source.column0?\"up\":\"down\"}function K(t,e){return M(t.source,e)==M(t.target,e)}},62369:function(t,e,r){\"use strict\";r.r(e),r.d(e,{sankey:function(){return w},sankeyCenter:function(){return c},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return M},sankeyRight:function(){return s}});var n=r(29725),i=r(4575);function a(t){return t.target.depth}function o(t){return t.depth}function s(t,e){return e-1-t.height}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function c(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.jk)(t.sourceLinks,a)-1:0}function u(t){return function(){return t}}function h(t,e){return p(t.source,e.source)||t.index-e.index}function f(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function d(t){return t.value}function m(t){return(t.y0+t.y1)/2}function g(t){return m(t.source)*t.value}function y(t){return m(t.target)*t.value}function v(t){return t.index}function x(t){return t.nodes}function _(t){return t.links}function b(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function w(){var t=0,e=0,r=1,a=1,o=24,s=8,c=v,w=l,T=x,k=_,A=32;function M(){var l={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.Tj)(t.nodes,c);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;\"object\"!=typeof n&&(n=t.source=b(e,n)),\"object\"!=typeof i&&(i=t.target=b(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(l),function(t){t.nodes.forEach((function(t){t.value=Math.max((0,n.cz)(t.sourceLinks,d),(0,n.cz)(t.targetLinks,d))}))}(l),function(e){var n,i,a;for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){i.indexOf(t.target)<0&&i.push(t.target)}))}));for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){i.indexOf(t.source)<0&&i.push(t.source)}))}));var s=(r-t-o)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*s)+o}))}(l),function(t){var r=(0,i.$I)().key((function(t){return t.x0})).sortKeys(n.V_).entries(t.nodes).map((function(t){return t.values}));(function(){var i=(0,n.T9)(r,(function(t){return t.length})),o=.6666666666666666*(a-e)/(i-1);s>o&&(s=o);var l=(0,n.jk)(r,(function(t){return(a-e-(t.length-1)*s)/(0,n.cz)(t,d)}));r.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*l}))})),t.links.forEach((function(t){t.width=t.value*l}))})(),h();for(var o=1,l=A;l>0;--l)u(o*=.99),h(),c(o),h();function c(t){r.forEach((function(e){e.forEach((function(e){if(e.targetLinks.length){var r=((0,n.cz)(e.targetLinks,g)/(0,n.cz)(e.targetLinks,d)-m(e))*t;e.y0+=r,e.y1+=r}}))}))}function u(t){r.slice().reverse().forEach((function(e){e.forEach((function(e){if(e.sourceLinks.length){var r=((0,n.cz)(e.sourceLinks,y)/(0,n.cz)(e.sourceLinks,d)-m(e))*t;e.y0+=r,e.y1+=r}}))}))}function h(){r.forEach((function(t){var r,n,i,o=e,l=t.length;for(t.sort(p),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=t[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(l),S(l),l}function S(t){t.nodes.forEach((function(t){t.sourceLinks.sort(f),t.targetLinks.sort(h)})),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 M.update=function(t){return S(t),t},M.nodeId=function(t){return arguments.length?(c=\"function\"==typeof t?t:u(t),M):c},M.nodeAlign=function(t){return arguments.length?(w=\"function\"==typeof t?t:u(t),M):w},M.nodeWidth=function(t){return arguments.length?(o=+t,M):o},M.nodePadding=function(t){return arguments.length?(s=+t,M):s},M.nodes=function(t){return arguments.length?(T=\"function\"==typeof t?t:u(t),M):T},M.links=function(t){return arguments.length?(k=\"function\"==typeof t?t:u(t),M):k},M.size=function(n){return arguments.length?(t=e=0,r=+n[0],a=+n[1],M):[r-t,a-e]},M.extent=function(n){return arguments.length?(t=+n[0][0],r=+n[1][0],e=+n[0][1],a=+n[1][1],M):[[t,e],[r,a]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M}var T=r(48544);function k(t){return[t.source.x1,t.y0]}function A(t){return[t.target.x0,t.y1]}function M(){return(0,T.pq)().source(k).target(A)}},45568:function(t,e,r){var n,i;(function(){var a={version:\"3.8.2\"},o=[].slice,s=function(t){return o.call(t)},l=self.document;function c(t){return t&&(t.ownerDocument||t.document||t).documentElement}function u(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(t){s=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}),l)try{l.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(t){var h=this.Element.prototype,f=h.setAttribute,p=h.setAttributeNS,d=this.CSSStyleDeclaration.prototype,m=d.setProperty;h.setAttribute=function(t,e){f.call(this,t,e+\"\")},h.setAttributeNS=function(t,e,r){p.call(this,t,e,r+\"\")},d.setProperty=function(t,e,r){m.call(this,t,e+\"\",r)}}function g(t,e){return te?1:t>=e?0:NaN}function y(t){return null===t?NaN:+t}function v(t){return!isNaN(t)}function x(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(t,e){return et?1:e>=t?0:NaN},a.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},a.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},a.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},a.deviation=function(){var t=a.variance.apply(this,arguments);return t?Math.sqrt(t):t};var _=x(g);function b(t){return t.length}a.bisectLeft=_.left,a.bisect=a.bisectRight=_.right,a.bisector=function(t){return x(1===t.length?function(e,r){return g(t(e),r)}:t)},a.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},a.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},a.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var w=Math.abs;function T(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function k(){this._=Object.create(null)}a.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,i=[],a=function(t){for(var e=1;t*e%1;)e*=10;return e}(w(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=n.length)return e?e.call(r,a):t?a.sort(t):a;for(var l,c,u,h,f=-1,p=a.length,d=n[s++],m=new k;++f=n.length)return t;var r=[],a=i[e++];return t.forEach((function(t,n){r.push({key:t,values:s(n,e)})})),a?r.sort((function(t,e){return a(t.key,e.key)})):r}return r.map=function(t,e){return o(e,t,0)},r.entries=function(t){return s(o(a.map,t,0),0)},r.key=function(t){return n.push(t),r},r.sortKeys=function(t){return i[n.length-1]=t,r},r.sortValues=function(e){return t=e,r},r.rollup=function(t){return e=t,r},r},a.set=function(t){var e=new O;if(t)for(var r=0,n=t.length;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}},a.event=null,a.requote=function(t){return t.replace(G,\"\\\\$&\")};var G=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,Z={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function W(t){return Z(t,J),t}var Y=function(t,e){return e.querySelector(t)},X=function(t,e){return e.querySelectorAll(t)},$=function(t,e){var r=t.matches||t[F(t,\"matchesSelector\")];return $=function(t,e){return r.call(t,e)},$(t,e)};\"function\"==typeof Sizzle&&(Y=function(t,e){return Sizzle(t,e)[0]||null},X=Sizzle,$=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function K(t){return\"function\"==typeof t?t:function(){return Y(t,this)}}function Q(t){return\"function\"==typeof t?t:function(){return X(t,this)}}J.select=function(t){var e,r,n,i,a=[];t=K(t);for(var o=-1,s=this.length;++o=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),et.hasOwnProperty(r)?{space:et[r],local:t}:t}},J.attr=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node();return(t=a.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},J.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=at(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(t){t=dt.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(t=t.slice(0,i));var l=xt.get(t);function c(){var e=this[n];e&&(this.removeEventListener(t,e,e.$),delete this[n])}return l&&(t=l,o=bt),i?e?function(){var i=o(e,s(arguments));c.call(this),this.addEventListener(t,this[n]=i,i.$=r),i._=e}:c:e?N:function(){var e,r=new RegExp(\"^__on([^.]+)\"+a.requote(t)+\"$\");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}a.selection.enter=gt,a.selection.enter.prototype=yt,yt.append=J.append,yt.empty=J.empty,yt.node=J.node,yt.call=J.call,yt.size=J.size,yt.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s=n&&(n=e+1);!(o=s[n])&&++n1?zt:t<-1?-zt:Math.asin(t)}function Ft(t){return((t=Math.exp(t))+1/t)/2}var Bt=Math.SQRT2;a.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,h=l-a,f=u*u+h*h;if(f0&&(t=t.transition().duration(m)),t.call(w.event)}function S(){s&&s.domain(o.range().map((function(t){return(t-f.x)/f.k})).map(o.invert)),h&&h.domain(c.range().map((function(t){return(t-f.y)/f.k})).map(c.invert))}function E(t){g++||t({type:\"zoomstart\"})}function C(t){S(),t({type:\"zoom\",scale:f.k,translate:[f.x,f.y]})}function L(t){--g||(t({type:\"zoomend\"}),e=null)}function I(){var t=this,e=b.of(t,arguments),r=0,n=a.select(u(t)).on(v,(function(){r=1,A(a.mouse(t),i),C(e)})).on(x,(function(){n.on(v,null).on(x,null),o(r),L(e)})),i=T(a.mouse(t)),o=kt(t);$i.call(t),E(e)}function P(){var t,e=this,r=b.of(e,arguments),n={},o=0,s=\".zoom-\"+a.event.changedTouches[0].identifier,l=\"touchmove\"+s,c=\"touchend\"+s,u=[],h=a.select(e),p=kt(e);function d(){var r=a.touches(e);return t=f.k,r.forEach((function(t){t.identifier in n&&(n[t.identifier]=T(t))})),r}function m(){var t=a.event.target;a.select(t).on(l,g).on(c,v),u.push(t);for(var r=a.event.changedTouches,s=0,h=r.length;s1){y=p[0];var x=p[1],_=y[0]-x[0],b=y[1]-x[1];o=_*_+b*b}}function g(){var s,l,c,u,h=a.touches(e);$i.call(e);for(var f=0,p=h.length;f360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Zt(t,e,r){return this instanceof Zt?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof Zt?new Zt(t.h,t.c,t.l):function(t,e,r){return t>0?new Zt(Math.atan2(r,e)*Dt,Math.sqrt(e*e+r*r),t):new Zt(NaN,NaN,t)}(t instanceof Xt?t.l:(t=fe((t=a.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Zt(t,e,r)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Ht.rgb=function(){return Gt(this.h,this.s,this.l)},a.hcl=Zt;var Wt=Zt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Ot)*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 Zt?Yt(t.h,t.c,t.l):fe((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Zt(this.h,this.c,Math.min(100,this.l+$t*(arguments.length?t:1)))},Wt.darker=function(t){return new Zt(this.h,this.c,Math.max(0,this.l-$t*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},a.lab=Xt;var $t=18,Jt=.95047,Kt=1,Qt=1.08883,te=Xt.prototype=new Vt;function ee(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}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 ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ue(\"\"+t,ae,Gt):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+\"\"}te.brighter=function(t){return new Xt(Math.min(100,this.l+$t*(arguments.length?t:1)),this.a,this.b)},te.darker=function(t){return new Xt(Math.max(0,this.l-$t*(arguments.length?t:1)),this.a,this.b)},te.rgb=function(){return ee(this.l,this.a,this.b)},a.rgb=ae;var le=ae.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,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\((.*)\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\",\"),n[1]){case\"hsl\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\"rgb\":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=me.get(t))?e(a.r,a.g,a.b):(null==t||\"#\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function he(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new qt(n,i,l)}function fe(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*i-16,500*(n-i),200*(i-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,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=r.call(i,c)}catch(t){return void o.error.call(i,t)}o.load.call(i,t)}else o.error.call(i,c)}return self.XDomainRequest&&!(\"withCredentials\"in c)&&/^(http(s)?:)?\\/\\//.test(t)&&(c=new XDomainRequest),\"onload\"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(t){var e=a.event;a.event=t;try{o.progress.call(i,c)}finally{a.event=e}},i.header=function(t,e){return t=(t+\"\").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+\"\",i)},i.mimeType=function(t){return arguments.length?(e=null==t?null:t+\"\",i):e},i.responseType=function(t){return arguments.length?(u=t,i):u},i.response=function(t){return r=t,i},[\"get\",\"post\"].forEach((function(t){i[t]=function(){return i.send.apply(i,[t].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&\"function\"==typeof n&&(a=n,n=null),c.open(r,t,!0),null==e||\"accept\"in l||(l.accept=e+\",*/*\"),c.setRequestHeader)for(var s in l)c.setRequestHeader(s,l[s]);return null!=e&&c.overrideMimeType&&c.overrideMimeType(e),null!=u&&(c.responseType=u),null!=a&&i.on(\"error\",a).on(\"load\",(function(t){a(null,t)})),o.beforesend.call(i,c),c.send(null==n?null:n),i},i.abort=function(){return c.abort(),i},a.rebind(i,o,\"on\"),null==n?i:i.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}me.forEach((function(t,e){me.set(t,oe(e))})),a.functor=ge,a.xhr=ye(D),a.dsv=function(t,e){var r=new RegExp('[\"'+t+\"\\n]\"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ve(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.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 i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),be=0):(be=1,Te(Ae))}function Me(){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.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Ie(t,e){return t[0]-e[0]||t[1]-e[1]}a.timer=function(){ke.apply(this,arguments)},a.timer.flush=function(){Me(),Se()},a.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},a.geom={},a.geom.hull=function(t){var e=Ee,r=Ce;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ge(e),a=ge(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[c[n]][2]]);for(n=+h;nEt)s=s.L;else{if(!((i=a-Xe(s,o))>Et)){n>-Et?(e=s.P,r=s):i>-Et?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=He(t);if(Be.insert(e,l),e||r){if(e===r)return tr(e),r=He(e.site),Be.insert(l,r),l.edge=r.edge=nr(e.site,l.site),Qe(e),void Qe(r);if(r){tr(e),tr(r);var c=e.site,u=c.x,h=c.y,f=t.x-u,p=t.y-h,d=r.site,m=d.x-u,g=d.y-h,y=2*(f*g-p*m),v=f*f+p*p,x=m*m+g*g,_={x:(g*v-p*x)/y+u,y:(f*x-m*v)/y+h};ir(r.edge,c,d,_),l.edge=nr(c,t,null,_),r.edge=nr(t,d,null,_),Qe(e),Qe(r)}else l.edge=nr(e.site,l.site)}}function Ye(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)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/a-1/c,f=u/c;return h?(-f+Math.sqrt(f*f-2*h*(u*u/(-2*c)-l+c/2+i-a/2)))/h+n:(n+s)/2}function Xe(t,e){var r=t.N;if(r)return Ye(r,e);var n=t.site;return n.y===e?n.x:1/0}function $e(t){this.site=t,this.edges=[]}function Je(t,e){return e.angle-t.angle}function Ke(){sr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Qe(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,h=2*(l*(g=a.y-s)-c*u);if(!(h>=-Ct)){var f=l*l+c*c,p=u*u+g*g,d=(g*f-c*p)/h,m=(l*p-u*f)/h,g=m+s,y=Ve.pop()||new Ke;y.arc=t,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+m*m),y.cy=g,t.circle=y;for(var v=null,x=je._;x;)if(y.y=s)return;if(f>d){if(a){if(a.y>=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y1)if(f>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=f,f<0){if(e0){if(e>h)return;e>u&&(u=e)}if(e=i-l,f||!(e<0)){if(e/=f,f<0){if(e>h)return;e>u&&(u=e)}else if(f>0){if(e0)){if(e/=p,p<0){if(e0){if(e>h)return;e>u&&(u=e)}if(e=a-c,p||!(e<0)){if(e/=p,p<0){if(e>h)return;e>u&&(u=e)}else if(p>0){if(e0&&(t.a={x:l+u*f,y:c+u*p}),h<1&&(t.b={x:l+h*f,y:c+h*p}),t}}}}}),l=o.length;l--;)(!er(e=o[l],t)||!s(e)||w(e.a.x-e.b.x)Et||w(i-r)>Et)&&(s.splice(o,0,new ar((y=a.site,v=u,x=w(n-h)Et?{x:h,y:w(e-h)Et?{x:w(r-d)Et?{x:f,y:w(e-f)Et?{x:w(r-p)=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/Et)*Et,y:Math.round(i(t,e)/Et)*Et,i:e}}))}return o.links=function(t){return hr(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 hr(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(Je),u=-1,h=c.length,f=c[h-1].edge,p=f.l===l?f.r:f.l;++ua&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:xr(r,n)})),a=wr.lastIndex;return am&&(m=l.x),l.y>g&&(g=l.y),c.push(l.x),u.push(l.y);else for(h=0;hm&&(m=x),_>g&&(g=_),c.push(x),u.push(_)}var b=m-p,T=g-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(w(l-r)+w(c-n)<.01)A(t,e,r,n,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,h=n>=c,f=h<<1|u;t.leaf=!1,u?i=l:o=l,h?a=c:s=c,k(t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}b>T?g=d+b:m=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+y(t,++h),+v(t,h),p,d,m,g)}};if(M.visit=function(t){gr(t,M,p,d,m,g)},M.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,h,f,p){if(!(u>a||h>o||f=b)<<1|e>=_,T=w+4;w=0&&!(r=a.interpolators[n](t,e)););return r}function kr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function zr(t){return 1-Math.cos(t*zt)}function Or(t){return Math.pow(2,10*(t-1))}function Dr(t){return 1-Math.sqrt(1-t*t)}function Rr(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 Fr(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Br(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=jr(i),s=Nr(i,a),l=jr(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,r):t,i=r>=0?t.slice(r+1):\"in\";return n=Mr.get(n)||Ar,i=Sr.get(i)||D,e=i(n.apply(null,o.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},a.interpolateHcl=function(t,e){t=a.hcl(t),e=a.hcl(e);var r=t.h,n=t.c,i=t.l,o=e.h-r,s=e.c-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.c:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Yt(r+o*t,n+s*t,i+l*t)+\"\"}},a.interpolateHsl=function(t,e){t=a.hsl(t),e=a.hsl(e);var r=t.h,n=t.s,i=t.l,o=e.h-r,s=e.s-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.s:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Gt(r+o*t,n+s*t,i+l*t)+\"\"}},a.interpolateLab=function(t,e){t=a.lab(t),e=a.lab(e);var r=t.l,n=t.a,i=t.b,o=e.l-r,s=e.a-n,l=e.b-i;return function(t){return ee(r+o*t,n+s*t,i+l*t)+\"\"}},a.interpolateRound=Fr,a.transform=function(t){var e=l.createElementNS(a.ns.prefix.svg,\"g\");return(a.transform=function(t){if(null!=t){e.setAttribute(\"transform\",t);var r=e.transform.baseVal.consolidate()}return new Br(r?r.matrix:Ur)})(t)},Br.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var Ur={a:1,b:0,c:0,d:1,e:0,f:0};function Vr(t){return t.length?t.pop()+\",\":\"\"}function qr(t,e){var r=[],n=[];return t=a.transform(t),e=a.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\"translate(\",null,\",\",null,\")\");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else(e[0]||e[1])&&r.push(\"translate(\"+e+\")\")}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Vr(r)+\"rotate(\",null,\")\")-2,x:xr(t,e)})):e&&r.push(Vr(r)+\"rotate(\"+e+\")\")}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(Vr(r)+\"skewX(\",null,\")\")-2,x:xr(t,e)}):e&&r.push(Vr(r)+\"skewX(\"+e+\")\")}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Vr(r)+\"scale(\",null,\",\",null,\")\");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Vr(r)+\"scale(\"+e+\")\")}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i0?r=e:(t.c=null,t.t=NaN,t=null,l.end({type:\"end\",alpha:r=0})):e>0&&(l.start({type:\"start\",alpha:r=e}),t=ke(s.tick)),s):r},s.start=function(){var t,e,r,a=y.length,l=v.length,u=c[0],d=c[1];for(t=0;t=0;)r.push(i[n])}function an(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return an(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.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&&(nn(t,(function(t){t.children&&(t.value=0)})),an(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},a.layout.partition=function(){var t=a.layout.hierarchy(),e=[1,1];function r(t,e,n,i){var a=t.children;if(t.x=e,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=t.value?n/t.value:0;++cs&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function xn(t){return t.reduce(_n,0)}function _n(t,e){return t+e[1]}function bn(t,e){return wn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function wn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Tn(t){return[a.min(t),a.max(t)]}function kn(t,e){return t.value-e.value}function An(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Mn(t,e){t._pack_next=e,e._pack_prev=t}function Sn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function En(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,h=1/0,f=-1/0;if(e.forEach(Cn),(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(Pn(r,n,i=e[2]),x(i),An(r,i),r._pack_prev=i,An(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=h[0]&&l<=h[1]&&((s=c[a.bisect(f,l,1,d)-1]).y+=m,s.push(i[o]));return c}return i.value=function(t){return arguments.length?(e=t,i):e},i.range=function(t){return arguments.length?(r=ge(t),i):r},i.bins=function(t){return arguments.length?(n=\"number\"==typeof t?function(e){return wn(e,t)}:ge(t),i):n},i.frequency=function(e){return arguments.length?(t=!!e,i):t},i},a.layout.pack=function(){var t,e=a.layout.hierarchy().sort(kn),r=0,n=[1,1];function i(i,a){var o=e.call(this,i,a),s=o[0],l=n[0],c=n[1],u=null==t?Math.sqrt:\"function\"==typeof t?t:function(){return t};if(s.x=s.y=0,an(s,(function(t){t.r=+u(t.value)})),an(s,En),r){var h=r*(t?1:Math.max(2*s.r/l,2*s.r/c))/2;an(s,(function(t){t.r+=h})),an(s,En),an(s,(function(t){t.r-=h}))}return In(s,l/2,c/2,t?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return i.size=function(t){return arguments.length?(n=t,i):n},i.radius=function(e){return arguments.length?(t=null==e||\"function\"==typeof e?e:+e,i):t},i.padding=function(t){return arguments.length?(r=+t,i):r},rn(i,e)},a.layout.tree=function(){var t=a.layout.hierarchy().sort(null).value(null),e=zn,r=[1,1],n=null;function i(i,a){var c=t.call(this,i,a),u=c[0],h=function(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;op.x&&(p=t),t.depth>d.depth&&(d=t)}));var m=e(f,p)/2-f.x,g=r[0]/(p.x+e(p,f)/2+m),y=r[1]/(d.depth||1);nn(u,(function(t){t.x=(t.x+m)*g,t.y=t.depth*y}))}return c}function o(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],c=a.m,u=o.m,h=s.m,f=l.m;s=Dn(s),a=On(a),s&&a;)l=On(l),(o=Dn(o)).a=t,(i=s.z+h-a.z-c+e(s._,a._))>0&&(Rn(Fn(s,t,n),t,i),c+=i,u+=i),h+=s.m,c+=a.m,f+=l.m,u+=o.m;s&&!Dn(o)&&(o.t=s,o.m+=h-u),a&&!On(l)&&(l.t=a,l.m+=c-f,n=t)}return n}(t,i,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*=r[0],t.y=t.depth*r[1]}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t)?l:null,i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null==(r=t)?null:l,i):n?r:null},rn(i,t)},a.layout.cluster=function(){var t=a.layout.hierarchy().sort(null).value(null),e=zn,r=[1,1],n=!1;function i(i,o){var s,l=t.call(this,i,o),c=l[0],u=0;an(c,(function(t){var r=t.children;r&&r.length?(t.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(r),t.y=function(t){return 1+a.max(t,(function(t){return t.y}))}(r)):(t.x=s?u+=e(t,s):0,t.y=0,s=t)}));var h=Bn(c),f=Nn(c),p=h.x-e(h,f)/2,d=f.x+e(f,h)/2;return an(c,n?function(t){t.x=(t.x-c.x)*r[0],t.y=(c.y-t.y)*r[1]}:function(t){t.x=(t.x-p)/(d-p)*r[0],t.y=(1-(c.y?t.y/c.y:1))*r[1]}),l}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t),i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null!=(r=t),i):n?r:null},rn(i,t)},a.layout.treemap=function(){var t,e=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=jn,s=!1,l=\"squarify\",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=c[i-1]),s.area+=r.area,\"squarify\"!==l||(n=p(s,m))<=f?(c.pop(),f=n):(s.area-=s.pop().area,d(s,m,a,!1),m=Math.min(a.dx,a.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,m,a,!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),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(f)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,n,i){var a,o=-1,s=t.length,l=n.x,c=n.y,u=e?r(t.area/e):0;if(e==n.dx){for((i||u>n.dy)&&(u=n.dy);++on.dx)&&(u=n.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=a.random.normal.apply(a,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=a.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?Yn:Hn,l=n?Gr:Hr;return i=o(t,e,l,r),a=o(e,t,l,Tr),s}function s(t){return i(t)}return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),o()):t},s.range=function(t){return arguments.length?(e=t,o()):e},s.rangeRound=function(t){return s.range(t).interpolate(Fr)},s.clamp=function(t){return arguments.length?(n=t,o()):n},s.interpolate=function(t){return arguments.length?(r=t,o()):r},s.ticks=function(e){return Qn(t,e)},s.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},s.nice=function(e){return Jn(t,e),o()},s.copy=function(){return Xn(t,e,r,n)},o()}function $n(t,e){return a.rebind(t,e,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function Jn(t,e){return Gn(t,Zn(Kn(t,e)[2])),Gn(t,Zn(Kn(t,e)[2])),t}function Kn(t,e){null==e&&(e=10);var r=Vn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(t,e){return a.range.apply(a,Kn(t,e))}function ti(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Gn(n.map(i),r?Math:ei);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Vn(n),o=[],s=t[0],l=t[1],c=Math.floor(i(s)),u=Math.ceil(i(l)),h=e%1?2:e;if(isFinite(u-c)){if(r){for(;c0;f--)o.push(a(c)*f);for(c=0;o[c]l;u--);o=o.slice(c,u)}return o},o.copy=function(){return ti(t.copy(),e,r,n)},$n(o,t)}a.scale.linear=function(){return Xn([0,1],[0,1],Tr,!1)},a.scale.log=function(){return ti(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ei={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function ri(t,e,r){var n=ni(e),i=ni(1/e);function a(e){return t(n(e))}return a.invert=function(e){return i(t.invert(e))},a.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(n)),a):r},a.ticks=function(t){return Qn(r,t)},a.tickFormat=function(t,e){return d3_scale_linearTickFormat(r,t,e)},a.nice=function(t){return a.domain(Jn(r,t))},a.exponent=function(o){return arguments.length?(n=ni(e=o),i=ni(1/e),t.domain(r.map(n)),a):e},a.copy=function(){return ri(t.copy(),e,r)},$n(a,t)}function ni(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ii(t,e){var r,n,i;function o(i){return n[((r.get(i)||(\"range\"===e.t?r.set(i,t.push(i)):NaN))-1)%n.length]}function s(e,r){return a.range(t.length).map((function(t){return e+r*t}))}return o.domain=function(n){if(!arguments.length)return t;t=[],r=new k;for(var i,a=-1,s=n.length;++a0?r[n-1]:t[0],nh?0:1;if(c=Pt)return l(c,p)+(s?l(s,1-p):\"\")+\"Z\";var d,m,g,y,v,x,_,b,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===di?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Rt(g/c*Math.sin(y))),s&&(M=Rt(g/s*Math.sin(y)))),c){v=c*Math.cos(u+S),x=c*Math.sin(u+S),_=c*Math.cos(h-S),b=c*Math.sin(h-S);var C=Math.abs(h-u-2*S)<=Lt?0:1;if(S&&_i(v,x,_,b)===p^C){var L=(u+h)/2;v=c*Math.cos(L),x=c*Math.sin(L),_=b=null}}else v=x=0;if(s){w=s*Math.cos(h-M),T=s*Math.sin(h-M),k=s*Math.cos(u+M),A=s*Math.sin(u+M);var I=Math.abs(u-h+2*M)<=Lt?0:1;if(M&&_i(w,T,k,A)===1-p^I){var P=(u+h)/2;w=s*Math.cos(P),T=s*Math.sin(P),k=A=null}}else w=T=0;if(f>Et&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){m=s0?0:1}function bi(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,h=t[1]+c,f=e[0]+l,p=e[1]+c,d=(u+f)/2,m=(h+p)/2,g=f-u,y=p-h,v=g*g+y*y,x=r-n,_=u*p-f*h,b=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*v-_*_)),w=(_*y-g*b)/v,T=(-_*g-y*b)/v,k=(_*y+g*b)/v,A=(-_*g+y*b)/v,M=w-d,S=T-m,E=k-d,C=A-m;return M*M+S*S>E*E+C*C&&(w=k,T=A),[[w-l,T-c],[w*r/x,T*r/x]]}function wi(){return!0}function Ti(t){var e=Ee,r=Ce,n=wi,i=Ai,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,h=a.length,f=ge(e),p=ge(r);function d(){l.push(\"M\",i(t(c),o))}for(;++u1&&i.push(\"H\",n[0]),i.join(\"\")},\"step-before\":Si,\"step-after\":Ei,basis:Ii,\"basis-open\":function(t){if(t.length<4)return Ai(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Pi(Di,a)+\",\"+Pi(Di,o)),--n;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Ai(t){return t.length>1?t.join(\"L\"):t+\"Z\"}function Mi(t){return t.join(\"L\")+\"Z\"}function Si(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e1){s=e[1],a=t[l],l++,n+=\"C\"+(i[0]+o[0])+\",\"+(i[1]+o[1])+\",\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1];for(var c=2;cLt)+\",1 \"+e}function l(t,e,r,n){return\"Q 0,0 \"+n}return a.radius=function(t){return arguments.length?(r=ge(t),a):r},a.source=function(e){return arguments.length?(t=ge(e),a):t},a.target=function(t){return arguments.length?(e=ge(t),a):e},a.startAngle=function(t){return arguments.length?(n=ge(t),a):n},a.endAngle=function(t){return arguments.length?(i=ge(t),a):i},a},a.svg.diagonal=function(){var t=ji,e=Ui,r=qi;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return\"M\"+(l=l.map(r))[0]+\"C\"+l[1]+\" \"+l[2]+\" \"+l[3]}return n.source=function(e){return arguments.length?(t=ge(e),n):t},n.target=function(t){return arguments.length?(e=ge(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},a.svg.diagonal.radial=function(){var t=a.svg.diagonal(),e=qi,r=t.projection;return t.projection=function(t){return arguments.length?r(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-zt;return[r*Math.cos(n),r*Math.sin(n)]}}(e=t)):e},t},a.svg.symbol=function(){var t=Gi,e=Hi;function r(r,n){return(Wi.get(t.call(this,r,n))||Zi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ge(e),r):t},r.size=function(t){return arguments.length?(e=ge(t),r):e},r};var Wi=a.map({circle:Zi,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*Xi)),r=e*Xi;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/Yi),r=e*Yi/2;return\"M0,\"+r+\"L\"+e+\",\"+-r+\" \"+-e+\",\"+-r+\"Z\"},\"triangle-up\":function(t){var e=Math.sqrt(t/Yi),r=e*Yi/2;return\"M0,\"+-r+\"L\"+e+\",\"+r+\" \"+-e+\",\"+r+\"Z\"}});a.svg.symbolTypes=Wi.keys();var Yi=Math.sqrt(3),Xi=Math.tan(30*Ot);J.transition=function(t){for(var e,r,n=Qi||++ra,i=aa(t),a=[],o=ta||{time:Date.now(),ease:Pr,delay:0,duration:250},s=-1,l=this.length;++s0;)c[--f].call(t,o);if(a>=1)return h.event&&h.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}h||(a=i.time,o=ke((function(t){var e=h.delay;if(o.t=e+a,e<=t)return f(t-e);o.c=f}),0,a),h=u[n]={tween:new k,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}ea.call=J.call,ea.empty=J.empty,ea.node=J.node,ea.size=J.size,a.transition=function(t,e){return t&&t.transition?Qi?t.transition(e):t:a.selection().transition(t)},a.transition.prototype=ea,ea.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=K(t);for(var s=-1,l=this.length;++srect,.s>rect\").attr(\"width\",o[1]-o[0])}function m(t){t.select(\".extent\").attr(\"y\",s[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",s[1]-s[0])}function g(){var h,g,y=this,v=a.select(a.event.target),x=r.of(y,arguments),_=a.select(y),b=v.datum(),w=!/^(n|s)$/.test(b)&&n,T=!/^(e|w)$/.test(b)&&i,k=v.classed(\"extent\"),A=kt(y),M=a.mouse(y),S=a.select(u(y)).on(\"keydown.brush\",(function(){32==a.event.keyCode&&(k||(h=null,M[0]-=o[1],M[1]-=s[1],k=2),V())})).on(\"keyup.brush\",(function(){32==a.event.keyCode&&2==k&&(M[0]+=o[1],M[1]+=s[1],k=0,V())}));if(a.event.changedTouches?S.on(\"touchmove.brush\",L).on(\"touchend.brush\",P):S.on(\"mousemove.brush\",L).on(\"mouseup.brush\",P),_.interrupt().selectAll(\"*\").interrupt(),k)M[0]=o[0]-M[0],M[1]=s[0]-M[1];else if(b){var E=+/w$/.test(b),C=+/^n/.test(b);g=[o[1-E]-M[0],s[1-C]-M[1]],M[0]=o[E],M[1]=s[C]}else a.event.altKey&&(h=M.slice());function L(){var t=a.mouse(y),e=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(a.event.altKey?(h||(h=[(o[0]+o[1])/2,(s[0]+s[1])/2]),M[0]=o[+(t[0](n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=o;function o(t,e){this.x=t,this.y=e}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(t){return t instanceof o?t:Array.isArray(t)?new o(t[0],t[1]):t};var s=\"undefined\"!=typeof self?self:{};var l=Math.pow(2,53)-1;function c(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}}var u=c(.25,.1,.25,1);function h(t,e,r){return Math.min(r,Math.max(e,t))}function f(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function p(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function y(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function v(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function x(t,e){return-1!==t.indexOf(e,t.length-e.length)}function _(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function b(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function w(t){return Array.isArray(t)?t.map(w):\"object\"==typeof t&&t?_(t,w):t}var T={};function k(t){T[t]||(\"undefined\"!=typeof console&&console.warn(t),T[t]=!0)}function A(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function M(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\"\"})),e[\"max-age\"]){var r=parseInt(e[\"max-age\"],10);isNaN(r)?delete e[\"max-age\"]:e[\"max-age\"]=r}return e}var C=null;function L(t){if(null==C){var e=t.navigator?t.navigator.userAgent:null;C=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")))}return C}function I(t){try{var e=s[t];return e.setItem(\"_mapbox_test_\",1),e.removeItem(\"_mapbox_test_\"),!0}catch(t){return!1}}var P,z,O,D,R=s.performance&&s.performance.now?s.performance.now.bind(s.performance):Date.now.bind(Date),F=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,B=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame,N={now:R,frame:function(t){var e=F(t);return{cancel:function(){return B(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=s.document.createElement(\"canvas\"),n=r.getContext(\"2d\");if(!n)throw new Error(\"failed to create canvas 2d context\");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return P||(P=s.document.createElement(\"a\")),P.href=t,P.href},hardwareConcurrency:s.navigator&&s.navigator.hardwareConcurrency||4,get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return!!s.matchMedia&&(null==z&&(z=s.matchMedia(\"(prefers-reduced-motion: reduce)\")),z.matches)}},j={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf(\"https://api.mapbox.cn\")?\"https://events.mapbox.cn/events/v2\":0===this.API_URL.indexOf(\"https://api.mapbox.com\")?\"https://events.mapbox.com/events/v2\":null:null},FEEDBACK_URL:\"https://apps.mapbox.com/feedback\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},U={supported:!1,testSupport:function(t){!V&&D&&(q?H(t):O=t)}},V=!1,q=!1;function H(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,D),t.isContextLost())return;U.supported=!0}catch(t){}t.deleteTexture(e),V=!0}s.document&&((D=s.document.createElement(\"img\")).onload=function(){O&&H(O),O=null,q=!0},D.onerror=function(){V=!0,O=null},D.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");var G=\"01\";var Z=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function W(t){return 0===t.indexOf(\"mapbox:\")}Z.prototype._createSkuToken=function(){var t=function(){for(var t=\"\",e=0;e<10;e++)t+=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"[Math.floor(62*Math.random())];return{token:[\"1\",G,t].join(\"\"),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},Z.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Z.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},Z.prototype.normalizeStyleURL=function(t,e){if(!W(t))return t;var r=J(t);return r.path=\"/styles/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},Z.prototype.normalizeGlyphsURL=function(t,e){if(!W(t))return t;var r=J(t);return r.path=\"/fonts/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},Z.prototype.normalizeSourceURL=function(t,e){if(!W(t))return t;var r=J(t);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),this._makeAPIURL(r,this._customAccessToken||e)},Z.prototype.normalizeSpriteURL=function(t,e,r,n){var i=J(t);return W(t)?(i.path=\"/styles/v1\"+i.path+\"/sprite\"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=\"\"+e+r,K(i))},Z.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!W(t))return t;var r=J(t),n=N.devicePixelRatio>=2||512===e?\"@2x\":\"\",i=U.supported?\".webp\":\"$1\";r.path=r.path.replace(/(\\.(png|jpg)\\d*)(?=$)/,\"\"+n+i),r.path=r.path.replace(/^.+\\/v4\\//,\"/\"),r.path=\"/v4\"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=0&&t.params.splice(i,1)}if(\"/\"!==n.path&&(t.path=\"\"+n.path+t.path),!j.REQUIRE_ACCESS_TOKEN)return K(t);if(!(e=e||j.ACCESS_TOKEN))throw new Error(\"An API access token is required to use Mapbox GL. \"+r);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+r);return t.params=t.params.filter((function(t){return-1===t.indexOf(\"access_token\")})),t.params.push(\"access_token=\"+e),K(t)};var Y=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function X(t){return Y.test(t)}var $=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function J(t){var e=t.match($);if(!e)throw new Error(\"Unable to parse URL object\");return{protocol:e[1],authority:e[2],path:e[3]||\"/\",params:e[4]?e[4].split(\"&\"):[]}}function K(t){var e=t.params.length?\"?\"+t.params.join(\"&\"):\"\";return t.protocol+\"://\"+t.authority+t.path+e}var Q=\"mapbox.eventData\";function tt(t){if(!t)return null;var e,r=t.split(\".\");if(!r||3!==r.length)return null;try{return JSON.parse((e=r[1],decodeURIComponent(s.atob(e).split(\"\").map((function(t){return\"%\"+(\"00\"+t.charCodeAt(0).toString(16)).slice(-2)})).join(\"\"))))}catch(t){return null}}var et=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};et.prototype.getStorageKey=function(t){var e,r,n=tt(j.ACCESS_TOKEN);return e=n&&n.u?(r=n.u,s.btoa(encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number(\"0x\"+e))})))):j.ACCESS_TOKEN||\"\",t?Q+\".\"+t+\":\"+e:Q+\":\"+e},et.prototype.fetchEventData=function(){var t=I(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t)try{var n=s.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=s.localStorage.getItem(r);i&&(this.anonId=i)}catch(t){k(\"Unable to read from LocalStorage\")}},et.prototype.saveEventData=function(){var t=I(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t)try{s.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&s.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){k(\"Unable to write to LocalStorage\")}},et.prototype.processRequests=function(t){},et.prototype.postEvent=function(t,e,n,i){var a=this;if(j.EVENTS_URL){var o=J(j.EVENTS_URL);o.params.push(\"access_token=\"+(i||j.ACCESS_TOKEN||\"\"));var s={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:r,skuId:G,userId:this.anonId},l=e?p(s,e):s,c={url:K(o),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([l])};this.pendingRequest=St(c,(function(t){a.pendingRequest=null,n(t),a.saveEventData(),a.processRequests(i)}))}},et.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var rt,nt,it=function(t){function e(){t.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(j.EVENTS_URL&&n||j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return W(t)||X(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),y(this.anonId)||(this.anonId=g()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(et),at=function(t){function e(e){t.call(this,\"appUserTurnstile\"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){j.EVENTS_URL&&j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return W(t)||X(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=tt(j.ACCESS_TOKEN),n=r?r.u:j.ACCESS_TOKEN,i=n!==this.eventData.tokenU;y(this.anonId)||(this.anonId=g(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{\"enabled.telemetry\":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(et),ot=new at,st=ot.postTurnstileEvent.bind(ot),lt=new it,ct=lt.postMapLoadEvent.bind(lt),ut=\"mapbox-tiles\",ht=500,ft=50,pt=42e4;function dt(){s.caches&&!rt&&(rt=s.caches.open(ut))}function mt(t,e,r){if(dt(),rt){var n={status:e.status,statusText:e.statusText,headers:new s.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=E(e.headers.get(\"Cache-Control\")||\"\");i[\"no-store\"]||(i[\"max-age\"]&&n.headers.set(\"Expires\",new Date(r+1e3*i[\"max-age\"]).toUTCString()),new Date(n.headers.get(\"Expires\")).getTime()-rDate.now()&&!r[\"no-cache\"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var vt,xt=1/0;function _t(){return null==vt&&(vt=s.OffscreenCanvas&&new s.OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof s.createImageBitmap),vt}var bt={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(bt);var wt=function(t){function e(e,r,n){401===r&&X(n)&&(e+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},e}(Error),Tt=S()?function(){return self.worker&&self.worker.referrer}:function(){return(\"blob:\"===s.location.protocol?s.parent:s).location.href};function kt(t,e){var r,n=new s.AbortController,i=new s.Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,referrer:Tt(),signal:n.signal}),a=!1,o=!1,l=(r=i.url).indexOf(\"sku=\")>0&&X(r);\"json\"===t.type&&i.headers.set(\"Accept\",\"application/json\");var c=function(r,n,a){if(!o){if(r&&\"SecurityError\"!==r.message&&k(r),n&&a)return u(n);var c=Date.now();s.fetch(i).then((function(r){if(r.ok){var n=l?r.clone():null;return u(r,n,c)}return e(new wt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},u=function(r,n,s){(\"arrayBuffer\"===t.type?r.arrayBuffer():\"json\"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&mt(i,n,s),a=!0,e(null,t,r.headers.get(\"Cache-Control\"),r.headers.get(\"Expires\")))})).catch((function(t){o||e(new Error(t.message))}))};return l?yt(i,c):c(null,null),{cancel:function(){o=!0,a||n.abort()}}}var At=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(Tt())&&!/^\\w+:/.test(r))){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty(\"signal\"))return kt(t,e);if(S()&&self.worker&&self.worker.actor){return self.worker.actor.send(\"getResource\",t,e,void 0,!0)}}var r;return function(t,e){var r=new s.XMLHttpRequest;for(var n in r.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"===t.type&&(r.responseType=\"arraybuffer\"),t.headers)r.setRequestHeader(n,t.headers[n]);return\"json\"===t.type&&(r.responseType=\"text\",r.setRequestHeader(\"Accept\",\"application/json\")),r.withCredentials=\"include\"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if(\"json\"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader(\"Cache-Control\"),r.getResponseHeader(\"Expires\"))}else e(new wt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},Mt=function(t,e){return At(p(t,{type:\"arrayBuffer\"}),e)},St=function(t,e){return At(p(t,{method:\"POST\"}),e)};var Et,Ct,Lt=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";Et=[],Ct=0;var It=function(t,e){if(U.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),Ct>=j.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return Et.push(r),r}Ct++;var n=!1,i=function(){if(!n)for(n=!0,Ct--;Et.length&&Ct0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Rt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Ft={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{}},default:\"mapbox\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}},Bt=function(t,e,r,n){this.message=(t?t+\": \":\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Nt(t){var e=t.key,r=t.value;return r?[new Bt(e,r,\"constants have been deprecated as of v8\")]:[]}function jt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n\":\"value\"===t.itemType.kind?\"array\":\"array<\"+e+\">\"}return t.kind}var ne=[Gt,Zt,Wt,Yt,Xt,Qt,$t,ee(Jt),te];function ie(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!ie(t.itemType,e.itemType))&&(\"number\"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(var r=0,n=ne;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return\"%\"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return\"%\"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,\"\").toLowerCase();if(i in r)return r[i].slice();if(\"#\"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf(\"(\"),c=i.indexOf(\")\");if(-1!==l&&c+1===i.length){var u=i.substr(0,l),h=i.substr(l+1,c-(l+1)).split(\",\"),f=1;switch(u){case\"rgba\":if(4!==h.length)return null;f=o(h.pop());case\"rgb\":return 3!==h.length?null:[a(h[0]),a(h[1]),a(h[2]),f];case\"hsla\":if(4!==h.length)return null;f=o(h.pop());case\"hsl\":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=o(h[1]),m=o(h[2]),g=m<=.5?m*(d+1):m+d-m*d,y=2*m-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),f];default:return null}}return null}}catch(t){}})),le=se.parseCSSColor,ce=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};ce.parse=function(t){if(t){if(t instanceof ce)return t;if(\"string\"==typeof t){var e=le(t);if(e)return new ce(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},ce.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return\"rgba(\"+Math.round(e)+\",\"+Math.round(r)+\",\"+Math.round(n)+\",\"+i+\")\"},ce.prototype.toArray=function(){var t=this,e=t.r,r=t.g,n=t.b,i=t.a;return 0===i?[0,0,0,0]:[255*e/i,255*r/i,255*n/i,i]},ce.black=new ce(0,0,0,1),ce.white=new ce(1,1,1,1),ce.transparent=new ce(0,0,0,0),ce.red=new ce(1,0,0,1);var ue=function(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};ue.prototype.compare=function(t,e){return this.collator.compare(t,e)},ue.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var he=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},fe=function(t){this.sections=t};fe.fromString=function(t){return new fe([new he(t,null,null,null,null)])},fe.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},fe.factory=function(t){return t instanceof fe?t:fe.fromString(t)},fe.prototype.toString=function(){return 0===this.sections.length?\"\":this.sections.map((function(t){return t.text})).join(\"\")},fe.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:\"Invalid rgba value [\"+[t,e,r,n].join(\", \")+\"]: 'a' must be between 0 and 1.\":\"Invalid rgba value [\"+(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}function me(t){if(null===t)return!0;if(\"string\"==typeof t)return!0;if(\"boolean\"==typeof t)return!0;if(\"number\"==typeof t)return!0;if(t instanceof ce)return!0;if(t instanceof ue)return!0;if(t instanceof fe)return!0;if(t instanceof pe)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if(\"string\"!=typeof s||!(s in _e)||\"object\"===s)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);a=_e[s],n++}else a=Jt;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);o=t[2],n++}r=ee(a,o)}else r=_e[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var we=function(t){this.type=Qt,this.sections=t};we.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&\"object\"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o[\"font-scale\"]&&!(s=e.parse(o[\"font-scale\"],1,Zt)))return null;var l=null;if(o[\"text-font\"]&&!(l=e.parse(o[\"text-font\"],1,ee(Wt))))return null;var c=null;if(o[\"text-color\"]&&!(c=e.parse(o[\"text-color\"],1,Xt)))return null;var u=n[n.length-1];u.scale=s,u.font=l,u.textColor=c}else{var h=e.parse(t[a],1,Jt);if(!h)return null;var f=h.type.kind;if(\"string\"!==f&&\"value\"!==f&&\"null\"!==f&&\"resolvedImage\"!==f)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:h,scale:null,font:null,textColor:null})}}return new we(n)},we.prototype.evaluate=function(t){return new fe(this.sections.map((function(e){var r=e.content.evaluate(t);return ge(r)===te?new he(\"\",r,null,null,null):new he(ye(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))},we.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},Te.prototype.eachChild=function(t){t(this.input)},Te.prototype.outputDefined=function(){return!1},Te.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var ke={\"to-boolean\":Yt,\"to-color\":Xt,\"to-number\":Zt,\"to-string\":Wt},Ae=function(t,e){this.type=t,this.args=e};Ae.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[0];if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");for(var n=ke[r],i=[],a=1;a4?\"Invalid rbga value \"+JSON.stringify(e)+\": expected an array containing either three or four numeric values.\":de(e[0],e[1],e[2],e[3])))return new ce(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new xe(r||\"Could not parse color from value '\"+(\"string\"==typeof e?e:String(JSON.stringify(e)))+\"'\")}if(\"number\"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2]||t[1]<=e[1]||t[3]>=e[3])}function ze(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*Le),Math.round(i*a*Le)]}function Oe(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function De(t,e){for(var r=!1,n=0,i=e.length;n0&&h<0||u<0&&h>0}function Be(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}Ie(e,t)}function He(t,e,r,n){for(var i=Math.pow(2,n.z)*Le,a=[n.x*Le,n.y*Le],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Xe(t,e)&&(r=!1)})),r}Ze.parse=function(t,e){if(2!==t.length)return e.error(\"'within' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(me(t[1])){var r=t[1];if(\"FeatureCollection\"===r.type)for(var n=0;ne))throw new xe(\"Input is not a number.\");o=s-1}return 0}Je.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Je.prototype._parse=function(t,e){function r(t,e,r){return\"assert\"===r?new be(e,[t]):\"coerce\"===r?new Ae(e,[t]):t}if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var n=t[0];if(\"string\"!=typeof n)return this.error(\"Expression name must be a string, but found \"+typeof n+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if(\"string\"!==o.kind&&\"number\"!==o.kind&&\"boolean\"!==o.kind&&\"object\"!==o.kind&&\"array\"!==o.kind||\"value\"!==s.kind)if(\"color\"!==o.kind&&\"formatted\"!==o.kind&&\"resolvedImage\"!==o.kind||\"value\"!==s.kind&&\"string\"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||\"coerce\");else a=r(a,o,e.typeAnnotation||\"assert\")}if(!(a instanceof ve)&&\"resolvedImage\"!==a.type.kind&&Ke(a)){var l=new Se;try{a=new ve(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return void 0===t?this.error(\"'undefined' value invalid. Use null instead.\"):\"object\"==typeof t?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof t+\" instead.\")},Je.prototype.concat=function(t,e,r){var n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Je(this.registry,n,e||null,i,this.errors)},Je.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=\"\"+this.key+e.map((function(t){return\"[\"+t+\"]\"})).join(\"\");this.errors.push(new qt(n,t))},Je.prototype.checkSubtype=function(t,e){var r=ie(t,e);return r&&this.error(r),r};var tr=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',l);var u=e.parse(s,c,i);if(!u)return null;i=i||u.type,n.push([o,u])}return new tr(i,r,n)},tr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Qe(e,n)].evaluate(t)},tr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var rr=Object.freeze({__proto__:null,number:er,color:function(t,e,r){return new ce(er(t.r,e.r,r),er(t.g,e.g,r),er(t.b,e.b,r),er(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return er(t,e[n],r)}))}}),nr=.95047,ir=1,ar=1.08883,or=4/29,sr=6/29,lr=3*sr*sr,cr=sr*sr*sr,ur=Math.PI/180,hr=180/Math.PI;function fr(t){return t>cr?Math.pow(t,1/3):t/lr+or}function pr(t){return t>sr?t*t*t:lr*(t-or)}function dr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function mr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function gr(t){var e=mr(t.r),r=mr(t.g),n=mr(t.b),i=fr((.4124564*e+.3575761*r+.1804375*n)/nr),a=fr((.2126729*e+.7151522*r+.072175*n)/ir);return{l:116*a-16,a:500*(i-a),b:200*(a-fr((.0193339*e+.119192*r+.9503041*n)/ar)),alpha:t.a}}function yr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=ir*pr(e),r=nr*pr(r),n=ar*pr(n),new ce(dr(3.2404542*r-1.5371385*e-.4985314*n),dr(-.969266*r+1.8760108*e+.041556*n),dr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function vr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var xr={forward:gr,reverse:yr,interpolate:function(t,e,r){return{l:er(t.l,e.l,r),a:er(t.a,e.a,r),b:er(t.b,e.b,r),alpha:er(t.alpha,e.alpha,r)}}},_r={forward:function(t){var e=gr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*hr;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*ur,r=t.c;return yr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:vr(t.h,e.h,r),c:er(t.c,e.c,r),l:er(t.l,e.l,r),alpha:er(t.alpha,e.alpha,r)}}},br=Object.freeze({__proto__:null,lab:xr,hcl:_r}),wr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:s}}if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(i=e.parse(i,2,Zt)))return null;var l=[],c=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?c=Xt:e.expectedType&&\"value\"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u=h)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',p);var m=e.parse(f,d,c);if(!m)return null;c=c||m.type,l.push([h,m])}return\"number\"===c.kind||\"color\"===c.kind||\"array\"===c.kind&&\"number\"===c.itemType.kind&&\"number\"==typeof c.N?new wr(c,r,n,i,l):e.error(\"Type \"+re(c)+\" is not interpolatable.\")},wr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Qe(e,n),o=e[a],s=e[a+1],l=wr.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(t),u=r[a+1].evaluate(t);return\"interpolate\"===this.operator?rr[this.type.kind.toLowerCase()](c,u,l):\"interpolate-hcl\"===this.operator?_r.reverse(_r.interpolate(_r.forward(c),_r.forward(u),l)):xr.reverse(xr.interpolate(xr.forward(c),xr.forward(u),l))},wr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new xe(\"Array index out of bounds: \"+e+\" > \"+(r.length-1)+\".\");if(e!==Math.floor(e))throw new xe(\"Array index must be an integer, but found \"+e+\" instead.\");return r[e]},Mr.prototype.eachChild=function(t){t(this.index),t(this.input)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var Sr=function(t,e){this.type=Yt,this.needle=t,this.haystack=e};Sr.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);return r&&n?ae(r.type,[Yt,Wt,Zt,Gt,Jt])?new Sr(r,n):e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+re(r.type)+\" instead\"):null},Sr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!oe(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new xe(\"Expected first argument to be of type boolean, string, number or null, but found \"+re(ge(e))+\" instead.\");if(!oe(r,[\"string\",\"array\"]))throw new xe(\"Expected second argument to be of type array or string, but found \"+re(ge(r))+\" instead.\");return r.indexOf(e)>=0},Sr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},Sr.prototype.outputDefined=function(){return!0},Sr.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var Er=function(t,e,r){this.type=Zt,this.needle=t,this.haystack=e,this.fromIndex=r};Er.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);if(!r||!n)return null;if(!ae(r.type,[Yt,Wt,Zt,Gt,Jt]))return e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+re(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Zt);return i?new Er(r,n,i):null}return new Er(r,n)},Er.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!oe(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new xe(\"Expected first argument to be of type boolean, string, number or null, but found \"+re(ge(e))+\" instead.\");if(!oe(r,[\"string\",\"array\"]))throw new xe(\"Expected second argument to be of type array or string, but found \"+re(ge(r))+\" instead.\");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},Er.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},Er.prototype.outputDefined=function(){return!1},Er.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),t]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var Cr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Cr.parse=function(t,e){if(t.length<5)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");var r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return c.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof f&&Math.floor(f)!==f)return c.error(\"Numeric branch labels must be integer values.\");if(r){if(c.checkSubtype(r,ge(f)))return null}else r=ge(f);if(void 0!==i[String(f)])return c.error(\"Branch labels must be unique.\");i[String(f)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Jt);if(!d)return null;var m=e.parse(t[t.length-1],t.length-1,n);return m?\"value\"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new Cr(r,n,d,i,a,m):null},Cr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(ge(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Cr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Cr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},Cr.prototype.serialize=function(){for(var t=this,e=[\"match\",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Zt);if(!r||!n)return null;if(!ae(r.type,[ee(Jt),Wt,Jt]))return e.error(\"Expected first argument to be of type array or string, but found \"+re(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Zt);return i?new Ir(r.type,r,n,i):null}return new Ir(r.type,r,n)},Ir.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!oe(e,[\"string\",\"array\"]))throw new xe(\"Expected first argument to be of type array or string, but found \"+re(ge(e))+\" instead.\");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},Ir.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},Ir.prototype.outputDefined=function(){return!1},Ir.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),t]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};var Dr=Or(\"==\",(function(t,e,r){return e===r}),zr),Rr=Or(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!zr(0,e,r,n)})),Fr=Or(\"<\",(function(t,e,r){return e\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Nr=Or(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),jr=Or(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Ur=function(t,e,r,n,i){this.type=Wt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};Ur.parse=function(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");var r=e.parse(t[1],1,Zt);if(!r)return null;var n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Wt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Wt)))return null;var o=null;if(n[\"min-fraction-digits\"]&&!(o=e.parse(n[\"min-fraction-digits\"],1,Zt)))return null;var s=null;return n[\"max-fraction-digits\"]&&!(s=e.parse(n[\"max-fraction-digits\"],1,Zt))?null:new Ur(r,i,a,o,s)},Ur.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},Ur.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},Ur.prototype.outputDefined=function(){return!1},Ur.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),t]};var Vr=function(t){this.type=Zt,this.input=t};Vr.parse=function(t,e){if(2!==t.length)return e.error(\"Expected 1 argument, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(\"Expected argument of type string or array, but found \"+re(r.type)+\" instead.\"):new Vr(r):null},Vr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new xe(\"Expected value to be of type string or array, but found \"+re(ge(e))+\" instead.\")},Vr.prototype.eachChild=function(t){t(this.input)},Vr.prototype.outputDefined=function(){return!1},Vr.prototype.serialize=function(){var t=[\"length\"];return this.eachChild((function(e){t.push(e.serialize())})),t};var qr={\"==\":Dr,\"!=\":Rr,\">\":Br,\"<\":Fr,\">=\":jr,\"<=\":Nr,array:be,at:Mr,boolean:be,case:Lr,coalesce:kr,collator:Ce,format:we,image:Te,in:Sr,\"index-of\":Er,interpolate:wr,\"interpolate-hcl\":wr,\"interpolate-lab\":wr,length:Vr,let:Ar,literal:ve,match:Cr,number:be,\"number-format\":Ur,object:be,slice:Ir,step:tr,string:be,\"to-boolean\":Ae,\"to-color\":Ae,\"to-number\":Ae,\"to-string\":Ae,var:$e,within:Ze};function Hr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=de(r,n,i,o);if(s)throw new xe(s);return new ce(r/255*o,n/255*o,i/255*o,o)}function Gr(t,e){return t in e}function Zr(t,e){var r=e[t];return void 0===r?null:r}function Wr(t){return{type:t}}function Yr(t){return{result:\"success\",value:t}}function Xr(t){return{result:\"error\",value:t}}function $r(t){return\"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function Jr(t){return!!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function Kr(t){return!!t.expression&&t.expression.interpolated}function Qr(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function tn(t){return\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function en(t){return t}function rn(t,e){var r,n,i,a=\"color\"===e.type,o=t.stops&&\"object\"==typeof t.stops[0][0],s=o||void 0!==t.property,l=o||!s,c=t.type||(Kr(e)?\"exponential\":\"interval\");if(a&&((t=jt({},t)).stops&&(t.stops=t.stops.map((function(t){return[t[0],ce.parse(t[1])]}))),t.default?t.default=ce.parse(t.default):t.default=ce.parse(e.default)),t.colorSpace&&\"rgb\"!==t.colorSpace&&!br[t.colorSpace])throw new Error(\"Unknown color space: \"+t.colorSpace);if(\"exponential\"===c)r=sn;else if(\"interval\"===c)r=on;else if(\"categorical\"===c){r=an,n=Object.create(null);for(var u=0,h=t.stops;u=t.stops[n-1][0])return t.stops[n-1][1];var i=Qe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function sn(t,e,r){var n=void 0!==t.base?t.base:1;if(\"number\"!==Qr(r))return nn(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Qe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],c=rr[e.type]||en;if(t.colorSpace&&\"rgb\"!==t.colorSpace){var u=br[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return\"function\"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function ln(t,e,r){return\"color\"===e.type?r=ce.parse(r):\"formatted\"===e.type?r=fe.fromString(r.toString()):\"resolvedImage\"===e.type?r=pe.fromString(r.toString()):Qr(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),nn(r,t.default,e.default)}Ee.register(qr,{error:[{kind:\"error\"},[Wt],function(t,e){var r=e[0];throw new xe(r.evaluate(t))}],typeof:[Wt,[Jt],function(t,e){return re(ge(e[0].evaluate(t)))}],\"to-rgba\":[ee(Zt,4),[Xt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Xt,[Zt,Zt,Zt],Hr],rgba:[Xt,[Zt,Zt,Zt,Zt],Hr],has:{type:Yt,overloads:[[[Wt],function(t,e){return Gr(e[0].evaluate(t),t.properties())}],[[Wt,$t],function(t,e){var r=e[0],n=e[1];return Gr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Jt,overloads:[[[Wt],function(t,e){return Zr(e[0].evaluate(t),t.properties())}],[[Wt,$t],function(t,e){var r=e[0],n=e[1];return Zr(r.evaluate(t),n.evaluate(t))}]]},\"feature-state\":[Jt,[Wt],function(t,e){return Zr(e[0].evaluate(t),t.featureState||{})}],properties:[$t,[],function(t){return t.properties()}],\"geometry-type\":[Wt,[],function(t){return t.geometryType()}],id:[Jt,[],function(t){return t.id()}],zoom:[Zt,[],function(t){return t.globals.zoom}],\"heatmap-density\":[Zt,[],function(t){return t.globals.heatmapDensity||0}],\"line-progress\":[Zt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Jt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],\"+\":[Zt,Wr(Zt),function(t,e){for(var r=0,n=0,i=e;n\":[Yt,[Wt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\"filter-id->\":[Yt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\"filter-<=\":[Yt,[Wt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\"filter-id-<=\":[Yt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\"filter->=\":[Yt,[Wt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\"filter-id->=\":[Yt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\"filter-has\":[Yt,[Jt],function(t,e){return e[0].value in t.properties()}],\"filter-has-id\":[Yt,[],function(t){return null!==t.id()&&void 0!==t.id()}],\"filter-type-in\":[Yt,[ee(Wt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\"filter-id-in\":[Yt,[ee(Jt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\"filter-in-small\":[Yt,[Wt,ee(Jt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\"filter-in-large\":[Yt,[Wt,ee(Jt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Yt,overloads:[[[Yt,Yt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Wr(Yt),function(t,e){for(var r=0,n=e;r0&&\"string\"==typeof t[0]&&t[0]in qr}function hn(t,e){var r=new Je(qr,[],e?function(t){var e={color:Xt,string:Wt,number:Zt,enum:Wt,boolean:Yt,formatted:Qt,resolvedImage:te};return\"array\"===t.type?ee(e[t.value]||Jt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?Yr(new cn(n,e)):Xr(r.errors)}cn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},cn.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||\"number\"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new xe(\"Expected value to be one of \"+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(\", \")+\", but found \"+JSON.stringify(o)+\" instead.\");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}};var fn=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!Ye(e.expression)};fn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},fn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var pn=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!Ye(e.expression),this.interpolationType=n};function dn(t,e){if(\"error\"===(t=hn(t,e)).result)return t;var r=t.value.expression,n=We(r);if(!n&&!$r(e))return Xr([new qt(\"\",\"data expressions not supported\")]);var i=Xe(r,[\"zoom\"]);if(!i&&!Jr(e))return Xr([new qt(\"\",\"zoom expressions not supported\")]);var a=gn(r);if(!a&&!i)return Xr([new qt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(a instanceof qt)return Xr([a]);if(a instanceof wr&&!Kr(e))return Xr([new qt(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!a)return Yr(new fn(n?\"constant\":\"source\",t.value));var o=a instanceof wr?a.interpolation:void 0;return Yr(new pn(n?\"camera\":\"composite\",t.value,a.labels,o))}pn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},pn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},pn.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?wr.interpolationFactor(this.interpolationType,t,e,r):0};var mn=function(t,e){this._parameters=t,this._specification=e,jt(this,rn(this._parameters,this._specification))};function gn(t){var e=null;if(t instanceof Ar)e=gn(t.result);else if(t instanceof kr)for(var r=0,n=t.args;rn.maximum?[new Bt(e,r,r+\" is greater than the maximum value \"+n.maximum)]:[]}function _n(t){var e,r,n,i=t.valueSpec,a=Ut(t.value.type),o={},s=\"categorical\"!==a&&void 0===t.value.property,l=!s,c=\"array\"===Qr(t.value.stops)&&\"array\"===Qr(t.value.stops[0])&&\"object\"===Qr(t.value.stops[0][0]),u=yn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===a)return[new Bt(t.key,t.value,'identity function may not have a \"stops\" property')];var e=[],r=t.value;return e=e.concat(vn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),\"array\"===Qr(r)&&0===r.length&&e.push(new Bt(t.key,r,\"array must have at least one stop\")),e},default:function(t){return Hn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return\"identity\"===a&&s&&u.push(new Bt(t.key,t.value,'missing required property \"property\"')),\"identity\"===a||t.value.stops||u.push(new Bt(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===a&&t.valueSpec.expression&&!Kr(t.valueSpec)&&u.push(new Bt(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!$r(t.valueSpec)?u.push(new Bt(t.key,t.value,\"property functions not supported\")):s&&!Jr(t.valueSpec)&&u.push(new Bt(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==a&&!c||void 0!==t.value.property||u.push(new Bt(t.key,t.value,'\"property\" property is required')),u;function h(t){var e=[],a=t.value,s=t.key;if(\"array\"!==Qr(a))return[new Bt(s,a,\"array expected, \"+Qr(a)+\" found\")];if(2!==a.length)return[new Bt(s,a,\"array length 2 expected, length \"+a.length+\" found\")];if(c){if(\"object\"!==Qr(a[0]))return[new Bt(s,a,\"object expected, \"+Qr(a[0])+\" found\")];if(void 0===a[0].zoom)return[new Bt(s,a,\"object stop key must have zoom\")];if(void 0===a[0].value)return[new Bt(s,a,\"object stop key must have value\")];if(n&&n>Ut(a[0].zoom))return[new Bt(s,a[0].zoom,\"stop zoom values must appear in ascending order\")];Ut(a[0].zoom)!==n&&(n=Ut(a[0].zoom),r=void 0,o={}),e=e.concat(yn({key:s+\"[0]\",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:xn,value:f}}))}else e=e.concat(f({key:s+\"[0]\",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return un(Vt(a[1]))?e.concat([new Bt(s+\"[1]\",a[1],\"expressions are not allowed in function stops.\")]):e.concat(Hn({key:s+\"[1]\",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function f(t,n){var s=Qr(t.value),l=Ut(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new Bt(t.key,c,s+\" stop domain type must match previous stop domain type \"+e)]}else e=s;if(\"number\"!==s&&\"string\"!==s&&\"boolean\"!==s)return[new Bt(t.key,c,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==s&&\"categorical\"!==a){var u=\"number expected, \"+s+\" found\";return $r(i)&&void 0===a&&(u+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new Bt(t.key,c,u)]}return\"categorical\"!==a||\"number\"!==s||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==a&&\"number\"===s&&void 0!==r&&l=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":return t.length>=3&&(\"string\"!=typeof t[1]||Array.isArray(t[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case\"any\":case\"all\":for(var e=0,r=t.slice(1);ee?1:0}function Sn(t){if(!Array.isArray(t))return!1;if(\"within\"===t[0])return!0;for(var e=1;e\"===r||\"<=\"===r||\">=\"===r?Cn(t[1],t[2],r):\"any\"===r?(e=t.slice(1),[\"any\"].concat(e.map(En))):\"all\"===r?[\"all\"].concat(t.slice(1).map(En)):\"none\"===r?[\"all\"].concat(t.slice(1).map(En).map(Pn)):\"in\"===r?Ln(t[1],t.slice(2)):\"!in\"===r?Pn(Ln(t[1],t.slice(2))):\"has\"===r?In(t[1]):\"!has\"===r?Pn(In(t[1])):\"within\"!==r||t}function Cn(t,e,r){switch(t){case\"$type\":return[\"filter-type-\"+r,e];case\"$id\":return[\"filter-id-\"+r,e];default:return[\"filter-\"+r,t,e]}}function Ln(t,e){if(0===e.length)return!1;switch(t){case\"$type\":return[\"filter-type-in\",[\"literal\",e]];case\"$id\":return[\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?[\"filter-in-large\",t,[\"literal\",e.sort(Mn)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function In(t){switch(t){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",t]}}function Pn(t){return[\"!\",t]}function zn(t){return Tn(Vt(t.value))?bn(jt({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):On(t)}function On(t){var e=t.value,r=t.key;if(\"array\"!==Qr(e))return[new Bt(r,e,\"array expected, \"+Qr(e)+\" found\")];var n,i=t.styleSpec,a=[];if(e.length<1)return[new Bt(r,e,\"filter array must have at least 1 element\")];switch(a=a.concat(wn({key:r+\"[0]\",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),Ut(e[0])){case\"<\":case\"<=\":case\">\":case\">=\":e.length>=2&&\"$type\"===Ut(e[1])&&a.push(new Bt(r,e,'\"$type\" cannot be use with operator \"'+e[0]+'\"'));case\"==\":case\"!=\":3!==e.length&&a.push(new Bt(r,e,'filter array for operator \"'+e[0]+'\" must have 3 elements'));case\"in\":case\"!in\":e.length>=2&&\"string\"!==(n=Qr(e[1]))&&a.push(new Bt(r+\"[1]\",e[1],\"string expected, \"+n+\" found\"));for(var o=2;o=u[p+0]&&n>=u[p+1])?(o[f]=!0,a.push(c[f])):o[f]=!1}}},ri.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.d*p+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(p),this._convertFromCellCoord(f+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},ri.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},ri.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},ri.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=ei+this.cells.length+1+1,r=0,n=0;n=0)){var h=t[u];c[u]=ai[l].shallow.indexOf(u)>=0?h:ui(h,e)}t instanceof Error&&(c.message=t.message)}if(c.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return\"Object\"!==l&&(c.$name=l),c}throw new Error(\"can't serialize object of type \"+typeof t)}function hi(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||li(t)||ci(t)||ArrayBuffer.isView(t)||t instanceof ni)return t;if(Array.isArray(t))return t.map(hi);if(\"object\"==typeof t){var e=t.$name||\"Object\",r=ai[e].klass;if(!r)throw new Error(\"can't deserialize unregistered class \"+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:hi(s)}}return n}throw new Error(\"can't deserialize object of type \"+typeof t)}var fi=function(){this.first=!0};fi.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},\"Arabic Supplement\":function(t){return t>=1872&&t<=1919},\"Arabic Extended-A\":function(t){return t>=2208&&t<=2303},\"Hangul Jamo\":function(t){return t>=4352&&t<=4607},\"Unified Canadian Aboriginal Syllabics\":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(t){return t>=6320&&t<=6399},\"General Punctuation\":function(t){return t>=8192&&t<=8303},\"Letterlike Symbols\":function(t){return t>=8448&&t<=8527},\"Number Forms\":function(t){return t>=8528&&t<=8591},\"Miscellaneous Technical\":function(t){return t>=8960&&t<=9215},\"Control Pictures\":function(t){return t>=9216&&t<=9279},\"Optical Character Recognition\":function(t){return t>=9280&&t<=9311},\"Enclosed Alphanumerics\":function(t){return t>=9312&&t<=9471},\"Geometric Shapes\":function(t){return t>=9632&&t<=9727},\"Miscellaneous Symbols\":function(t){return t>=9728&&t<=9983},\"Miscellaneous Symbols and Arrows\":function(t){return t>=11008&&t<=11263},\"CJK Radicals Supplement\":function(t){return t>=11904&&t<=12031},\"Kangxi Radicals\":function(t){return t>=12032&&t<=12255},\"Ideographic Description Characters\":function(t){return t>=12272&&t<=12287},\"CJK Symbols and Punctuation\":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},\"Hangul Compatibility Jamo\":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},\"Bopomofo Extended\":function(t){return t>=12704&&t<=12735},\"CJK Strokes\":function(t){return t>=12736&&t<=12783},\"Katakana Phonetic Extensions\":function(t){return t>=12784&&t<=12799},\"Enclosed CJK Letters and Months\":function(t){return t>=12800&&t<=13055},\"CJK Compatibility\":function(t){return t>=13056&&t<=13311},\"CJK Unified Ideographs Extension A\":function(t){return t>=13312&&t<=19903},\"Yijing Hexagram Symbols\":function(t){return t>=19904&&t<=19967},\"CJK Unified Ideographs\":function(t){return t>=19968&&t<=40959},\"Yi Syllables\":function(t){return t>=40960&&t<=42127},\"Yi Radicals\":function(t){return t>=42128&&t<=42191},\"Hangul Jamo Extended-A\":function(t){return t>=43360&&t<=43391},\"Hangul Syllables\":function(t){return t>=44032&&t<=55215},\"Hangul Jamo Extended-B\":function(t){return t>=55216&&t<=55295},\"Private Use Area\":function(t){return t>=57344&&t<=63743},\"CJK Compatibility Ideographs\":function(t){return t>=63744&&t<=64255},\"Arabic Presentation Forms-A\":function(t){return t>=64336&&t<=65023},\"Vertical Forms\":function(t){return t>=65040&&t<=65055},\"CJK Compatibility Forms\":function(t){return t>=65072&&t<=65103},\"Small Form Variants\":function(t){return t>=65104&&t<=65135},\"Arabic Presentation Forms-B\":function(t){return t>=65136&&t<=65279},\"Halfwidth and Fullwidth Forms\":function(t){return t>=65280&&t<=65519}};function di(t){for(var e=0,r=t;e=65097&&t<=65103)||pi[\"CJK Compatibility Ideographs\"](t)||pi[\"CJK Compatibility\"](t)||pi[\"CJK Radicals Supplement\"](t)||pi[\"CJK Strokes\"](t)||!(!pi[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||pi[\"CJK Unified Ideographs Extension A\"](t)||pi[\"CJK Unified Ideographs\"](t)||pi[\"Enclosed CJK Letters and Months\"](t)||pi[\"Hangul Compatibility Jamo\"](t)||pi[\"Hangul Jamo Extended-A\"](t)||pi[\"Hangul Jamo Extended-B\"](t)||pi[\"Hangul Jamo\"](t)||pi[\"Hangul Syllables\"](t)||pi.Hiragana(t)||pi[\"Ideographic Description Characters\"](t)||pi.Kanbun(t)||pi[\"Kangxi Radicals\"](t)||pi[\"Katakana Phonetic Extensions\"](t)||pi.Katakana(t)&&12540!==t||!(!pi[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!pi[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||pi[\"Unified Canadian Aboriginal Syllabics\"](t)||pi[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||pi[\"Vertical Forms\"](t)||pi[\"Yijing Hexagram Symbols\"](t)||pi[\"Yi Syllables\"](t)||pi[\"Yi Radicals\"](t))))}function gi(t){return!(mi(t)||function(t){return!!(pi[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||pi[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||pi[\"Letterlike Symbols\"](t)||pi[\"Number Forms\"](t)||pi[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||pi[\"Control Pictures\"](t)&&9251!==t||pi[\"Optical Character Recognition\"](t)||pi[\"Enclosed Alphanumerics\"](t)||pi[\"Geometric Shapes\"](t)||pi[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||pi[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||pi[\"CJK Symbols and Punctuation\"](t)||pi.Katakana(t)||pi[\"Private Use Area\"](t)||pi[\"CJK Compatibility Forms\"](t)||pi[\"Small Form Variants\"](t)||pi[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function yi(t){return pi.Arabic(t)||pi[\"Arabic Supplement\"](t)||pi[\"Arabic Extended-A\"](t)||pi[\"Arabic Presentation Forms-A\"](t)||pi[\"Arabic Presentation Forms-B\"](t)}function vi(t){return t>=1424&&t<=2303||pi[\"Arabic Presentation Forms-A\"](t)||pi[\"Arabic Presentation Forms-B\"](t)}function xi(t,e){return!(!e&&vi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||pi.Khmer(t))}function _i(t){for(var e=0,r=t;e-1&&(Mi=ki),Ai&&Ai(t)};function Ci(){Li.fire(new Ot(\"pluginStateChange\",{pluginStatus:Mi,pluginURL:Si}))}var Li=new Rt,Ii=function(){return Mi},Pi=function(){if(Mi!==bi||!Si)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");Mi=wi,Ci(),Si&&Mt({url:Si},(function(t){t?Ei(t):(Mi=Ti,Ci())}))},zi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Mi===Ti||null!=zi.applyArabicShaping},isLoading:function(){return Mi===wi},setState:function(t){Mi=t.pluginStatus,Si=t.pluginURL},isParsed:function(){return null!=zi.applyArabicShaping&&null!=zi.processBidirectionalText&&null!=zi.processStyledBidirectionalText},getPluginURL:function(){return Si}},Oi=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new fi,this.transition={})};Oi.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var Di=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(tn(t))return new mn(t,e);if(un(t)){var r=dn(t,e);if(\"error\"===r.result)throw new Error(r.value.map((function(t){return t.key+\": \"+t.message})).join(\", \"));return r.value}var n=t;return\"string\"==typeof t&&\"color\"===e.type&&(n=ce.parse(t)),{kind:\"constant\",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Di.prototype.isDataDriven=function(){return\"source\"===this.expression.kind||\"composite\"===this.expression.kind},Di.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var Ri=function(t){this.property=t,this.value=new Di(t,void 0)};Ri.prototype.transitioned=function(t,e){return new Bi(this.property,this.value,e,p({},t.transition,this.transition),t.now)},Ri.prototype.untransitioned=function(){return new Bi(this.property,this.value,null,{},0)};var Fi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Fi.prototype.getValue=function(t){return w(this._values[t].value.value)},Fi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].value=new Di(this._values[t].property,null===e?void 0:w(e))},Fi.prototype.getTransition=function(t){return w(this._values[t].transition)},Fi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].transition=w(e)||void 0},Fi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var Ni=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Ni.prototype.possiblyEvaluate=function(t,e,r){for(var n=new Vi(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Hi),Zi=function(t){this.specification=t};Zi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Oi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Oi(Math.floor(e.zoom),e)),t.expression.evaluate(new Oi(Math.floor(e.zoom+1),e)),e)}},Zi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Zi.prototype.interpolate=function(t){return t};var Wi=function(t){this.specification=t};Wi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},Wi.prototype.interpolate=function(){return!1};var Yi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new Di(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Ri(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};oi(\"DataDrivenProperty\",Hi),oi(\"DataConstantProperty\",qi),oi(\"CrossFadedDataDrivenProperty\",Gi),oi(\"CrossFadedProperty\",Zi),oi(\"ColorRampProperty\",Wi);var Xi=\"-transition\",$i=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},\"custom\"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,\"background\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\"source-layer\"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new ji(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Fi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Vi(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return\"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n=\"layers.\"+this.id+\".layout.\"+t;if(this._validate(Kn,n,t,e,r))return}\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return x(t,Xi)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n=\"layers.\"+this.id+\".paint.\"+t;if(this._validate(Jn,n,t,e,r))return!1}if(x(t,Xi))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;var i=this._transitionablePaint._values[t],a=\"cross-faded-data-driven\"===i.property.specification[\"property-type\"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||\"none\"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),b(t,(function(t,e){return!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Qn(this,t.call(Xn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Ft,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Ui&&$r(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Rt),Ji={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Ki=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Qi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function ta(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,Ji[i].BYTES_PER_ELEMENT),o=r=ea(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:ea(r,Math.max(n,e)),alignment:e}}function ea(t,e){return Math.ceil(t/e)*e}Qi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Qi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Qi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Qi.prototype.clear=function(){this.length=0},Qi.prototype.resize=function(t){this.reserve(t),this.length=t},Qi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Qi.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Qi);ra.prototype.bytesPerElement=4,oi(\"StructArrayLayout2i4\",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Qi);na.prototype.bytesPerElement=8,oi(\"StructArrayLayout4i8\",na);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ia.prototype.bytesPerElement=12,oi(\"StructArrayLayout2i4i12\",ia);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Qi);aa.prototype.bytesPerElement=8,oi(\"StructArrayLayout2i4ub8\",aa);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Qi);oa.prototype.bytesPerElement=8,oi(\"StructArrayLayout2f8\",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l,c)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u){var h=10*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint16[h+8]=c,this.uint16[h+9]=u,t},e}(Qi);sa.prototype.bytesPerElement=20,oi(\"StructArrayLayout10ui20\",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,h){var f=this.length;return this.resize(f+1),this.emplace(f,t,e,r,n,i,a,o,s,l,c,u,h)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,h,f){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,t},e}(Qi);la.prototype.bytesPerElement=24,oi(\"StructArrayLayout4i4ui4i24\",la);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Qi);ca.prototype.bytesPerElement=12,oi(\"StructArrayLayout3f12\",ca);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Qi);ua.prototype.bytesPerElement=4,oi(\"StructArrayLayout1ul4\",ua);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c){var u=10*t,h=5*t;return this.int16[u+0]=e,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[h+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,t},e}(Qi);ha.prototype.bytesPerElement=20,oi(\"StructArrayLayout6i1ul2ui20\",ha);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);fa.prototype.bytesPerElement=12,oi(\"StructArrayLayout2i2i2i12\",fa);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Qi);pa.prototype.bytesPerElement=16,oi(\"StructArrayLayout2f1f2i16\",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Qi);da.prototype.bytesPerElement=12,oi(\"StructArrayLayout2ub2f12\",da);var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Qi);ma.prototype.bytesPerElement=6,oi(\"StructArrayLayout3ui6\",ma);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g){var y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){var v=24*t,x=12*t,_=48*t;return this.int16[v+0]=e,this.int16[v+1]=r,this.uint16[v+2]=n,this.uint16[v+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[v+10]=l,this.uint16[v+11]=c,this.uint16[v+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[_+36]=p,this.uint8[_+37]=d,this.uint8[_+38]=m,this.uint32[x+10]=g,this.int16[v+22]=y,t},e}(Qi);ga.prototype.bytesPerElement=48,oi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",ga);var ya=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E){var C=34*t,L=17*t;return this.int16[C+0]=e,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=m,this.uint16[C+15]=g,this.uint16[C+16]=y,this.uint16[C+17]=v,this.uint16[C+18]=x,this.uint16[C+19]=_,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[L+12]=k,this.float32[L+13]=A,this.float32[L+14]=M,this.float32[L+15]=S,this.float32[L+16]=E,t},e}(Qi);ya.prototype.bytesPerElement=68,oi(\"StructArrayLayout8i15ui1ul4f68\",ya);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Qi);va.prototype.bytesPerElement=4,oi(\"StructArrayLayout1f4\",va);var xa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Qi);xa.prototype.bytesPerElement=6,oi(\"StructArrayLayout3i6\",xa);var _a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Qi);_a.prototype.bytesPerElement=8,oi(\"StructArrayLayout1ul2ui8\",_a);var ba=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Qi);ba.prototype.bytesPerElement=4,oi(\"StructArrayLayout2ui4\",ba);var wa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Qi);wa.prototype.bytesPerElement=2,oi(\"StructArrayLayout1ui2\",wa);var Ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Qi);Ta.prototype.bytesPerElement=16,oi(\"StructArrayLayout4f16\",Ta);var ka=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Ki);ka.prototype.size=20;var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ka(this,t)},e}(ha);oi(\"CollisionBoxArray\",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(Ki);Ma.prototype.size=48;var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ma(this,t)},e}(ga);oi(\"PlacedSymbolArray\",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(Ki);Ea.prototype.size=68;var Ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ea(this,t)},e}(ya);oi(\"SymbolInstanceArray\",Ca);var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(va);oi(\"GlyphOffsetArray\",La);var Ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(xa);oi(\"SymbolLineVertexArray\",Ia);var Pa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(Ki);Pa.prototype.size=8;var za=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Pa(this,t)},e}(_a);oi(\"FeatureIndexArray\",za);var Oa=ta([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,Da=function(t){void 0===t&&(t=[]),this.segments=t};function Ra(t,e){return 256*(t=h(Math.floor(t),0,255))+h(Math.floor(e),0,255)}Da.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>Da.MAX_VERTEX_ARRAY_LENGTH&&k(\"Max vertices per segment is \"+Da.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+t),(!i||i.vertexLength+t>Da.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Da.prototype.get=function(){return this.segments},Da.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Na=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ja=Ba,Ua=Ba,Va=Na;ja.murmur3=Ua,ja.murmur2=Va;var qa=function(){this.ids=[],this.positions=[],this.indexed=!1};qa.prototype.add=function(t,e,r,n){this.ids.push(Ga(t)),this.positions.push(e,r,n)},qa.prototype.getPositions=function(t){for(var e=Ga(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},qa.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Za(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},qa.deserialize=function(t){var e=new qa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var Ha=Math.pow(2,53)-1;function Ga(t){var e=+t;return!isNaN(e)&&e<=Ha?e:ja(String(t))}function Za(t,e,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(t[a]i);if(a>=o)break;Wa(t,a,o),Wa(e,3*a,3*o),Wa(e,3*a+1,3*o+1),Wa(e,3*a+2,3*o+2)}o-ro.x+1||lo.y+1)&&k(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return r}function vo(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?yo(t):[]}}function xo(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var _o=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ra,this.indexArray=new ma,this.segments=new Da,this.programConfigurations=new uo(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function bo(t,e){for(var r=0;r1){if(Ao(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function Co(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Lo(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function Io(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=A(t,e,r[0]);return a!==A(t,e,r[1])||a!==A(t,e,r[2])||a!==A(t,e,r[3])}function Po(t,e,r){var n=e.paint.get(t).value;return\"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function zo(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Oo(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);\"viewport\"===r&&o._rotate(-n);for(var s=[],l=0;l=po||u<0||u>=po)){var h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),f=h.vertexLength;xo(this.layoutVertexArray,c,u,-1,-1),xo(this.layoutVertexArray,c,u,1,-1),xo(this.layoutVertexArray,c,u,1,1),xo(this.layoutVertexArray,c,u,-1,1),this.indexArray.emplaceBack(f,f+1,f+2),this.indexArray.emplaceBack(f,f+3,f+2),h.vertexLength+=4,h.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},oi(\"CircleBucket\",_o,{omit:[\"layers\"]});var Do=new Yi({\"circle-sort-key\":new Hi(Ft.layout_circle[\"circle-sort-key\"])}),Ro={paint:new Yi({\"circle-radius\":new Hi(Ft.paint_circle[\"circle-radius\"]),\"circle-color\":new Hi(Ft.paint_circle[\"circle-color\"]),\"circle-blur\":new Hi(Ft.paint_circle[\"circle-blur\"]),\"circle-opacity\":new Hi(Ft.paint_circle[\"circle-opacity\"]),\"circle-translate\":new qi(Ft.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new qi(Ft.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new qi(Ft.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new qi(Ft.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new Hi(Ft.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new Hi(Ft.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new Hi(Ft.paint_circle[\"circle-stroke-opacity\"])}),layout:Do},Fo=\"undefined\"!=typeof Float32Array?Float32Array:Array;function Bo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function No(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],m=e[12],g=e[13],y=e[14],v=e[15],x=r[0],_=r[1],b=r[2],w=r[3];return t[0]=x*n+_*s+b*h+w*m,t[1]=x*i+_*l+b*f+w*g,t[2]=x*a+_*c+b*p+w*y,t[3]=x*o+_*u+b*d+w*v,x=r[4],_=r[5],b=r[6],w=r[7],t[4]=x*n+_*s+b*h+w*m,t[5]=x*i+_*l+b*f+w*g,t[6]=x*a+_*c+b*p+w*y,t[7]=x*o+_*u+b*d+w*v,x=r[8],_=r[9],b=r[10],w=r[11],t[8]=x*n+_*s+b*h+w*m,t[9]=x*i+_*l+b*f+w*g,t[10]=x*a+_*c+b*p+w*y,t[11]=x*o+_*u+b*d+w*v,x=r[12],_=r[13],b=r[14],w=r[15],t[12]=x*n+_*s+b*h+w*m,t[13]=x*i+_*l+b*f+w*g,t[14]=x*a+_*c+b*p+w*y,t[15]=x*o+_*u+b*d+w*v,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var jo=No;var Uo,Vo=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};function qo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}Uo=new Fo(3),Fo!=Float32Array&&(Uo[0]=0,Uo[1]=0,Uo[2]=0),function(){var t=new Fo(4);Fo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ho=function(t){var e=t[0],r=t[1];return e*e+r*r},Go=(function(){var t=new Fo(2);Fo!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,Ro)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new _o(t)},e.prototype.queryRadius=function(t){var e=t;return Po(\"circle-radius\",this,e)+Po(\"circle-stroke-width\",this,e)+zo(this.paint.get(\"circle-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=Oo(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),a.angle,o),c=this.paint.get(\"circle-radius\").evaluate(e,r)+this.paint.get(\"circle-stroke-width\").evaluate(e,r),u=\"map\"===this.paint.get(\"circle-pitch-alignment\"),h=u?l:function(t,e){return t.map((function(t){return Zo(t,e)}))}(l,s),f=u?c*o:c,p=0,d=n;pt.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var o=t.data,s=e.data,l=0;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return us(f,p,r,n,i,c),p}function ls(t,e,r,n,i){var a,o;if(i===Ps(t,e,r,n)>0)for(a=e;a=e;a-=n)o=Cs(a,t[a],t[a+1],o);return o&&Ts(o,o.next)&&(Ls(o),o=o.next),o}function cs(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ts(n,n.next)&&0!==ws(n.prev,n,n.next))n=n.next;else{if(Ls(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function us(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=vs(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?fs(t,n,i,a):hs(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Ls(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?us(t=ps(cs(t),e,r),e,r,n,i,a,2):2===o&&ds(t,e,r,n,i,a):us(cs(t),e,r,n,i,a,1);break}}}function hs(t){var e=t.prev,r=t,n=t.next;if(ws(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(_s(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ws(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function fs(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ws(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,h=vs(s,l,e,r,n),f=vs(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==t.prev&&p!==t.next&&_s(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&_s(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&_s(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&_s(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function ps(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ts(i,a)&&ks(i,n,n.next,a)&&Ss(i,a)&&Ss(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Ls(n),Ls(n.next),n=t=a),n=n.next}while(n!==t);return cs(n)}function ds(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&bs(o,s)){var l=Es(o,s);return o=cs(o,o.next),l=cs(l,l.next),us(o,e,r,n,i,a),void us(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function ms(t,e){return t.x-e.x}function gs(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&_s(ar.x||n.x===r.x&&ys(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=Es(e,t);cs(e,e.next),cs(r,r.next)}}function ys(t,e){return ws(t.prev,t,e.prev)<0&&ws(e.next,t,t.next)<0}function vs(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function xs(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function bs(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&&ks(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(Ss(t,e)&&Ss(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(ws(t.prev,t,e.prev)||ws(t,e.prev,e))||Ts(t,e)&&ws(t.prev,t,t.next)>0&&ws(e.prev,e,e.next)>0)}function ws(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ts(t,e){return t.x===e.x&&t.y===e.y}function ks(t,e,r,n){var i=Ms(ws(t,e,r)),a=Ms(ws(t,e,n)),o=Ms(ws(r,n,t)),s=Ms(ws(r,n,e));return i!==a&&o!==s||!(0!==i||!As(t,r,e))||!(0!==a||!As(t,n,e))||!(0!==o||!As(r,t,n))||!(0!==s||!As(r,e,n))}function As(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 Ms(t){return t>0?1:t<0?-1:0}function Ss(t,e){return ws(t.prev,t,t.next)<0?ws(t,e,t.next)>=0&&ws(t,t.prev,e)>=0:ws(t,e,t.prev)<0||ws(t,t.next,e)<0}function Es(t,e){var r=new Is(t.i,t.x,t.y),n=new Is(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Cs(t,e,r,n){var i=new Is(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Ls(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 Is(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 Ps(t,e,r,n){for(var i=0,a=e,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Os(t,e,Math.max(r,Math.floor(e-o*l/a+c)),Math.min(n,Math.floor(e+(a-o)*l/a+c)),i)}var u=t[e],h=r,f=n;for(Ds(t,r,e),i(t[n],u)>0&&Ds(t,r,n);h0;)f--}0===i(t[r],u)?Ds(t,r,f):Ds(t,++f,n),f<=e&&(r=f+1),e<=f&&(n=f-1)}}function Ds(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Rs(t,e){return te?1:0}function Fs(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},as.default=os;var Us=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ra,this.indexArray=new ma,this.indexArray2=new ba,this.programConfigurations=new uo(t.layers,t.zoom),this.segments=new Da,this.segments2=new Da,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Us.prototype.populate=function(t,e,r){this.hasPattern=Ns(\"fill\",this.layers,e);for(var n=this.layers[0].layout.get(\"fill-sort-key\"),i=[],a=0,o=t;a>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Ws.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())c&&(c=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return[o,l,s,c]},Ws.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=Ws.types[this.type];function u(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Qs(t,e,r){if(3===t){var n=new $s(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Js.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Zs(this._pbf,e,this.extent,this._keys,this._values)};var tl={VectorTile:function(t,e){this.layers=t.readFields(Qs,{},e)},VectorTileFeature:Zs,VectorTileLayer:$s},el=tl.VectorTileFeature.types,rl=Math.pow(2,13);function nl(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*rl)+o,i*rl*2,a*rl*2,Math.round(s))}var il=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ia,this.indexArray=new ma,this.programConfigurations=new uo(t.layers,t.zoom),this.segments=new Da,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function al(t,e){return t.x===e.x&&(t.x<0||t.x>po)||t.y===e.y&&(t.y<0||t.y>po)}il.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Ns(\"fill-extrusion\",this.layers,e);for(var n=0,i=t;npo}))||P.every((function(t){return t.y<0}))||P.every((function(t){return t.y>po}))))for(var m=0,g=0;g=1){var v=d[g-1];if(!al(y,v)){h.vertexLength+4>Da.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(v)._perp()._unit(),_=v.dist(y);m+_>32768&&(m=0),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,m),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,m),m+=_,nl(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,m),nl(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,m);var b=h.vertexLength;this.indexArray.emplaceBack(b,b+2,b+1),this.indexArray.emplaceBack(b+1,b+2,b+3),h.vertexLength+=4,h.primitiveLength+=2}}}}if(h.vertexLength+l>Da.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),\"Polygon\"===el[t.type]){for(var w=[],T=[],k=h.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;c0;if(T&&y>c){var A=u.dist(p);if(A>2*h){var M=u.sub(u.sub(p)._mult(h/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,m,0,0,f),p=M}}var S=p&&d,E=S?r:s?\"butt\":n;if(S&&\"round\"===E&&(bi&&(E=\"bevel\"),\"bevel\"===E&&(b>2&&(E=\"flipbevel\"),b100)v=g.mult(-1);else{var C=b*m.add(g).mag()/m.sub(g).mag();v._perp()._mult(C*(k?-1:1))}this.addCurrentVertex(u,v,0,0,f),this.addCurrentVertex(u,v.mult(-1),0,0,f)}else if(\"bevel\"===E||\"fakeround\"===E){var L=-Math.sqrt(b*b-1),I=k?L:0,P=k?0:L;if(p&&this.addCurrentVertex(u,m,I,P,f),\"fakeround\"===E)for(var z=Math.round(180*w/Math.PI/20),O=1;O2*h){var j=u.add(d.sub(u)._mult(h/N)._round());this.updateDistance(u,j),this.addCurrentVertex(j,g,0,0,f),u=j}}}}},ml.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,c=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,c,a,!0,-n,i),this.distance>dl/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},ml.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,c=.5*(this.lineClips?this.scaledDistance*(dl-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&c)<<2,c>>6),this.lineClips){var u=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(u,this.lineClipsArray.length)}var h=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,h),o.primitiveLength++),i?this.e2=h:this.e1=h},ml.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},ml.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},oi(\"LineBucket\",ml,{omit:[\"layers\",\"patternFeatures\"]});var gl=new Yi({\"line-cap\":new qi(Ft.layout_line[\"line-cap\"]),\"line-join\":new Hi(Ft.layout_line[\"line-join\"]),\"line-miter-limit\":new qi(Ft.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new qi(Ft.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Hi(Ft.layout_line[\"line-sort-key\"])}),yl={paint:new Yi({\"line-opacity\":new Hi(Ft.paint_line[\"line-opacity\"]),\"line-color\":new Hi(Ft.paint_line[\"line-color\"]),\"line-translate\":new qi(Ft.paint_line[\"line-translate\"]),\"line-translate-anchor\":new qi(Ft.paint_line[\"line-translate-anchor\"]),\"line-width\":new Hi(Ft.paint_line[\"line-width\"]),\"line-gap-width\":new Hi(Ft.paint_line[\"line-gap-width\"]),\"line-offset\":new Hi(Ft.paint_line[\"line-offset\"]),\"line-blur\":new Hi(Ft.paint_line[\"line-blur\"]),\"line-dasharray\":new Zi(Ft.paint_line[\"line-dasharray\"]),\"line-pattern\":new Gi(Ft.paint_line[\"line-pattern\"]),\"line-gradient\":new Wi(Ft.paint_line[\"line-gradient\"])}),layout:gl},vl=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Oi(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Hi),xl=new vl(yl.paint.properties[\"line-width\"].specification);xl.useIntegerZoom=!0;var _l=function(t){function e(e){t.call(this,e,yl),this.gradientVersion=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){if(\"line-gradient\"===t){var e=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.stepInterpolant=e._styleExpression.expression instanceof tr,this.gradientVersion=(this.gradientVersion+1)%l}},e.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values[\"line-floorwidth\"]=xl.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,e)},e.prototype.createBucket=function(t){return new ml(t)},e.prototype.queryRadius=function(t){var e=t,r=bl(Po(\"line-width\",this,e),Po(\"line-gap-width\",this,e)),n=Po(\"line-offset\",this,e);return r/2+Math.abs(n)+zo(this.paint.get(\"line-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=Oo(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),o.angle,s),c=s/2*bl(this.paint.get(\"line-width\").evaluate(e,r),this.paint.get(\"line-gap-width\").evaluate(e,r)),u=this.paint.get(\"line-offset\").evaluate(e,r);return u&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?e+2*t:t}var wl=ta([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),Tl=ta([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),kl=(ta([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),ta([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}])),Al=(ta([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]),ta([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4)),Ml=ta([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function Sl(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get(\"text-transform\").evaluate(r,{});return\"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),zi.applyArabicShaping&&(t=zi.applyArabicShaping(t)),t}(t.text,e,r)})),t}ta([{name:\"triangle\",components:3,type:\"Uint16\"}]),ta([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),ta([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",components:2,name:\"textOffset\"},{type:\"Float32\",name:\"collisionCircleDiameter\"}]),ta([{type:\"Float32\",name:\"offsetX\"}]),ta([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);var El={\"!\":\"︕\",\"#\":\"#\",$:\"$\",\"%\":\"%\",\"&\":\"&\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"*\",\"+\":\"+\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"/\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"=\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};var Cl=24,Ll=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},Il=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m},Pl=zl;function zl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}zl.Varint=0,zl.Fixed64=1,zl.Bytes=2,zl.Fixed32=5;var Ol=4294967296,Dl=1/Ol,Rl=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function Fl(t){return t.type===zl.Bytes?t.readVarint()+t.pos:t.pos+1}function Bl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Nl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function jl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Jl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}zl.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Xl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Jl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Xl(this.buf,this.pos)+Xl(this.buf,this.pos+4)*Ol;return this.pos+=8,t},readSFixed64:function(){var t=Xl(this.buf,this.pos)+Jl(this.buf,this.pos+4)*Ol;return this.pos+=8,t},readFloat:function(){var t=Ll(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Ll(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Bl(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Bl(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Rl?function(t,e,r){return Rl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",i=e;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==zl.Bytes)return t.push(this.readVarint(e));var r=Fl(this);for(t=t||[];this.pos127;);else if(e===zl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===zl.Fixed32)this.pos+=4;else{if(e!==zl.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Nl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Il(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Il(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Nl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,zl.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,jl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ul,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Hl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Vl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,ql,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Gl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Zl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Wl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Yl,e)},writeBytesField:function(t,e){this.writeTag(t,zl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,zl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,zl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,zl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,zl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,zl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,zl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,zl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,zl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,zl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var Kl=3;function Ql(t,e,r){1===t&&r.readMessage(tc,e)}function tc(t,e,r){if(3===t){var n=r.readMessage(ec,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;e.push({id:i,bitmap:new Jo({width:o+2*Kl,height:s+2*Kl},a),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function ec(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var rc=Kl;function nc(t){for(var e=0,r=0,n=0,i=t;n=0;f--){var p=o[f];if(!(h.w>p.w||h.h>p.h)){if(h.x=p.x,h.y=p.y,l=Math.max(l,h.y+h.h),s=Math.max(s,h.x+h.w),h.w===p.w&&h.h===p.h){var d=o.pop();f0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[C];if(j&&j.rect)P=j.rect,I=j.metrics;else{var U=e[S.fontStack],V=U&&U[C];if(!V)continue;I=V.metrics}L=(b-S.scale)*Cl}D?(t.verticalizable=!0,k.push({glyph:C,imageName:z,x:f,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:I,rect:P}),f+=O*S.scale+c):(k.push({glyph:C,imageName:z,x:f,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:I,rect:P}),f+=I.advance*S.scale+c)}if(0!==k.length){var q=f-c;d=Math.max(q,d),wc(k,0,k.length-1,g,A)}f=0;var H=a*b+A;T.lineOffset=Math.max(A,w),p+=H,m=Math.max(H,m),++y}else p+=a,++y}var G=p-cc,Z=bc(o),W=Z.horizontalAlign,Y=Z.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var c=(e-r)*i,u=0;u=a!==o?-s*n-cc:(-n*l+.5)*o;for(var h=0,f=t;h=0&&n>=t&&pc[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},hc.prototype.substring=function(t,e){var r=new hc;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},hc.prototype.toString=function(){return this.text},hc.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},hc.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(uc.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var pc={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},dc={};function mc(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*Cl/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function gc(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,u=0,h=0;h-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=h.dist(f)}return!0}function Ic(t){for(var e=0,r=0;rc){var d=(c-l)/p,m=er(h.x,f.x,d),g=er(h.y,f.y,d),y=new kc(m,g,f.angleTo(h),u);return y._round(),!o||Lc(t,y,s,o,e)?y:void 0}l+=p}}function Dc(t,e,r,n,i,a,o,s,l){var c=Pc(n,a,o),u=zc(n,i),h=u*o,f=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&_=0&&b=0&&f+c<=u){var w=new kc(_,b,v,d);w._round(),n&&!Lc(t,w,a,n,i)||p.push(w)}}h+=y}return s||p.length||o||(p=Rc(t,h/2,r,n,i,a,o,!0,l)),p}function Fc(t,e,r,n,i){for(var o=[],s=0;s=n&&f.x>=n||(h.x>=n?h=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round():f.x>=n&&(f=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round()),h.y>=i&&f.y>=i||(h.y>=i?h=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round():f.y>=i&&(f=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round()),c&&h.equals(c[c.length-1])||(c=[h],o.push(c)),c.push(f)))))}return o}var Bc=ic;function Nc(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2*Bc,c=o.paddedRect.h-2*Bc,u=t.right-t.left,h=t.bottom-t.top,f=o.stretchX||[[0,l]],p=o.stretchY||[[0,c]],d=function(t,e){return t+e[1]-e[0]},m=f.reduce(d,0),g=p.reduce(d,0),y=l-m,v=c-g,x=0,_=m,b=0,w=g,T=0,k=y,A=0,M=v;if(o.content&&n){var S=o.content;x=jc(f,0,S[0]),b=jc(p,0,S[1]),_=jc(f,S[0],S[2]),w=jc(p,S[1],S[3]),T=S[0]-x,A=S[1]-b,k=S[2]-S[0]-_,M=S[3]-S[1]-w}var E=function(n,i,l,c){var f=Vc(n.stretch-x,_,u,t.left),p=qc(n.fixed-T,k,n.stretch,m),d=Vc(i.stretch-b,w,h,t.top),y=qc(i.fixed-A,M,i.stretch,g),v=Vc(l.stretch-x,_,u,t.left),S=qc(l.fixed-T,k,l.stretch,m),E=Vc(c.stretch-b,w,h,t.top),C=qc(c.fixed-A,M,c.stretch,g),L=new a(f,d),I=new a(v,d),P=new a(v,E),z=new a(f,E),O=new a(p/s,y/s),D=new a(S/s,C/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];L._matMult(N),I._matMult(N),z._matMult(N),P._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,q=c.stretch+c.fixed;return{tl:L,tr:I,bl:z,br:P,tex:{x:o.paddedRect.x+Bc+j,y:o.paddedRect.y+Bc+V,w:U-j,h:q-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:O,pixelOffsetBR:D,minFontScaleX:k/s/u,minFontScaleY:M/s/h,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var C=Uc(f,y,m),L=Uc(p,v,g),I=0;I0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var m=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,v=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,m-=x[1]*s,v+=x[2]*s,g+=x[3]*s),u){var _=new a(y,m),b=new a(v,m),w=new a(y,g),T=new a(v,g),k=u*Math.PI/180;_._rotate(k),b._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(_.x,b.x,w.x,T.x),v=Math.max(_.x,b.x,w.x,T.x),m=Math.min(_.y,b.y,w.y,T.y),g=Math.max(_.y,b.y,w.y,T.y)}t.emplaceBack(e.x,e.y,y,m,v,g,r,n,i)}this.boxEndIndex=t.length},Gc=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Zc),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Zc(t,e){return te?1:0}function Wc(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],c=0;co)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var h=o-n,f=s-i,p=Math.min(h,f),d=p/2,m=new Gc([],Yc);if(0===p)return new a(n,i);for(var g=n;gv.d||!v.d)&&(v=_,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*_.d)/1e4,x)),_.max-v.d<=e||(d=_.h/2,m.push(new Xc(_.p.x-d,_.p.y-d,d,t)),m.push(new Xc(_.p.x+d,_.p.y-d,d,t)),m.push(new Xc(_.p.x-d,_.p.y+d,d,t)),m.push(new Xc(_.p.x+d,_.p.y+d,d,t)),x+=4)}return r&&(console.log(\"num probes: \"+x),console.log(\"best distance: \"+v.d)),v.p}function Yc(t,e){return e.max-t.max}function Xc(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=u.y>t.y&&t.x<(u.x-c.x)*(t.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,Eo(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Gc.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Gc.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Gc.prototype.peek=function(){return this.data[0]},Gc.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},Gc.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var $c=7,Jc=Number.POSITIVE_INFINITY;function Kc(t,e){return e[1]!==Jc?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":i=r-$c;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=-r+$c}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case\"top-right\":case\"top-left\":n=i-$c;break;case\"bottom-right\":case\"bottom-left\":n=-i+$c;break;case\"bottom\":n=-e+$c;break;case\"top\":n=e-$c}switch(t){case\"top-right\":case\"bottom-right\":r=-i;break;case\"top-left\":case\"bottom-left\":r=i;break;case\"left\":r=e;break;case\"right\":r=-e}return[r,n]}(t,e[0])}function Qc(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}var tu=255,eu=tu*Ac;function ru(t,e,r,n,i,o,s,l,c,u,h,f,p,d,m){var g=function(t,e,r,n,i,o,s,l){for(var c=n.layout.get(\"text-rotate\").evaluate(o,{})*Math.PI/180,u=[],h=0,f=e.positionedLines;heu&&k(t.layerIds[0]+': Value for \"text-size\" is >= '+tu+'. Reduce your \"text-size\".'):\"composite\"===y.kind&&((v=[Ac*d.compositeTextSizes[0].evaluate(s,{},m),Ac*d.compositeTextSizes[1].evaluate(s,{},m)])[0]>eu||v[1]>eu)&&k(t.layerIds[0]+': Value for \"text-size\" is >= '+tu+'. Reduce your \"text-size\".'),t.addSymbols(t.text,g,v,l,o,s,u,e,c.lineStartIndex,c.lineLength,p,m);for(var x=0,_=h;x<_.length;x+=1)f[_[x]]=t.text.placedSymbolArray.length-1;return 4*g.length}function nu(t){for(var e in t)return t[e];return null}function iu(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])0)&&(\"constant\"!==a.value.kind||a.value.value.length>0),c=\"constant\"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get(\"symbol-sort-key\");if(this.features=[],l||c){for(var h=e.iconDependencies,f=e.glyphDependencies,p=e.availableImages,d=new Oi(this.zoom),m=0,g=t;m=0;for(var z=0,O=k.sections;z=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0},fu.prototype.hasIconData=function(){return this.icon.segments.get().length>0},fu.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},fu.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},fu.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},fu.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},oi(\"SymbolBucket\",fu,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),fu.MAX_GLYPHS=65535,fu.addDynamicAttributes=lu;var pu=new Yi({\"symbol-placement\":new qi(Ft.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new qi(Ft.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new qi(Ft.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Hi(Ft.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new qi(Ft.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new qi(Ft.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new qi(Ft.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new qi(Ft.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new qi(Ft.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Hi(Ft.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new qi(Ft.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new qi(Ft.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Hi(Ft.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Hi(Ft.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new qi(Ft.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new qi(Ft.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Hi(Ft.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Hi(Ft.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new qi(Ft.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new qi(Ft.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new qi(Ft.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Hi(Ft.layout_symbol[\"text-field\"]),\"text-font\":new Hi(Ft.layout_symbol[\"text-font\"]),\"text-size\":new Hi(Ft.layout_symbol[\"text-size\"]),\"text-max-width\":new Hi(Ft.layout_symbol[\"text-max-width\"]),\"text-line-height\":new qi(Ft.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Hi(Ft.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Hi(Ft.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Hi(Ft.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new qi(Ft.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Hi(Ft.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new qi(Ft.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new qi(Ft.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Hi(Ft.layout_symbol[\"text-rotate\"]),\"text-padding\":new qi(Ft.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new qi(Ft.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Hi(Ft.layout_symbol[\"text-transform\"]),\"text-offset\":new Hi(Ft.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new qi(Ft.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new qi(Ft.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new qi(Ft.layout_symbol[\"text-optional\"])}),du={paint:new Yi({\"icon-opacity\":new Hi(Ft.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Hi(Ft.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Hi(Ft.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Hi(Ft.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Hi(Ft.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new qi(Ft.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new qi(Ft.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Hi(Ft.paint_symbol[\"text-opacity\"]),\"text-color\":new Hi(Ft.paint_symbol[\"text-color\"],{runtimeType:Xt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),\"text-halo-color\":new Hi(Ft.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Hi(Ft.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Hi(Ft.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new qi(Ft.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new qi(Ft.paint_symbol[\"text-translate-anchor\"])}),layout:pu},mu=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Gt,this.defaultValue=t};mu.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},mu.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},mu.prototype.outputDefined=function(){return!1},mu.prototype.serialize=function(){return null},oi(\"FormatSectionOverride\",mu,{omit:[\"defaultValue\"]});var gu=function(t){function e(e){t.call(this,e,du)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(\"point\"!==this.layout.get(\"symbol-placement\")?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(\"point\"!==this.layout.get(\"symbol-placement\")?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){var n=this.layout.get(\"text-writing-mode\");if(n){for(var i=[],a=0,o=n;a\",targetMapId:n,sourceMapId:a.mapId})}}},Lu.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(\"\"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else S()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},Lu.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},Lu.prototype.processTask=function(t,e){var r=this;if(\"\"===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(hi(e.error)):n(null,hi(e.data)))}else{var i=!1,a=L(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:\"\",sourceMapId:r.mapId,error:e?ui(e):null,data:ui(n,a)},a)}:function(t){i=!0},s=null,l=hi(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var c=e.type.split(\".\");s=this.parent.getWorkerSource(e.sourceMapId,c[0],l.source)[c[1]](l,o)}else o(new Error(\"Could not find function \"+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},Lu.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};var Pu=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Pu.prototype.setNorthEast=function(t){return this._ne=t instanceof Ou?new Ou(t.lng,t.lat):Ou.convert(t),this},Pu.prototype.setSouthWest=function(t){return this._sw=t instanceof Ou?new Ou(t.lng,t.lat):Ou.convert(t),this},Pu.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Ou)e=t,r=t;else{if(!(t instanceof Pu)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(Pu.convert(a))}var o=t;return this.extend(Ou.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Ou(e.lng,e.lat),this._ne=new Ou(r.lng,r.lat)),this},Pu.prototype.getCenter=function(){return new Ou((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Pu.prototype.getSouthWest=function(){return this._sw},Pu.prototype.getNorthEast=function(){return this._ne},Pu.prototype.getNorthWest=function(){return new Ou(this.getWest(),this.getNorth())},Pu.prototype.getSouthEast=function(){return new Ou(this.getEast(),this.getSouth())},Pu.prototype.getWest=function(){return this._sw.lng},Pu.prototype.getSouth=function(){return this._sw.lat},Pu.prototype.getEast=function(){return this._ne.lng},Pu.prototype.getNorth=function(){return this._ne.lat},Pu.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Pu.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},Pu.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Pu.prototype.contains=function(t){var e=Ou.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Pu.convert=function(t){return!t||t instanceof Pu?t:new Pu(t)};var zu=6371008.8,Ou=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid LngLat object: (\"+t+\", \"+e+\")\");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};Ou.prototype.wrap=function(){return new Ou(f(this.lng,-180,180),this.lat)},Ou.prototype.toArray=function(){return[this.lng,this.lat]},Ou.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},Ou.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return zu*Math.acos(Math.min(i,1))},Ou.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Pu(new Ou(this.lng-r,this.lat-e),new Ou(this.lng+r,this.lat+e))},Ou.convert=function(t){if(t instanceof Ou)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Ou(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new Ou(Number(\"lng\"in t?t.lng:t.lon),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")};var Du=2*Math.PI*zu;function Ru(t){return Du*Math.cos(t*Math.PI/180)}function Fu(t){return(180+t)/360}function Bu(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Nu(t,e){return t/Ru(e)}function ju(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Uu=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Uu.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Ou.convert(t);return new Uu(Fu(r.lng),Bu(r.lat),Nu(e,r.lat))},Uu.prototype.toLngLat=function(){return new Ou(360*this.x-180,ju(this.y))},Uu.prototype.toAltitude=function(){return t=this.z,e=this.y,t*Ru(ju(e));var t,e},Uu.prototype.meterInMercatorCoordinateUnits=function(){return 1/Du*(t=ju(this.y),1/Math.cos(t*Math.PI/180));var t};var Vu=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Gu(0,t,t,e,r)};Vu.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Vu.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=Iu(256*r,256*(n=Math.pow(2,i)-n-1),i),o=Iu(256*(r+1),256*(n+1),i),a[0]+\",\"+a[1]+\",\"+o[0]+\",\"+o[1]),l=function(t,e,r){for(var n,i=\"\",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new Hu(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Hu(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Hu.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Gu(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Gu(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Hu.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},Hu.prototype.children=function(t){if(this.overscaledZ>=t)return[new Hu(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Hu(e,this.wrap,e,r,n),new Hu(e,this.wrap,e,r+1,n),new Hu(e,this.wrap,e,r,n+1),new Hu(e,this.wrap,e,r+1,n+1)]},Hu.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(e+1)*this.stride+(t+1)},Zu.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Zu.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Zu.prototype.getPixels=function(){return new Ko({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Zu.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,c=a;c=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},Ju.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new tl.VectorTile(new Pl(this.rawTileData)).layers,this.sourceLayerCoder=new Wu(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},Ju.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=po/t.tileSize/t.scale,l=An(o.filter),c=t.queryGeometry,u=t.queryPadding*s,h=Qu(c),f=this.grid.query(h.minX-u,h.minY-u,h.maxX+u,h.maxY+u),p=Qu(t.cameraQueryGeometry),d=0,m=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o=l.x&&i>=l.y)return!0}var c=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var u=0,h=c;u=0)return!0;return!1}(a,h)){var f=this.sourceLayerCoder.decode(r),d=this.vtLayers[f].feature(n);if(i.needGeometry){var m=vo(d,!0);if(!i.filter(new Oi(this.tileID.overscaledZ),m,this.tileID.canonical))return}else if(!i.filter(new Oi(this.tileID.overscaledZ),d))return;for(var g=this.getId(d,f),y=0;yn)i=!1;else if(e)if(this.expirationTimeft&&(t.getActor().send(\"enforceCacheSizeLimit\",ht),xt=0)},t.clamp=h,t.clearTileCache=function(t){var e=s.caches.delete(ut);t&&e.catch(t).then((function(){return t()}))},t.clipLine=Fc,t.clone=function(t){var e=new Fo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=w,t.clone$2=function(t){var e=new Fo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Ml,t.config=j,t.create=function(){var t=new Fo(16);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new Fo(9);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new Fo(4);return Fo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=hn,t.createLayout=ta,t.createStyleLayer=function(t){return\"custom\"===t.type?new bu(t):new wu[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=er,t.offscreenCanvasSupported=_t,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t},t.parseGlyphPBF=function(t){return new Pl(t).readFields(Ql,[])},t.pbf=Pl,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=po/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,c=t.layers[0]._unevaluatedLayout._values,u={};if(\"composite\"===t.textSizeData.kind){var h=t.textSizeData,f=h.minZoom,p=h.maxZoom;u.compositeTextSizes=[c[\"text-size\"].possiblyEvaluate(new Oi(f),o),c[\"text-size\"].possiblyEvaluate(new Oi(p),o)]}if(\"composite\"===t.iconSizeData.kind){var d=t.iconSizeData,m=d.minZoom,g=d.maxZoom;u.compositeIconSizes=[c[\"icon-size\"].possiblyEvaluate(new Oi(m),o),c[\"icon-size\"].possiblyEvaluate(new Oi(g),o)]}u.layoutTextSize=c[\"text-size\"].possiblyEvaluate(new Oi(t.zoom+1),o),u.layoutIconSize=c[\"icon-size\"].possiblyEvaluate(new Oi(t.zoom+1),o),u.textMaxSize=c[\"text-size\"].possiblyEvaluate(new Oi(18));for(var y=l.get(\"text-line-height\")*Cl,v=\"map\"===l.get(\"text-rotation-alignment\")&&\"point\"!==l.get(\"symbol-placement\"),x=l.get(\"text-keep-upright\"),_=l.get(\"text-size\"),b=function(){var a=T[w],s=l.get(\"text-font\").evaluate(a,{},o).join(\",\"),c=_.evaluate(a,{},o),h=u.layoutTextSize.evaluate(a,{},o),f=u.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,m=[0,0];if(d){var g=d.toString(),b=l.get(\"text-letter-spacing\").evaluate(a,{},o)*Cl,A=function(t){for(var e=0,r=t;e=po||h.y<0||h.y>=po||function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,A){var M,S,E,C,L,I=t.addToLineVertexArray(e,r),P=0,z=0,O=0,D=0,R=-1,F=-1,B={},N=ja(\"\"),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue(\"text-radial-offset\")?(j=(M=s.layout.get(\"text-offset\").evaluate(_,{},T).map((function(t){return t*Cl})))[0],U=M[1]):(j=s.layout.get(\"text-radial-offset\").evaluate(_,{},T)*Cl,U=Jc),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get(\"text-rotate\").evaluate(_,{},T)+90,q=n.vertical;C=new Hc(l,e,c,u,h,q,f,p,d,V),o&&(L=new Hc(l,e,c,u,h,o,g,y,d,V))}if(i){var H=s.layout.get(\"icon-rotate\").evaluate(_,{}),G=\"none\"!==s.layout.get(\"icon-text-fit\"),Z=Nc(i,H,w,G),W=o?Nc(o,H,w,G):void 0;E=new Hc(l,e,c,u,h,i,g,y,!1,H),P=4*Z.length;var Y=t.iconSizeData,X=null;\"source\"===Y.kind?(X=[Ac*s.layout.get(\"icon-size\").evaluate(_,{})])[0]>eu&&k(t.layerIds[0]+': Value for \"icon-size\" is >= '+tu+'. Reduce your \"icon-size\".'):\"composite\"===Y.kind&&((X=[Ac*b.compositeIconSizes[0].evaluate(_,{},T),Ac*b.compositeIconSizes[1].evaluate(_,{},T)])[0]>eu||X[1]>eu)&&k(t.layerIds[0]+': Value for \"icon-size\" is >= '+tu+'. Reduce your \"icon-size\".'),t.addSymbols(t.icon,Z,X,x,v,_,!1,e,I.lineStartIndex,I.lineLength,-1,T),R=t.icon.placedSymbolArray.length-1,W&&(z=4*W.length,t.addSymbols(t.icon,W,X,x,v,_,lc.vertical,e,I.lineStartIndex,I.lineLength,-1,T),F=t.icon.placedSymbolArray.length-1)}for(var $ in n.horizontal){var J=n.horizontal[$];if(!S){N=ja(J.text);var K=s.layout.get(\"text-rotate\").evaluate(_,{},T);S=new Hc(l,e,c,u,h,J,f,p,d,K)}var Q=1===J.positionedLines.length;if(O+=ru(t,e,J,a,s,d,_,m,I,n.vertical?lc.horizontal:lc.horizontalOnly,Q?Object.keys(n.horizontal):[$],B,R,b,T),Q)break}n.vertical&&(D+=ru(t,e,n.vertical,a,s,d,_,m,I,lc.vertical,[\"vertical\"],B,F,b,T));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=C?C.boxStartIndex:t.collisionBoxArray.length,nt=C?C.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=L?L.boxStartIndex:t.collisionBoxArray.length,st=L?L.boxEndIndex:t.collisionBoxArray.length,lt=-1,ct=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ct(S,lt),lt=ct(C,lt),lt=ct(E,lt);var ut=(lt=ct(L,lt))>-1?1:0;ut&&(lt*=A/Cl),t.glyphOffsetArray.length>=fu.MAX_GLYPHS&&k(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==_.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,_.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,c,O,D,P,z,ut,0,f,j,U,lt)}(t,h,s,r,n,i,f,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,v,w,M,l,_,T,S,d,e,a,c,u,o)};if(\"line\"===E)for(var P=0,z=Fc(e.geometry,0,0,po,po);P1){var U=Oc(j,A,r.vertical||m,n,g,x);U&&I(j,U)}}else if(\"Polygon\"===e.type)for(var V=0,q=Fs(e.geometry,0);V=E.maxzoom||\"none\"!==E.visibility&&(o(S,this.zoom,n),(m[E.id]=E.createBucket({index:u.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:_,sourceID:this.source})).populate(b,g,this.tileID.canonical),u.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var C=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(C).length?a.send(\"getGlyphs\",{uid:this.uid,stacks:C},(function(t,e){h||(h=t,f=e,P.call(l))})):f={};var L=Object.keys(g.iconDependencies);L.length?a.send(\"getImages\",{icons:L,source:this.source,tileID:this.tileID,type:\"icons\"},(function(t,e){h||(h=t,p=e,P.call(l))})):p={};var I=Object.keys(g.patternDependencies);function P(){if(h)return s(h);if(f&&p&&d){var e=new i(f),r=new t.ImageAtlas(p,d);for(var a in m){var l=m[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,f,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status=\"done\",s(null,{buckets:t.values(m).filter((function(t){return!t.isEmpty()})),featureIndex:u,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?f:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}I.length?a.send(\"getImages\",{icons:I,source:this.source,tileID:this.tileID,type:\"patterns\"},(function(t,e){h||(h=t,d=e,P.call(l))})):d={},P.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status=\"done\",n.loaded[i]=s,r(e);var l=a.rawData,c={};a.expires&&(c.expires=a.expires),a.cacheControl&&(c.cacheControl=a.cacheControl);var u={};if(o){var h=o.finish();h&&(u.resourceTiming=JSON.parse(JSON.stringify(h)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};\"parsing\"===o.status?o.reloadCallback=s:\"done\"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var c=t.window.ImageBitmap,u=function(){this.loaded={}};u.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=c&&a instanceof c?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},u.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},u.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var h=function t(e,r){var n,i=e&&e.type;if(\"FeatureCollection\"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,m=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,\"id\"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};m.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function I(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;O(t,e,o,n,i,a%2),z(t,e,r,n,o-1,a+1),z(t,e,r,o+1,i,a+1)}}function O(t,e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);O(t,e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}var h=e[2*r+a],f=n,p=i;for(D(t,e,n,r),e[2*i+a]>h&&D(t,e,n,i);fh;)p--}e[2*n+a]===h?D(t,e,n,p):D(t,e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function D(t,e,r,n){R(t,r,n),R(e,2*r,2*n),R(e,2*r+1,2*n+1)}function R(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function F(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}b.fromVectorTileJs=w,b.fromGeojsonVt=T,b.GeoJSONWrapper=k;var B=function(t){return t[0]},N=function(t){return t[1]},j=function(t,e,r,n,i){void 0===e&&(e=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var m=Math.floor((p+f)/2);s=e[2*m],l=e[2*m+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[m]);var g=(h+1)%2;(0===h?r<=s:n<=l)&&(c.push(p),c.push(m-1),c.push(g)),(0===h?i>=s:a>=l)&&(c.push(m+1),c.push(f),c.push(g))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},j.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var c=o.pop(),u=o.pop(),h=o.pop();if(u-h<=a)for(var f=h;f<=u;f++)F(e[2*f],e[2*f+1],r,n)<=l&&s.push(t[f]);else{var p=Math.floor((h+u)/2),d=e[2*p],m=e[2*p+1];F(d,m,r,n)<=l&&s.push(t[p]);var g=(c+1)%2;(0===c?r-i<=d:n-i<=m)&&(o.push(h),o.push(p-1),o.push(g)),(0===c?r+i>=d:n+i>=m)&&(o.push(p+1),o.push(u),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},V=function(t){this.options=X(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)};function q(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function H(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:W(n),y:Y(i),zoom:1/0,index:e,parentId:-1}}function G(t){return{type:\"Feature\",id:t.id,properties:Z(t),geometry:{type:\"Point\",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function Z(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return X(X({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function W(t){return t/360+.5}function Y(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function X(t,e){for(var r in e)t[r]=e[r];return t}function $(t){return t.x}function J(t){return t.y}function K(t,e,r,n){for(var i,a=n,o=r-e>>1,s=r-e,l=t[e],c=t[e+1],u=t[r],h=t[r+1],f=e+3;fa)i=f,a=p;else if(p===a){var d=Math.abs(f-o);dn&&(i-e>3&&K(t,e,i,n),t[i+2]=a,r-i>3&&K(t,i,r,n))}function Q(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function tt(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)et(t,e);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var n=0;n0&&(o+=n?(i*c-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=e.length-3;e[2]=1,K(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,r,n){for(var i=0;i1?1:r}function lt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],c=0;c=r&&d=n)){var m=[];if(\"Point\"===f||\"MultiPoint\"===f)ct(h,m,r,n,i);else if(\"LineString\"===f)ut(h,m,r,n,i,!1,s.lineMetrics);else if(\"MultiLineString\"===f)ft(h,m,r,n,i,!1);else if(\"Polygon\"===f)ft(h,m,r,n,i,!0);else if(\"MultiPolygon\"===f)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function ut(t,e,r,n,i,a,o){for(var s,l,c=ht(t),u=0===i?dt:mt,h=t.start,f=0;fr&&(l=u(c,p,d,g,y,r),o&&(c.start=h+s*l)):v>n?x=r&&(l=u(c,p,d,g,y,r),_=!0),x>n&&v<=n&&(l=u(c,p,d,g,y,n),_=!0),!a&&_&&(o&&(c.end=h+s*l),e.push(c),c=ht(t)),o&&(h+=s)}var b=t.length-3;p=t[b],d=t[b+1],m=t[b+2],(v=0===i?p:d)>=r&&v<=n&&pt(c,p,d,m),b=c.length-3,a&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&pt(c,c[0],c[1],c[2]),c.length&&e.push(c)}function ht(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ft(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=u),h>o.maxY&&(o.maxY=h)}return o}function bt(t,e,r,n){var i=e.geometry,a=e.type,o=[];if(\"Point\"===a||\"MultiPoint\"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error(\"maxZoom should be in the 0-24 range\");if(e.promoteId&&e.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var n=function(t,e){var r=[];if(\"FeatureCollection\"===t.type)for(var n=0;n=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new j(s,$,J,a,Float32Array),r&&console.log(\"z%d: %d clusters in %dms\",c,s.length,+Date.now()-u)}return r&&console.timeEnd(\"total time\"),this},V.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],c=[],u=0,h=l.range(W(r),Y(a),W(i),Y(n));ue&&(d+=v.numPoints||1)}if(d>=s){for(var x=u.x*p,_=u.y*p,b=o&&p>1?this._map(u,!0):null,w=(c<<5)+(e+1)+this.points.length,T=0,k=f;T1)for(var E=0,C=f;E>5},V.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},V.prototype._map=function(t,e){if(t.numPoints)return e?X({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?X({},n):n},Tt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Tt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<1&&console.time(\"creation\"),f=this.tiles[h]=_t(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",e,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd(\"creation\"));var p=\"z\"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(f.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time(\"clipping\");var m,g,y,v,x,_,b=.5*l.buffer/l.extent,w=.5-b,T=.5+b,k=1+b;m=g=y=v=null,x=lt(t,u,r-b,r+T,0,f.minX,f.maxX,l),_=lt(t,u,r+w,r+k,0,f.minX,f.maxX,l),t=null,x&&(m=lt(x,u,n-b,n+T,1,f.minY,f.maxY,l),g=lt(x,u,n+w,n+k,1,f.minY,f.maxY,l),x=null),_&&(y=lt(_,u,n-b,n+T,1,f.minY,f.maxY,l),v=lt(_,u,n+w,n+k,1,f.minY,f.maxY,l),_=null),c>1&&console.timeEnd(\"clipping\"),s.push(m||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(y||[],e+1,2*r+1,2*n),s.push(v||[],e+1,2*r+1,2*n+1)}}},Tt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log(\"drilling down to z%d-%d-%d\",t,e,r);for(var l,c=t,u=e,h=r;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[kt(c,u,h)];return l&&l.source?(a>1&&console.log(\"found parent tile z%d-%d-%d\",c,u,h),a>1&&console.time(\"drilling down\"),this.splitTile(l.source,c,u,h,t,e,r),a>1&&console.timeEnd(\"drilling down\"),this.tiles[s]?vt(this.tiles[s],i):null):null};var Mt=function(e){function r(t,r,n,i){e.call(this,t,r,n,At),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&\"Idle\"!==this._state?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if(\"object\"!=typeof o)return r(new Error(\"Input data given to '\"+n.source+\"' is not a valid GeoJSON object.\"));h(o,!0);try{if(n.filter){var s=t.createExpression(n.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===s.result)throw new Error(s.value.map((function(t){return t.key+\": \"+t.message})).join(\", \"));var l=o.features.filter((function(t){return s.value.evaluate({zoom:0},t)}));o={type:\"FeatureCollection\",features:l}}e._geoJSONIndex=n.cluster?new V(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var f=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function y(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error(\"glyphs > 65535 not supported\"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),f=Math.min(u,h),p=void 0,d=i/r*(n+1);if(l.isDash){var m=n-Math.abs(d);p=Math.sqrt(f*f+m*m)}else p=n-Math.sqrt(f*f+d*d);this.data[o+c]=Math.max(0,Math.min(255,p+128))}},k.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],c=0;c1&&(l=t[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),f=Math.min(u,h),p=l.isDash?f:-f;this.data[o+c]=Math.max(0,Math.min(255,p+128))}},k.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce(\"LineAtlas out of space\"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event(\"data\",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:\"source\",sourceDataType:\"content\"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event(\"data\",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;\"string\"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+\".loadData\",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+\".coalesce\",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?\"reloadTile\":\"loadTile\";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,\"reloadTile\"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),z=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+r.start(0)+\" and \"+r.end(0)+\"-second mark.\"))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(z),D=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return\"number\"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'missing required property \"coordinates\"'))),n.animate&&\"boolean\"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'optional \"animate\" property must be a boolean value'))),n.canvas?\"string\"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'missing required property \"canvas\"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];\"loaded\"!==a.state&&(a.state=\"loaded\",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(t){return t.wrapped().key in this.data},j.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},j.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},j.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},j.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},j.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},j.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(Ot(this._source.type)){for(var c={},u={},h=0,f=Object.keys(l);hthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var v=d.children(this._source.maxzoom);if(n[v[0].key]&&n[v[1].key]&&n[v[2].key]&&n[v[3].key])continue}for(var x=m.wasRequested(),_=d.overscaledZ-1;_>=a;--_){var b=d.scaledTo(_);if(i[b.key])break;if(i[b.key]=!0,!(m=this.getTile(b))&&x&&(m=this._addTile(b)),m&&(n[b.key]=b,x=m.wasRequested(),m.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),c=s.map((function(t){return o.pointCoordinate(t)})),u=this.getIds(),h=1/0,f=1/0,p=-1/0,d=-1/0,m=0,g=c;m=0&&y[1].y+g>=0){var v=l.map((function(t){return s.getTilePoint(t)})),x=c.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:v,cameraQueryGeometry:x,scale:m})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||\"_geojsonTileLayer\",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||\"_geojsonTileLayer\",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||\"_geojsonTileLayer\",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,\"reloading\");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function zt(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Ot(t){return\"raster\"===t||\"image\"===t||\"video\"===t}function Dt(){return new t.window.Worker(oa.workerUrl)}Pt.maxOverzooming=10,Pt.maxUnderzooming=3;var Rt=\"mapboxgl_preloaded_worker_pool\",Ft=function(){this.active={}};Ft.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ae(e,r,n,i,a,o,s,l){var c=i?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom),h=[256/n.width*2+1,256/n.height*2+1],f=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;f.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,m=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function le(e,r,n,i,a,o,s,l,c,u,h,f,p,d){var m,g=r/24,y=e.lineOffsetX*g,v=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,_=e.lineStartIndex,b=e.lineStartIndex+e.lineLength,w=oe(g,l,y,v,n,h,f,e,c,o,p);if(!w)return{notEnoughRoom:!0};var T=re(w.first.point,s).point,k=re(w.last.point,s).point;if(i&&!n){var A=se(e.writingMode,T,k,d);if(A)return A}m=[w.first];for(var M=e.glyphStartIndex+1;M0?L.point:ce(f,C,S,1,a),P=se(e.writingMode,S,I,d);if(P)return P}var z=ue(g*l.getoffsetX(e.glyphStartIndex),y,v,n,h,f,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p);if(!z)return{notEnoughRoom:!0};m=[z]}for(var O=0,D=m;O0?1:-1,m=0;i&&(d*=-1,m=Math.PI),d<0&&(m+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,v=a,x=0,_=0,b=Math.abs(p),w=[];x+_<=b;){if((g+=d)=c)return null;if(v=y,w.push(y),void 0===(y=f[g])){var T=new t.Point(u.getx(g),u.gety(g)),k=re(T,h);if(k.signedDistanceFromCamera>0)y=f[g]=k.point;else{var A=g-d;y=ce(0===x?o:new t.Point(u.getx(A),u.gety(A)),T,v,b-x+1,h)}}x+=_,_=v.dist(y)}var M=(b-x)/_,S=y.sub(v),E=S.mult(M)._add(v);E._add(S._unit()._perp()._mult(n*d));var C=m+Math.atan2(y.y-v.y,y.x-v.x);return w.push(E),{point:E,angle:C,path:w}}Qt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Qt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Qt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Qt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Qt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Qt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var c=[],u={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,c,u,i),n?c.length>0:c},Qt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Qt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Qt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Qt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,h=0,f=c;h=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var m=this.circleCells[i];if(null!==m)for(var g=this.circles,y=0,v=m;yo*o+s*s},Qt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var h=l-s,f=u-c;return h*h+f*f<=r*r};var he=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function fe(t,e){for(var r=0;r=1;I--)L.push(E.path[I]);for(var P=1;P0){for(var R=L[0].clone(),F=L[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[L]:F.xM.x||F.yM.y?[]:t.clipLine([L],A.x,A.y,M.x,M.y)}for(var N=0,j=D;N=this.screenRightBoundary||nthis.screenBottomBoundary},me.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0?(this.prevPlacement&&this.prevPlacement.variableOffsets[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID].text&&(m=this.prevPlacement.variableOffsets[h.crossTileID].anchor),this.variableOffsets[h.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:m},this.markUsedJustification(f,t,h,p),f.allowVerticalPlacement&&(this.markUsedOrientation(f,p,h),this.placedOrientations[h.crossTileID]=p),{shift:y,placedGlyphBoxes:v}):void 0},Ae.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,u=a.labelToScreenMatrix,h=a.textPixelRatio,f=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,m=a.collisionGroup,g=s.get(\"text-optional\"),y=s.get(\"icon-optional\"),v=s.get(\"text-allow-overlap\"),x=s.get(\"icon-allow-overlap\"),_=\"map\"===s.get(\"text-rotation-alignment\"),b=\"map\"===s.get(\"text-pitch-alignment\"),w=\"none\"!==s.get(\"icon-text-fit\"),T=\"viewport-y\"===s.get(\"symbol-z-order\"),k=v&&(x||!o.hasIconData()||y),A=x&&(v||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(f)i.placements[e.crossTileID]=new xe(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,C={box:null,offscreen:null},L={box:null,offscreen:null},I=null,P=null,z=0,O=0,D=0;a.textFeatureIndex?z=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(z=e.featureIndex),a.verticalTextFeatureIndex&&(O=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,c=e.textBoxScale,u=w&&!x?r:null,f={box:[],offscreen:!1},p=v?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,c,_,b,h,l,m,y,e,o,n,u);if(k&&(f=k.placedGlyphBoxes)&&f.box&&f.box.length){T=!0,E=k.shift;break}}return f};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=C&&C.box&&C.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),C&&(T=C.box,S=C.offscreen);var V=F(C&&C.box);if(!T&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[e.crossTileID];q&&(i.variableOffsets[e.crossTileID]=q,i.markUsedJustification(o,q.anchor,e,V))}}else{var H=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,v,h,l,m.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return H(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?H(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(C&&C.box&&C.box.length)}}if(T=(p=C)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Z=t.evaluateSizeForFeature(o.textSizeData,d,G),W=s.get(\"text-padding\"),Y=e.collisionCircleDiameter;I=i.collisionIndex.placeCollisionCircles(v,G,o.lineVertexArray,o.glyphOffsetArray,Z,l,c,u,n,b,m.predicate,Y,W),T=v||I.circles.length>0&&!I.collisionDetected,S=S&&I.offscreen}if(a.iconFeatureIndex&&(D=a.iconFeatureIndex),a.iconBox){var X=function(t){var e=w&&E?ke(t,E.x,E.y,_,b,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,h,l,m.predicate)};M=L&&L.box&&L.box.length&&a.verticalIconBox?(P=X(a.verticalIconBox)).box.length>0:(P=X(a.iconBox)).box.length>0,S=S&&P.offscreen}var $=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,J=y||0===e.numIconVertices;if($||J?J?$||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(L&&L.box&&O?i.collisionIndex.insertCollisionBox(p.box,s.get(\"text-ignore-placement\"),o.bucketInstanceId,O,m.ID):i.collisionIndex.insertCollisionBox(p.box,s.get(\"text-ignore-placement\"),o.bucketInstanceId,z,m.ID)),M&&P&&i.collisionIndex.insertCollisionBox(P.box,s.get(\"icon-ignore-placement\"),o.bucketInstanceId,D,m.ID),I&&(T&&i.collisionIndex.insertCollisionCircles(I.circles,s.get(\"text-ignore-placement\"),o.bucketInstanceId,z,m.ID),n)){var K=o.bucketInstanceId,Q=i.collisionCircleArrays[K];void 0===Q&&(Q=i.collisionCircleArrays[K]=new _e);for(var tt=0;tt=0;--E){var C=S[E];M(o.symbolInstances.get(C),o.collisionArrays[C])}else for(var L=e.symbolInstanceStart;L=0&&(e.text.placedSymbolArray.get(c).crossTileID=a>=0&&c!==a?0:n.crossTileID)}},Ae.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,_=i.placedOrientations[a.crossTileID],b=_===t.WritingMode.vertical,w=_===t.WritingMode.horizontal||_===t.WritingMode.horizontalOnly;if(v){var T=Oe(y.text),k=b?De:T;d(e.text,s,k);var A=w?De:T;d(e.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||b?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,_);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,\"left\",a,E),i.markUsedOrientation(e,E,a))}if(x){var C=Oe(y.icon),L=!(f&&a.verticalPlacedIconSymbolIndex&&b);if(a.placedIconSymbolIndex>=0){var I=L?C:De;d(e.icon,a.numIconVertices,I),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var P=L?De:C;d(e.icon,a.numVerticalIconVertices,P),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var z=e.collisionArrays[n];if(z){var O=new t.Point(0,0);if(z.textBox||z.verticalTextBox){var D=!0;if(c){var R=i.variableOffsets[m];R?(O=Te(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),u&&O._rotate(h?i.transform.angle:-i.transform.angle)):D=!1}z.textBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!D||b,O.x,O.y),z.verticalTextBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!D||w,O.x,O.y)}var F=Boolean(!w&&z.verticalIconBox);z.iconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,F,f?O.x:0,f?O.y:0),z.verticalIconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,f?O.x:0,f?O.y:0)}}},g=0;gt},Ae.prototype.setStale=function(){this.stale=!0};var Se=Math.pow(2,25),Ee=Math.pow(2,24),Ce=Math.pow(2,17),Le=Math.pow(2,16),Ie=Math.pow(2,9),Pe=Math.pow(2,8),ze=Math.pow(2,1);function Oe(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Se+e*Ee+r*Ce+e*Le+r*Ie+e*Pe+r*ze+e}var De=0,Re=function(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&void 0!==t.layout.get(\"symbol-sort-key\").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Re.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Re(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Fe.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Be=512/t.EXTENT/2,Ne=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var c=o[t.scaledTo(Number(a)).key];c&&c.findMatches(e.symbolInstances,t,i)}}for(var u=0;u1?\"@2x\":\"\",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,\".json\"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,u())})),c=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,\".png\"),t.ResourceType.SpriteImage),(function(t,e){c=null,o||(o=t,a=e,u())}));function u(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],c=l.width,u=l.height,h=l.x,f=l.y,p=l.sdf,d=l.pixelRatio,m=l.stretchX,g=l.stretchY,y=l.content,v=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,v,{x:h,y:f},{x:0,y:0},{width:c,height:u}),r[s]={data:v,pixelRatio:d,sdf:p,stretchX:m,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast(\"setImages\",r._availableImages),r.fire(new t.Event(\"data\",{dataType:\"style\"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();(\"geojson\"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer \"'+n+'\" does not exist on source \"'+i.id+'\" as specified by style layer \"'+e.id+'\"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error(\"Unimplemented: \"+i.map((function(t){return t.command})).join(\", \")+\".\");return n.forEach((function(t){\"setTransition\"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(e,r),this._afterImageUpdated(e)},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(e),this._afterImageUpdated(e)},r.prototype._afterImageUpdated=function(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new t.Event(\"data\",{dataType:\"style\"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!r.type)throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys(r).join(\", \")+\".\");if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,\"sources.\"+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Pt(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source \"'+e+'\" cannot be removed while layer \"'+r+'\" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id \"'+i+'\" already exists on this map')));else{var a;if(\"custom\"===e.type){if(qe(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if(\"object\"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,\"layers.\"+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&\"custom\"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]=\"clear\":(this._updatedSources[a.source]=\"reload\",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,\"layers.\"+i.id+\".filter\",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style.\")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;\"geojson\"===o&&i?this.fire(new t.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+n+\"' does not exist in the map's style.\")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o=\"vector\"===a?e.sourceLayer:void 0;\"vector\"!==a||o?r&&\"string\"!=typeof e.id&&\"number\"!=typeof e.id?this.fire(new t.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\"))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+n+\"' does not exist in the map's style.\")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if(\"vector\"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+r+\"' does not exist in the map's style.\")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&\"raster\"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return\"fill-extrusion\"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var m=this._order[d];if(r(m))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),nr=br(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),ir=br(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}\"),ar=br(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);}\"),or=br(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),sr=br(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),lr=br(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),cr=br(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),ur=br(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),hr=br(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),fr=br(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),pr=br(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),dr=br(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),mr=br(\"uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),gr=br(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),yr=br(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),vr=br(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}\"),xr=br(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),_r=br(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\");function br(t,e){var r=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,n=e.match(/attribute ([\\w]+) ([\\w]+)/g),i=t.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),a=e.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:t=t.replace(r,(function(t,e,r,n,i){return s[i]=!0,\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\nvarying \"+r+\" \"+n+\" \"+i+\";\\n#else\\nuniform \"+r+\" \"+n+\" u_\"+i+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+i+\"\\n \"+r+\" \"+n+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\"})),vertexSource:e=e.replace(r,(function(t,e,r,n,i){var a=\"float\"===n?\"vec2\":\"vec4\",o=i.match(/color/)?\"color\":a;return s[i]?\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\nuniform lowp float u_\"+i+\"_t;\\nattribute \"+r+\" \"+a+\" a_\"+i+\";\\nvarying \"+r+\" \"+n+\" \"+i+\";\\n#else\\nuniform \"+r+\" \"+n+\" u_\"+i+\";\\n#endif\\n\":\"vec4\"===o?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n \"+i+\" = a_\"+i+\";\\n#else\\n \"+r+\" \"+n+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n \"+i+\" = unpack_mix_\"+o+\"(a_\"+i+\", u_\"+i+\"_t);\\n#else\\n \"+r+\" \"+n+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\":\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\nuniform lowp float u_\"+i+\"_t;\\nattribute \"+r+\" \"+a+\" a_\"+i+\";\\n#else\\nuniform \"+r+\" \"+n+\" u_\"+i+\";\\n#endif\\n\":\"vec4\"===o?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n \"+r+\" \"+n+\" \"+i+\" = a_\"+i+\";\\n#else\\n \"+r+\" \"+n+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n \"+r+\" \"+n+\" \"+i+\" = unpack_mix_\"+o+\"(a_\"+i+\", u_\"+i+\"_t);\\n#else\\n \"+r+\" \"+n+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\"})),staticAttributes:n,staticUniforms:o}}var wr=Object.freeze({__proto__:null,prelude:Xe,background:$e,backgroundPattern:Je,circle:Ke,clippingMask:Qe,heatmap:tr,heatmapTexture:er,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:cr,fillExtrusionPattern:ur,hillshadePrepare:hr,hillshade:fr,line:pr,lineGradient:dr,linePattern:mr,lineSDF:gr,raster:yr,symbolIcon:vr,symbolSDF:xr,symbolTextAndIcon:_r}),Tr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};function kr(t){for(var e=[],r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}Ar.prototype.draw=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m){var g,y=t.gl;if(!this.failedToCreate){for(var v in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[v].set(o[v]);p&&p.setUniforms(t,this.binderUniforms,h,{zoom:f});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[e],_=0,b=u.get();_0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get(\"raster-contrast\"),a>0?1/(1-a):1+a),u_spin_weights:Xr(i.paint.get(\"raster-hue-rotate\"))};var a,o};function Xr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var $r,Jr=function(t,e,r,n,i,a,o,s,l,c){var u=i.transform;return{u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},Kr=function(e,r,n,i,a,o,s,l,c,u,h){var f=a.transform;return t.extend(Jr(e,r,n,i,a,o,s,l,c,u),{u_gamma_scale:i?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+h})},Qr=function(e,r,n,i,a,o,s,l,c,u){return t.extend(Kr(e,r,n,i,a,o,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},tn=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},en=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,h=u*(n.tileID.canonical.x+n.tileID.wrap*c),f=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ge(n,1,r.transform.tileZoom),u_pixel_coord_upper:[h>>16,f>>16],u_pixel_coord_lower:[65535&h,65535&f]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},rn={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image),u_image_height:new t.Uniform1f(e,r.u_image_height)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function nn(e,r,n,i,a,o,s){for(var l=e.context,c=l.gl,u=e.useProgram(\"collisionBox\"),h=[],f=0,p=0,d=0;d0){var b=t.create(),w=v;t.mul(b,y.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(b,b,y.placementViewportMatrix),h.push({circleArray:_,circleOffset:p,transform:w,invTransform:b}),p=f+=_.length/4}x&&u.draw(l,c.LINES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Lt.disabled,Or(v,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&h.length){var T=e.useProgram(\"collisionCircle\"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*f),k._trim();for(var A=0,M=0,S=h;M=0&&(m[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else fe(y.numGlyphs,p)}if(h){d.clear();for(var L=e.icon.placedSymbolArray,I=0;I0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),h=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=f&&e.refreshedUponExpiration?1:t.clamp(f?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var gn=new t.Color(1,0,0,1),yn=new t.Color(0,1,0,1),vn=new t.Color(0,0,1,1),xn=new t.Color(1,0,1,1),_n=new t.Color(0,1,1,1);function bn(t){var e=t.transform.padding;wn(t,t.transform.height-(e.top||0),3,gn),wn(t,e.bottom||0,3,yn),Tn(t,e.left||0,3,vn),Tn(t,t.transform.width-(e.right||0),3,xn);var r=t.transform.centerPoint;!function(t,e,r,n){var i=20,a=2;kn(t,e-a/2,r-i/2,a,i,n),kn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,_n)}function wn(t,e,r,n){kn(t,0,e+r/2,t.transform.width,r,n)}function Tn(t,e,r,n){kn(t,e-r/2,0,r,t.transform.height,n)}function kn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function An(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram(\"debug\"),l=Mt.disabled,c=Et.disabled,u=e.colorModeForRenderPass(),h=\"$debug\";i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,c,u,Lt.disabled,Rr(o,t.Color.red),h,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var f=r.getTileByID(n.key).latestRawTileData,p=f&&f.byteLength||0,d=Math.floor(p/1024),m=r.getTile(n).tileSize,g=512/Math.min(m,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=\" => \"+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext(\"2d\");i.clearRect(0,0,r.width,r.height),i.shadowColor=\"white\",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle=\"white\",i.textBaseline=\"top\",i.font=\"bold 36px Open Sans, sans-serif\",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,y+\" \"+d+\"kb\"),s.draw(i,a.TRIANGLES,l,c,Ct.alphaBlended,Lt.disabled,Rr(o,t.Color.transparent,g),h,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var Mn={symbol:function(e,r,n,i,a){if(\"translucent\"===e.renderPass){var o=Et.disabled,s=e.colorModeForRenderPass();n.layout.get(\"text-variable-anchor\")&&function(e,r,n,i,a,o,s){for(var l=r.transform,c=\"map\"===a,u=\"map\"===o,h=0,f=e;h256&&this.clearStencil(),r.setColorMode(Ct.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Et({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Et({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=u[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer0?e.pop():null},Sn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},Sn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=\"\"+t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[r]||(this.cache[r]=new Ar(this.context,t,wr[t],e,rn[t],this._showOverdrawInspector)),this.cache[r]},Sn.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},Sn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},Sn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},Sn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var En=function(t,e){this.points=t,this.planes=e};En.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new En(a,o)};var Cn=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};Cn.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,h=0;hthis.max[l]-this.min[l])return 0}return 1};var Ln=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=t,this.bottom=e,this.left=r,this.right=n};Ln.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},Ln.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},Ln.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},Ln.prototype.clone=function(){return new Ln(this.top,this.bottom,this.left,this.right)},Ln.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var In=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Ln,this._posMatrixCache={},this._alignedPosMatrixCache={}},Pn={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};In.prototype.clone=function(){var t=new In(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Pn.minZoom.get=function(){return this._minZoom},Pn.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Pn.maxZoom.get=function(){return this._maxZoom},Pn.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Pn.minPitch.get=function(){return this._minPitch},Pn.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},Pn.maxPitch.get=function(){return this._maxPitch},Pn.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},Pn.renderWorldCopies.get=function(){return this._renderWorldCopies},Pn.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Pn.worldSize.get=function(){return this.tileSize*this.scale},Pn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Pn.size.get=function(){return new t.Point(this.width,this.height)},Pn.bearing.get=function(){return-this.angle/Math.PI*180},Pn.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Pn.pitch.get=function(){return this._pitch/Math.PI*180},Pn.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Pn.fov.get=function(){return this._fov/Math.PI*180},Pn.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Pn.zoom.get=function(){return this._zoom},Pn.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Pn.center.get=function(){return this._center},Pn.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Pn.padding.get=function(){return this._edgeInsets.toJSON()},Pn.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},Pn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},In.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},In.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},In.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},In.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new t.UnwrappedTileID(c,e));return r},In.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=En.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var c=function(t){return{aabb:new Cn([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},u=[],h=[],f=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)u.push(c(-d)),u.push(c(d));for(u.push(c(0));u.length>0;){var m=u.pop(),g=m.x,y=m.y,v=m.fullyVisible;if(!v){var x=m.aabb.intersects(s);if(0===x)continue;v=2===x}var _=m.aabb.distanceX(o),b=m.aabb.distanceY(o),w=Math.max(Math.abs(_),Math.abs(b)),T=3+(1<T&&m.zoom>=l)h.push({tileID:new t.OverscaledTileID(m.zoom===f?p:m.zoom,m.wrap,m.zoom,g,y),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);u.push({aabb:m.aabb.quadrant(k),zoom:m.zoom+1,x:A,y:M,wrap:m.wrap,fullyVisible:v})}}return h.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},In.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Pn.unmodified.get=function(){return this._unmodified},In.prototype.zoomScale=function(t){return Math.pow(2,t)},In.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},In.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},In.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Pn.point.get=function(){return this.project(this.center)},In.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},In.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},In.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},In.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},In.prototype.coordinateLocation=function(t){return t.toLngLat()},In.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,c=n[1]/a,u=r[2]/i,h=n[2]/a,f=u===h?0:(0-u)/(h-u);return new t.MercatorCoordinate(t.number(o,s,f)/this.worldSize,t.number(l,c,f)/this.worldSize)},In.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},In.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},In.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},In.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},In.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},In.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},In.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;a=t.mercatorYfromLat(h[1])*this.worldSize,e=(o=t.mercatorYfromLat(h[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,v=c.x/2;y-vl&&(n=l-v)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=u,this._constraining=!1}},In.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,c=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),u=this.height/50,h=new Float64Array(16);t.perspective(h,this._fov,this.width/this.height,u,c),h[8]=2*-r.x/this.width,h[9]=2*r.y/this.height,t.scale(h,h,[1,-1,1]),t.translate(h,h,[0,0,-this.cameraToCenterDistance]),t.rotateX(h,h,this._pitch),t.rotateZ(h,h,this.angle),t.translate(h,h,[-s,-l,0]),this.mercatorMatrix=t.scale([],h,[this.worldSize,this.worldSize,this.worldSize]),t.scale(h,h,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=h,this.invProjMatrix=t.invert([],this.projMatrix);var f=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),m=Math.sin(this.angle),g=s-Math.round(s)+d*f+m*p,y=l-Math.round(l)+d*p+m*f,v=new Float64Array(h);if(t.translate(v,v,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=v,h=t.create(),t.scale(h,h,[this.width/2,-this.height/2,1]),t.translate(h,h,[1,-1,0]),this.labelPlaneMatrix=h,h=t.create(),t.scale(h,h,[1,-1,1]),t.translate(h,h,[-1,-1,0]),t.scale(h,h,[2/this.width,2/this.height,1]),this.glCoordMatrix=h,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(h=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=h,this._posMatrixCache={},this._alignedPosMatrixCache={}}},In.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},In.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},In.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},zn.prototype._updateHashUnthrottled=function(){var e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());try{t.window.history.replaceState(t.window.history.state,null,e)}catch(t){}};var On={linearity:.3,easing:t.bezier(0,0,.3,1)},Dn=t.extend({deceleration:2500,maxSpeed:1400},On),Rn=t.extend({deceleration:20,maxSpeed:1400},On),Fn=t.extend({deceleration:1e3,maxSpeed:360},On),Bn=t.extend({deceleration:1e3,maxSpeed:90},On),Nn=function(t){this._map=t,this.clear()};function jn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},Nn.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.dblclick=function(t){return this._firePreventable(new Vn(t.type,this._map,t))},Gn.prototype.mouseover=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.mouseout=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.touchstart=function(t){return this._firePreventable(new qn(t.type,this._map,t))},Gn.prototype.touchmove=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchend=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchcancel=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Gn.prototype.isEnabled=function(){return!0},Gn.prototype.isActive=function(){return!1},Gn.prototype.enable=function(){},Gn.prototype.disable=function(){};var Zn=function(t){this._map=t};Zn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Zn.prototype.mousemove=function(t){this._map.fire(new Vn(t.type,this._map,t))},Zn.prototype.mousedown=function(){this._delayContextMenu=!0},Zn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Vn(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Zn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Vn(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault()},Zn.prototype.isEnabled=function(){return!0},Zn.prototype.isActive=function(){return!1},Zn.prototype.enable=function(){},Zn.prototype.disable=function(){};var Wn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Yn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Xn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var $n=function(t){this.singleTap=new Xn(t),this.numTaps=t.numTaps,this.reset()};$n.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},$n.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},$n.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},$n.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Jn=function(){this._zoomIn=new $n({numTouches:1,numTaps:2}),this._zoomOut=new $n({numTouches:2,numTaps:1}),this.reset()};Jn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Jn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Jn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Jn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Jn.prototype.touchcancel=function(){this.reset()},Jn.prototype.enable=function(){this._enabled=!0},Jn.prototype.disable=function(){this._enabled=!1,this.reset()},Jn.prototype.isEnabled=function(){return this._enabled},Jn.prototype.isActive=function(){return this._active};var Kn={};Kn[0]=1,Kn[2]=2;var Qn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Qn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Qn.prototype._correctButton=function(t,e){return!1},Qn.prototype._move=function(t,e){return{}},Qn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Qn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r)if(t.preventDefault(),function(t,e){var r=Kn[e];return void 0===t.buttons||(t.buttons&r)!==r}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(r)0&&(this._active=!0);var i=Yn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var c=i[l],u=this._touches[l];u&&(a._add(c),o._add(c.sub(u)),s++,i[l]=c)}if(this._touches=i,!(sMath.abs(t.x)}var hi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ui(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ui(t)&&ui(e)&&a}},e}(ii),fi={panStep:100,bearingStep:15,pitchStep:10},pi=function(){var t=fi;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1};function di(t){return t*(2-t)}pi.prototype.reset=function(){this._active=!1},pi.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:\"keyboardHandler\",easing:di,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},pi.prototype.enable=function(){this._enabled=!0},pi.prototype.disable=function(){this._enabled=!1,this.reset()},pi.prototype.isEnabled=function(){return this._enabled},pi.prototype.isActive=function(){return this._active},pi.prototype.disableRotation=function(){this._rotationDisabled=!0},pi.prototype.enableRotation=function(){this._rotationDisabled=!1};var mi=4.000244140625,gi=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll([\"_onTimeout\"],this)};gi.prototype.setZoomRate=function(t){this._defaultZoomRate=t},gi.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},gi.prototype.isEnabled=function(){return!!this._enabled},gi.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},gi.prototype.isZooming=function(){return!!this._zooming},gi.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},gi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},gi.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%mi==0?this._type=\"wheel\":0!==r&&Math.abs(r)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},gi.prototype._onTimeout=function(t){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t)},gi.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},gi.prototype.renderFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n=\"wheel\"===this._type&&Math.abs(this._delta)>mi?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a=\"number\"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),\"wheel\"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s=\"number\"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,c=this._easing,u=!1;if(\"wheel\"===this._type&&l&&c){var h=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),f=c(h);o=t.number(l,s,f),h<1?this._frameId||(this._frameId=!0):u=!0}else o=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},gi.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},gi.prototype.reset=function(){this._active=!1};var yi=function(t,e){this._clickZoom=t,this._tapZoom=e};yi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},yi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},yi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},yi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var vi=function(){this.reset()};vi.prototype.reset=function(){this._active=!1},vi.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},vi.prototype.enable=function(){this._enabled=!0},vi.prototype.disable=function(){this._enabled=!1,this.reset()},vi.prototype.isEnabled=function(){return this._enabled},vi.prototype.isActive=function(){return this._active};var xi=function(){this._tap=new $n({numTouches:1,numTaps:1}),this.reset()};xi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},xi.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},xi.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},xi.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},xi.prototype.touchcancel=function(){this.reset()},xi.prototype.enable=function(){this._enabled=!0},xi.prototype.disable=function(){this._enabled=!1,this.reset()},xi.prototype.isEnabled=function(){return this._enabled},xi.prototype.isActive=function(){return this._active};var _i=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};_i.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},_i.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},_i.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},_i.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var bi=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};bi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},bi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},bi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},bi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var wi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};wi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},wi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},wi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},wi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},wi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},wi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var Ti=function(t){return t.zoom||t.drag||t.pitch||t.rotate},ki=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(t.Event);function Ai(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var Mi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Nn(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var i=this._el;this._listeners=[[i,\"touchstart\",{passive:!0}],[i,\"touchmove\",{passive:!1}],[i,\"touchend\",void 0],[i,\"touchcancel\",void 0],[i,\"mousedown\",void 0],[i,\"mousemove\",void 0],[i,\"mouseup\",void 0],[t.window.document,\"mousemove\",{capture:!0}],[t.window.document,\"mouseup\",void 0],[i,\"mouseover\",void 0],[i,\"mouseout\",void 0],[i,\"dblclick\",void 0],[i,\"click\",void 0],[i,\"keydown\",{capture:!1}],[i,\"keyup\",void 0],[i,\"wheel\",{passive:!1}],[i,\"contextmenu\",void 0],[t.window,\"blur\",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,b):Math.max(.5,b),w=Math.pow(g,1-e),T=i.unproject(x.add(_.mult(e*w)).mult(m));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event(\"movestart\",e)),this._zooming&&!n.zooming&&this.fire(new t.Event(\"zoomstart\",e)),this._rotating&&!n.rotating&&this.fire(new t.Event(\"rotatestart\",e)),this._pitching&&!n.pitching&&this.fire(new t.Event(\"pitchstart\",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event(\"move\",e)),this._zooming&&this.fire(new t.Event(\"zoom\",e)),this._rotating&&this.fire(new t.Event(\"rotate\",e)),this._pitching&&this.fire(new t.Event(\"pitch\",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event(\"zoomend\",e)),i&&this.fire(new t.Event(\"rotateend\",e)),a&&this.fire(new t.Event(\"pitchend\",e)),this.fire(new t.Event(\"moveend\",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u=\"zoom\"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,h=\"bearing\"in e?this._normalizeBearing(e.bearing,s):s,f=\"pitch\"in e?+e.pitch:l,p=\"padding\"in e?e.padding:a.padding,d=a.zoomScale(u-o),m=t.Point.convert(e.offset),g=a.centerPoint.add(m),y=a.pointLocation(g),v=t.LngLat.convert(e.center||y);this._normalizeCenter(v);var x=a.project(y),_=a.project(v).sub(x),b=e.curve,w=Math.max(a.width,a.height),T=w/d,k=_.mag();if(\"minZoom\"in e){var A=t.clamp(Math.min(e.minZoom,o,u),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);b=Math.sqrt(M/k*2)}var S=b*b;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function C(t){return(Math.exp(t)-Math.exp(-t))/2}function L(t){return(Math.exp(t)+Math.exp(-t))/2}var I=E(0),P=function(t){return L(I)/L(I+b*t)},z=function(t){return w*((L(I)*(C(e=I+b*t)/L(e))-C(I))/S)/k;var e},O=(E(1)-I)/b;if(Math.abs(k)<1e-6||!isFinite(O)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var D=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==h,this._pitching=f!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*O,d=1/P(i);a.zoom=1===e?u:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,h,e)),n._pitching&&(a.pitch=t.number(l,f,e)),n._padding&&(a.interpolatePadding(c,p,e),g=a.centerPoint.add(m));var y=1===e?v:a.unproject(x.add(_.mult(z(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop(!1)}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),Ei=function(e){void 0===e&&(e={}),this.options=e,t.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};Ei.prototype.getDefaultPosition=function(){return\"bottom-right\"},Ei.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=r.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=r.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),e&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===e&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},Ei.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ei.prototype._setElementTitle=function(t,e){var r=this._map._getUIString(\"AttributionControl.\"+e);t.title=r,t.setAttribute(\"aria-label\",r)},Ei.prototype._toggleAttribution=function(){this._container.classList.contains(\"mapboxgl-compact-show\")?(this._container.classList.remove(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"false\")):(this._container.classList.add(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"true\"))},Ei.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var r=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+\"=\"+e.value+(n=0)return!1;return!0}))).join(\" | \");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},Ei.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\")};var Ci=function(){t.bindAll([\"_updateLogo\"],this),t.bindAll([\"_updateCompact\"],this)};Ci.prototype.onAdd=function(t){this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl\");var e=r.create(\"a\",\"mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://www.mapbox.com/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},Ci.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},Ci.prototype.getDefaultPosition=function(){return\"bottom-left\"},Ci.prototype._updateLogo=function(t){t&&\"metadata\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\")},Ci.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},Ci.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add(\"mapboxgl-compact\"):e.classList.remove(\"mapboxgl-compact\")}};var Li=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Li.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Li.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=e.minPitch&&e.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=e.maxPitch&&e.maxPitch>Di)throw new Error(\"maxPitch must be less than or equal to 60\");var i=new In(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Li,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Ii,e.locale),this._clickTolerance=e.clickTolerance,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),\"string\"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else{if(!(e.container instanceof zi))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",(function(){return r._update(!1)})),this.on(\"moveend\",(function(){return r._update(!1)})),this.on(\"zoom\",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener(\"online\",this._onWindowOnline,!1),t.window.addEventListener(\"resize\",this._onWindowResize,!1),t.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new Mi(this,e);var a=\"string\"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new zn(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Ei({customAttribution:e.customAttribution})),this.addControl(new Ci,e.logoPosition),this.on(\"style.load\",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on(\"data\",(function(e){r._update(\"style\"===e.dataType),r.fire(new t.Event(e.dataType+\"data\",e))})),this.on(\"dataloading\",(function(e){r.fire(new t.Event(e.dataType+\"dataloading\",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&(r=e.getDefaultPosition?e.getDefaultPosition():\"top-right\"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf(\"bottom\")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.hasControl=function(t){return this._controls.indexOf(t)>-1},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event(\"movestart\",e)).fire(new t.Event(\"move\",e))),this.fire(new t.Event(\"resize\",e)),a&&this.fire(new t.Event(\"moveend\",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()Di)throw new Error(\"maxPitch must be less than or equal to 60\");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if(\"mouseenter\"===t||\"mouseover\"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Vn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if(\"mouseleave\"===t||\"mouseout\"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Vn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Vn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ui.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ui.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ui.prototype.off=function(){var t=this.element;r.removeEventListener(t,\"mousedown\",this.mousedown),r.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),r.removeEventListener(t,\"touchmove\",this.touchmove),r.removeEventListener(t,\"touchend\",this.touchend),r.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp()},Ui.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,\"mousemove\",this.mousemove),r.removeEventListener(t.window,\"mouseup\",this.mouseup)},Ui.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,\"mousemove\",this.mousemove),r.addEventListener(t.window,\"mouseup\",this.mouseup)},Ui.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ui.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ui.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ui.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ui.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)=r}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new t.Event(\"dragstart\"))),this.fire(new t.Event(\"drag\")))},n.prototype._onUp=function(){this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),\"active\"===this._state&&this.fire(new t.Event(\"dragend\")),this._state=\"inactive\"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||\"auto\",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&\"auto\"!==t?t:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(t.Evented),Wi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};var Yi=0,Xi=!1,$i=function(e){function n(r){e.call(this),this.options=t.extend({},Wi,r),t.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(e){return this._map=e,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),n=this._setupUI,void 0!==Gi?n(Gi):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:\"geolocation\"}).then((function(t){Gi=\"denied\"!==t.state,n(Gi)})):(Gi=!!t.window.navigator.geolocation,n(Gi)),this._container;var n},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Yi=0,Xi=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitudee.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event(\"outofmaxbounds\",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\")}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"geolocate\",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+\"px\",this._circleElement.style.height=i+\"px\"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;var r=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=r,this._geolocateButton.setAttribute(\"aria-label\",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Xi)return;this._setErrorState()}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"error\",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this._geolocateButton=r.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",!1===e){t.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var i=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute(\"aria-label\",i)}else{var a=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=a,this._geolocateButton.setAttribute(\"aria-label\",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=r.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Zi(this._dotElement),this._circleElement=r.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Zi({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(function(e){var r=e.originalEvent&&\"resize\"===e.originalEvent.type;e.geolocateSource||\"ACTIVE_LOCK\"!==n._watchState||r||(n._watchState=\"BACKGROUND\",n._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),n._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),n.fire(new t.Event(\"trackuserlocationend\")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Yi--,Xi=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new t.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event(\"trackuserlocationstart\"))}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\")}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),++Yi>1?(e={maximumAge:6e5,timeout:0},Xi=!0):(e=this.options.positionOptions,Xi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Ji={maxWidth:100,unit:\"metric\"},Ki=function(e){this.options=t.extend({},Ji,e),t.bindAll([\"_onMove\",\"setUnit\"],this)};function Qi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&\"imperial\"===r.unit){var l=3.2808*s;l>5280?ta(e,n,l/5280,t._getUIString(\"ScaleControl.Miles\")):ta(e,n,l,t._getUIString(\"ScaleControl.Feet\"))}else r&&\"nautical\"===r.unit?ta(e,n,s/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):s>=1e3?ta(e,n,s/1e3,t._getUIString(\"ScaleControl.Kilometers\")):ta(e,n,s,t._getUIString(\"ScaleControl.Meters\"))}function ta(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(\"\"+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;t.style.width=e*l+\"px\",t.innerHTML=s+\" \"+n}Ki.prototype.getDefaultPosition=function(){return\"bottom-left\"},Ki.prototype._onMove=function(){Qi(this._map,this._container,this.options)},Ki.prototype.onAdd=function(t){return this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},Ki.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Ki.prototype.setUnit=function(t){this.options.unit=t,Qi(this._map,this._container,this.options)};var ea=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce(\"Full screen control 'container' must be a DOM element.\")),t.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in t.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in t.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in t.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in t.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};ea.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",t.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},ea.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},ea.prototype._setupUI=function(){var e=this._fullscreenButton=r.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);r.create(\"span\",\"mapboxgl-ctrl-icon\",e).setAttribute(\"aria-hidden\",!0),e.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t},ea.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},ea.prototype._isFullscreen=function(){return this._fullscreen},ea.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},ea.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var ra={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},na=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),ia=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(ra),r),t.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new t.Event(\"open\")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new t.Event(\"close\")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement(\"body\");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create(\"div\",\"mapboxgl-popup-content\",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.setOffset=function(t){return this.options.offset=t,this._update(),this},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=r.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(t){var e=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=r.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add(\"mapboxgl-popup-track-pointer\")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Vi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,o=aa(this.options.offset);if(!a){var s,l=this._container.offsetWidth,c=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-c?[\"bottom\"]:[],i.xthis._map.transform.width-l/2&&s.push(\"right\"),a=0===s.length?\"bottom\":s.join(\"-\")}var u=i.add(o[a]).round();r.setTransform(this._container,qi[a]+\" translate(\"+u.x+\"px,\"+u.y+\"px)\"),Hi(this._container,a,\"popup\")}},n.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var t=this._container.querySelector(na);t&&t.focus()}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);function aa(e){if(e){if(\"number\"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.Point(0,0),top:new t.Point(0,e),\"top-left\":new t.Point(r,r),\"top-right\":new t.Point(-r,r),bottom:new t.Point(0,-e),\"bottom-left\":new t.Point(r,-r),\"bottom-right\":new t.Point(-r,-r),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){var n=t.Point.convert(e);return{center:n,top:n,\"top-left\":n,\"top-right\":n,bottom:n,\"bottom-left\":n,\"bottom-right\":n,left:n,right:n}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),\"top-left\":t.Point.convert(e[\"top-left\"]||[0,0]),\"top-right\":t.Point.convert(e[\"top-right\"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),\"bottom-left\":t.Point.convert(e[\"bottom-left\"]||[0,0]),\"bottom-right\":t.Point.convert(e[\"bottom-right\"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return aa(new t.Point(0,0))}var oa={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Fi,NavigationControl:ji,GeolocateControl:$i,AttributionControl:Ei,ScaleControl:Ki,FullscreenControl:ea,Popup:ia,Marker:Zi,Style:We,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){jt().acquire(Rt)},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Ft.workerCount},set workerCount(t){Ft.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:\"\"};return oa})),r}()},27549:function(t,e,r){\"use strict\";t.exports=r(55366)},55366:function(t,e,r){\"use strict\";var n=r(31625),i=r(75144),a=r(5137),o=r(78112),s=r(6807),l=r(68650),c=r(83473),u=r(60201),h=r(10275),f=r(62914);function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,c=t.length/2;l>>1;e.dtype||(e.dtype=\"array\"),\"string\"==typeof e.dtype?d=new(h(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var y=0;yr||s>1073741824){for(var f=0;fr+i||M>n+i||S=L||o===s)){var l=v[a];void 0===s&&(s=l.length);for(var c=o;c=g&&h<=w&&f>=y&&f<=T&&I.push(u)}var p=x[a],d=p[4*o+0],m=p[4*o+1],_=p[4*o+2],b=p[4*o+3],k=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(p,o+1),E=.5*i,P=a+1;e(r,n,E,P,d,m||_||b||k),e(r,n+E,E,P,m,_||b||k),e(r+E,n,E,P,_,b||k),e(r+E,n+E,E,P,b,k)}}(0,0,1,0,0,1),I},d;function E(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;si&&(i=t[o]),t[o]1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;it.length)&&(r=t.length),t.substring(r-e.length,r)===e}var x=\"\",_=\"\",b=\"\",w=\"\",T={deepStrictEqual:\"Expected values to be strictly deep-equal:\",strictEqual:\"Expected values to be strictly equal:\",strictEqualObject:'Expected \"actual\" to be reference-equal to \"expected\":',deepEqual:\"Expected values to be loosely deep-equal:\",equal:\"Expected values to be loosely equal:\",notDeepStrictEqual:'Expected \"actual\" not to be strictly deep-equal to:',notStrictEqual:'Expected \"actual\" to be strictly unequal to:',notStrictEqualObject:'Expected \"actual\" not to be reference-equal to \"expected\":',notDeepEqual:'Expected \"actual\" not to be loosely deep-equal to:',notEqual:'Expected \"actual\" to be loosely unequal to:',notIdentical:\"Values identical but not reference-equal:\"};function k(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,\"message\",{value:t.message}),r}function A(t){return g(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var M=function(t,e){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&p(t,e)}(M,t);var r,i,s,u,h=(r=M,i=f(),function(){var t,e=d(r);if(i){var n=d(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return l(this,t)});function M(t){var e;if(function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,M),\"object\"!==m(t)||null===t)throw new y(\"options\",\"Object\",t);var r=t.message,i=t.operator,a=t.stackStartFn,o=t.actual,s=t.expected,u=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=r)e=h.call(this,String(r));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(x=\"\u001b[34m\",_=\"\u001b[32m\",w=\"\u001b[39m\",b=\"\u001b[31m\"):(x=\"\",_=\"\",w=\"\",b=\"\")),\"object\"===m(o)&&null!==o&&\"object\"===m(s)&&null!==s&&\"stack\"in o&&o instanceof Error&&\"stack\"in s&&s instanceof Error&&(o=k(o),s=k(s)),\"deepStrictEqual\"===i||\"strictEqual\"===i)e=h.call(this,function(t,e,r){var i=\"\",a=\"\",o=0,s=\"\",l=!1,c=A(t),u=c.split(\"\\n\"),h=A(e).split(\"\\n\"),f=0,p=\"\";if(\"strictEqual\"===r&&\"object\"===m(t)&&\"object\"===m(e)&&null!==t&&null!==e&&(r=\"strictEqualObject\"),1===u.length&&1===h.length&&u[0]!==h[0]){var d=u[0].length+h[0].length;if(d<=10){if(!(\"object\"===m(t)&&null!==t||\"object\"===m(e)&&null!==e||0===t&&0===e))return\"\".concat(T[r],\"\\n\\n\")+\"\".concat(u[0],\" !== \").concat(h[0],\"\\n\")}else if(\"strictEqualObject\"!==r&&d<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;u[0][f]===h[0][f];)f++;f>2&&(p=\"\\n \".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return\"\";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(\" \",f),\"^\"),f=0)}}for(var g=u[u.length-1],y=h[h.length-1];g===y&&(f++<2?s=\"\\n \".concat(g).concat(s):i=g,u.pop(),h.pop(),0!==u.length&&0!==h.length);)g=u[u.length-1],y=h[h.length-1];var k=Math.max(u.length,h.length);if(0===k){var M=c.split(\"\\n\");if(M.length>30)for(M[26]=\"\".concat(x,\"...\").concat(w);M.length>27;)M.pop();return\"\".concat(T.notIdentical,\"\\n\\n\").concat(M.join(\"\\n\"),\"\\n\")}f>3&&(s=\"\\n\".concat(x,\"...\").concat(w).concat(s),l=!0),\"\"!==i&&(s=\"\\n \".concat(i).concat(s),i=\"\");var S=0,E=T[r]+\"\\n\".concat(_,\"+ actual\").concat(w,\" \").concat(b,\"- expected\").concat(w),C=\" \".concat(x,\"...\").concat(w,\" Lines skipped\");for(f=0;f1&&f>2&&(L>4?(a+=\"\\n\".concat(x,\"...\").concat(w),l=!0):L>3&&(a+=\"\\n \".concat(h[f-2]),S++),a+=\"\\n \".concat(h[f-1]),S++),o=f,i+=\"\\n\".concat(b,\"-\").concat(w,\" \").concat(h[f]),S++;else if(h.length1&&f>2&&(L>4?(a+=\"\\n\".concat(x,\"...\").concat(w),l=!0):L>3&&(a+=\"\\n \".concat(u[f-2]),S++),a+=\"\\n \".concat(u[f-1]),S++),o=f,a+=\"\\n\".concat(_,\"+\").concat(w,\" \").concat(u[f]),S++;else{var I=h[f],P=u[f],z=P!==I&&(!v(P,\",\")||P.slice(0,-1)!==I);z&&v(I,\",\")&&I.slice(0,-1)===P&&(z=!1,P+=\",\"),z?(L>1&&f>2&&(L>4?(a+=\"\\n\".concat(x,\"...\").concat(w),l=!0):L>3&&(a+=\"\\n \".concat(u[f-2]),S++),a+=\"\\n \".concat(u[f-1]),S++),o=f,a+=\"\\n\".concat(_,\"+\").concat(w,\" \").concat(P),i+=\"\\n\".concat(b,\"-\").concat(w,\" \").concat(I),S+=2):(a+=i,i=\"\",1!==L&&0!==f||(a+=\"\\n \".concat(P),S++))}if(S>20&&f30)for(p[26]=\"\".concat(x,\"...\").concat(w);p.length>27;)p.pop();e=1===p.length?h.call(this,\"\".concat(f,\" \").concat(p[0])):h.call(this,\"\".concat(f,\"\\n\\n\").concat(p.join(\"\\n\"),\"\\n\"))}else{var d=A(o),g=\"\",S=T[i];\"notDeepEqual\"===i||\"notEqual\"===i?(d=\"\".concat(T[i],\"\\n\\n\").concat(d)).length>1024&&(d=\"\".concat(d.slice(0,1021),\"...\")):(g=\"\".concat(A(s)),d.length>512&&(d=\"\".concat(d.slice(0,509),\"...\")),g.length>512&&(g=\"\".concat(g.slice(0,509),\"...\")),\"deepEqual\"===i||\"equal\"===i?d=\"\".concat(S,\"\\n\\n\").concat(d,\"\\n\\nshould equal\\n\\n\"):g=\" \".concat(i,\" \").concat(g)),e=h.call(this,\"\".concat(d).concat(g))}return Error.stackTraceLimit=u,e.generatedMessage=!r,Object.defineProperty(c(e),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),e.code=\"ERR_ASSERTION\",e.actual=o,e.expected=s,e.operator=i,Error.captureStackTrace&&Error.captureStackTrace(c(e),a),e.stack,e.name=\"AssertionError\",l(e)}return s=M,(u=[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:e,value:function(t,e){return g(this,a(a({},e),{},{customInspect:!1,depth:0}))}}])&&o(s.prototype,u),Object.defineProperty(s,\"prototype\",{writable:!1}),M}(u(Error),g.custom);t.exports=M},34585:function(t,e,r){\"use strict\";function n(t){return n=\"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},n(t)}function i(t,e){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},i(t,e)}function a(t){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},a(t)}var o,s,l={};function c(t,e,r){r||(r=Error);var o=function(r){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&i(t,e)}(u,r);var o,s,l,c=(s=u,l=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=a(s);if(l){var r=a(this).constructor;t=Reflect.construct(e,arguments,r)}else t=e.apply(this,arguments);return function(t,e){if(e&&(\"object\"===n(e)||\"function\"==typeof e))return e;if(void 0!==e)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}(t)}(this,t)});function u(r,n,i){var a;return function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,u),a=c.call(this,function(t,r,n){return\"string\"==typeof e?e:e(t,r,n)}(r,n,i)),a.code=t,a}return o=u,Object.defineProperty(o,\"prototype\",{writable:!1}),o}(r);l[t]=o}function u(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?\"one of \".concat(e,\" \").concat(t.slice(0,r-1).join(\", \"),\", or \")+t[r-1]:2===r?\"one of \".concat(e,\" \").concat(t[0],\" or \").concat(t[1]):\"of \".concat(e,\" \").concat(t[0])}return\"of \".concat(e,\" \").concat(String(t))}c(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError),c(\"ERR_INVALID_ARG_TYPE\",(function(t,e,i){var a,s,l,c,h;if(void 0===o&&(o=r(85672)),o(\"string\"==typeof t,\"'name' must be a string\"),\"string\"==typeof e&&(s=\"not \",e.substr(0,4)===s)?(a=\"must not be\",e=e.replace(/^not /,\"\")):a=\"must be\",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t,\" argument\"))l=\"The \".concat(t,\" \").concat(a,\" \").concat(u(e,\"type\"));else{var f=(\"number\"!=typeof h&&(h=0),h+1>(c=t).length||-1===c.indexOf(\".\",h)?\"argument\":\"property\");l='The \"'.concat(t,'\" ').concat(f,\" \").concat(a,\" \").concat(u(e,\"type\"))}return l+\". Received type \".concat(n(i))}),TypeError),c(\"ERR_INVALID_ARG_VALUE\",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"is invalid\";void 0===s&&(s=r(56557));var i=s.inspect(e);return i.length>128&&(i=\"\".concat(i.slice(0,128),\"...\")),\"The argument '\".concat(t,\"' \").concat(n,\". Received \").concat(i)}),TypeError,RangeError),c(\"ERR_INVALID_RETURN_VALUE\",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?\"instance of \".concat(r.constructor.name):\"type \".concat(n(r)),\"Expected \".concat(t,' to be returned from the \"').concat(e,'\"')+\" function but got \".concat(i,\".\")}),TypeError),c(\"ERR_MISSING_ARGS\",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,\"At least one arg needs to be specified\");var i=\"The \",a=e.length;switch(e=e.map((function(t){return'\"'.concat(t,'\"')})),a){case 1:i+=\"\".concat(e[0],\" argument\");break;case 2:i+=\"\".concat(e[0],\" and \").concat(e[1],\" arguments\");break;default:i+=e.slice(0,a-1).join(\", \"),i+=\", and \".concat(e[a-1],\" arguments\")}return\"\".concat(i,\" must be specified\")}),TypeError),t.exports.codes=l},23879:function(t,e,r){\"use strict\";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=r){var n,i,a,o,s=[],l=!0,c=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==e);l=!0);}catch(t){c=!0,i=t}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(c)throw i}}return s}}(t,e)||function(t,e){if(t){if(\"string\"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===r&&t.constructor&&(r=t.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(t):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r10)return!0;for(var e=0;e57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function z(t){return Object.keys(t).filter(P).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function O(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i>2],a+=n[(3&r[e])<<4|r[e+1]>>4],a+=n[(15&r[e+1])<<2|r[e+2]>>6],a+=n[63&r[e+2]];return i%3==2?a=a.substring(0,a.length-1)+\"=\":i%3==1&&(a=a.substring(0,a.length-2)+\"==\"),a},s=function(t){var e,r,n,a,o,s=.75*t.length,l=t.length,c=0;\"=\"===t[t.length-1]&&(s--,\"=\"===t[t.length-2]&&s--);var u=new ArrayBuffer(s),h=new Uint8Array(u);for(e=0;e>4,h[c++]=(15&n)<<4|a>>2,h[c++]=(3&a)<<6|63&o;return u}},76226:function(t,e){\"use strict\";e.byteLength=function(t){var e=s(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=s(t),o=a[0],l=a[1],c=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,l)),u=0,h=l>0?o-4:o;for(r=0;r>16&255,c[u++]=e>>8&255,c[u++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,c[u++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,c[u++]=e>>8&255,c[u++]=255&e),c},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,c=n-i;sc?c:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+\"==\")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+\"=\")),a.join(\"\")};for(var r=[],n=[],i=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(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 l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join(\"\")}n[\"-\".charCodeAt(0)]=62,n[\"_\".charCodeAt(0)]=63},31625:function(t){\"use strict\";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return\"function\"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},54689:function(t,e){\"use strict\";function r(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}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.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},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.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},e.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},e.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},e.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},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},88772:function(t,e,r){\"use strict\";var n=r(75144);t.exports=function(t,e){e||(e={});var r,o,s,l,c,u,h,f,p,d,m,g=null==e.cutoff?.25:e.cutoff,y=null==e.radius?8:e.radius,v=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,l=(p=h.getImageData(0,0,r,o)).data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t,r=(f=t.canvas).width,o=f.height,l=(p=h.getImageData(0,0,r,o)).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,m=c.length;d-1?i(r):r}},87227:function(t,e,r){\"use strict\";var n=r(87547),i=r(71129),a=r(73285),o=r(48631),s=i(\"%Function.prototype.apply%\"),l=i(\"%Function.prototype.call%\"),c=i(\"%Reflect.apply%\",!0)||n.call(l,s),u=r(40891),h=i(\"%Math.max%\");t.exports=function(t){if(\"function\"!=typeof t)throw new o(\"a function is required\");var e=c(n,l,arguments);return a(e,1+h(0,t.length-(arguments.length-1)),!0)};var f=function(){return c(n,s,arguments)};u?u(t.exports,\"apply\",{value:f}):t.exports.apply=f},75144:function(t){t.exports=function(t,e,r){return er?r:t:te?e:t}},46762:function(t,e,r){\"use strict\";var n=r(75144);function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}t.exports=i,t.exports.to=i,t.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},86040:function(t){\"use strict\";t.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]}},162:function(t,e,r){\"use strict\";var n=r(16401),i=r(75144),a=r(10275);t.exports=function(t,e){\"float\"!==e&&e||(e=\"array\"),\"uint\"===e&&(e=\"uint8\"),\"uint_clamped\"===e&&(e=\"uint8_clamped\");var r=new(a(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]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},16401:function(t,e,r){\"use strict\";var n=r(10826),i=r(52132),a=r(75144);t.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),\"h\"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},10826:function(t,e,r){\"use strict\";var n=r(86040);t.exports=function(t){var e,r,a=[],o=1;if(\"string\"==typeof t)if(t=t.toLowerCase(),n[t])a=n[t].slice(),r=\"rgb\";else if(\"transparent\"===t)o=0,r=\"rgb\",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var s=t.slice(1);o=1,(u=s.length)<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===u&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===u&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),r=\"rgb\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(t)){var l=e[1],c=\"rgb\"===l;r=s=l.replace(/a$/,\"\");var u=\"cmyk\"===s?4:\"gray\"===s?1:3;a=e[2].trim().split(/\\s*[,\\/]\\s*|\\s+/).map((function(t,e){if(/%$/.test(t))return e===u?parseFloat(t)/100:\"rgb\"===s?255*parseFloat(t)/100:parseFloat(t);if(\"h\"===s[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==i[t])return i[t]}return parseFloat(t)})),l===s&&a.push(1),o=c||void 0===a[u]?1:a[u],a=a.slice(0,u)}else t.length>10&&/[0-9](?:\\s|\\/)/.test(t)&&(a=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),r=t.match(/([a-z])/gi).join(\"\").toLowerCase());else isNaN(t)?Array.isArray(t)||t.length?(a=[t[0],t[1],t[2]],r=\"rgb\",o=4===t.length?t[3]:1):t instanceof Object&&(null!=t.r||null!=t.red||null!=t.R?(r=\"rgb\",a=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]):(r=\"hsl\",a=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]),o=t.a||t.alpha||t.opacity||1,null!=t.opacity&&(o/=100)):(r=\"rgb\",a=[t>>>16,(65280&t)>>>8,255&t]);return{space:r,values:a,alpha:o}};var i={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},52132:function(t,e,r){\"use strict\";var n=r(10520);t.exports={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/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]}},10520:function(t){\"use strict\";t.exports={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}},78171:function(t){t.exports={AFG:\"afghan\",ALA:\"\\\\b\\\\wland\",ALB:\"albania\",DZA:\"algeria\",ASM:\"^(?=.*americ).*samoa\",AND:\"andorra\",AGO:\"angola\",AIA:\"anguill?a\",ATA:\"antarctica\",ATG:\"antigua\",ARG:\"argentin\",ARM:\"armenia\",ABW:\"^(?!.*bonaire).*\\\\baruba\",AUS:\"australia\",AUT:\"^(?!.*hungary).*austria|\\\\baustri.*\\\\bemp\",AZE:\"azerbaijan\",BHS:\"bahamas\",BHR:\"bahrain\",BGD:\"bangladesh|^(?=.*east).*paki?stan\",BRB:\"barbados\",BLR:\"belarus|byelo\",BEL:\"^(?!.*luxem).*belgium\",BLZ:\"belize|^(?=.*british).*honduras\",BEN:\"benin|dahome\",BMU:\"bermuda\",BTN:\"bhutan\",BOL:\"bolivia\",BES:\"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\\\bbes.?islands\",BIH:\"herzegovina|bosnia\",BWA:\"botswana|bechuana\",BVT:\"bouvet\",BRA:\"brazil\",IOT:\"british.?indian.?ocean\",BRN:\"brunei\",BGR:\"bulgaria\",BFA:\"burkina|\\\\bfaso|upper.?volta\",BDI:\"burundi\",CPV:\"verde\",KHM:\"cambodia|kampuchea|khmer\",CMR:\"cameroon\",CAN:\"canada\",CYM:\"cayman\",CAF:\"\\\\bcentral.african.republic\",TCD:\"\\\\bchad\",CHL:\"\\\\bchile\",CHN:\"^(?!.*\\\\bmac)(?!.*\\\\bhong)(?!.*\\\\btai)(?!.*\\\\brep).*china|^(?=.*peo)(?=.*rep).*china\",CXR:\"christmas\",CCK:\"\\\\bcocos|keeling\",COL:\"colombia\",COM:\"comoro\",COG:\"^(?!.*\\\\bdem)(?!.*\\\\bd[\\\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\\\bcongo\",COK:\"\\\\bcook\",CRI:\"costa.?rica\",CIV:\"ivoire|ivory\",HRV:\"croatia\",CUB:\"\\\\bcuba\",CUW:\"^(?!.*bonaire).*\\\\bcura(c|ç)ao\",CYP:\"cyprus\",CSK:\"czechoslovakia\",CZE:\"^(?=.*rep).*czech|czechia|bohemia\",COD:\"\\\\bdem.*congo|congo.*\\\\bdem|congo.*\\\\bd[\\\\.]?r|\\\\bd[\\\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc\",DNK:\"denmark\",DJI:\"djibouti\",DMA:\"dominica(?!n)\",DOM:\"dominican.rep\",ECU:\"ecuador\",EGY:\"egypt\",SLV:\"el.?salvador\",GNQ:\"guine.*eq|eq.*guine|^(?=.*span).*guinea\",ERI:\"eritrea\",EST:\"estonia\",ETH:\"ethiopia|abyssinia\",FLK:\"falkland|malvinas\",FRO:\"faroe|faeroe\",FJI:\"fiji\",FIN:\"finland\",FRA:\"^(?!.*\\\\bdep)(?!.*martinique).*france|french.?republic|\\\\bgaul\",GUF:\"^(?=.*french).*guiana\",PYF:\"french.?polynesia|tahiti\",ATF:\"french.?southern\",GAB:\"gabon\",GMB:\"gambia\",GEO:\"^(?!.*south).*georgia\",DDR:\"german.?democratic.?republic|democratic.?republic.*germany|east.germany\",DEU:\"^(?!.*east).*germany|^(?=.*\\\\bfed.*\\\\brep).*german\",GHA:\"ghana|gold.?coast\",GIB:\"gibraltar\",GRC:\"greece|hellenic|hellas\",GRL:\"greenland\",GRD:\"grenada\",GLP:\"guadeloupe\",GUM:\"\\\\bguam\",GTM:\"guatemala\",GGY:\"guernsey\",GIN:\"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea\",GNB:\"bissau|^(?=.*portu).*guinea\",GUY:\"guyana|british.?guiana\",HTI:\"haiti\",HMD:\"heard.*mcdonald\",VAT:\"holy.?see|vatican|papal.?st\",HND:\"^(?!.*brit).*honduras\",HKG:\"hong.?kong\",HUN:\"^(?!.*austr).*hungary\",ISL:\"iceland\",IND:\"india(?!.*ocea)\",IDN:\"indonesia\",IRN:\"\\\\biran|persia\",IRQ:\"\\\\biraq|mesopotamia\",IRL:\"(^ireland)|(^republic.*ireland)\",IMN:\"^(?=.*isle).*\\\\bman\",ISR:\"israel\",ITA:\"italy\",JAM:\"jamaica\",JPN:\"japan\",JEY:\"jersey\",JOR:\"jordan\",KAZ:\"kazak\",KEN:\"kenya|british.?east.?africa|east.?africa.?prot\",KIR:\"kiribati\",PRK:\"^(?=.*democrat|people|north|d.*p.*.r).*\\\\bkorea|dprk|korea.*(d.*p.*r)\",KWT:\"kuwait\",KGZ:\"kyrgyz|kirghiz\",LAO:\"\\\\blaos?\\\\b\",LVA:\"latvia\",LBN:\"lebanon\",LSO:\"lesotho|basuto\",LBR:\"liberia\",LBY:\"libya\",LIE:\"liechtenstein\",LTU:\"lithuania\",LUX:\"^(?!.*belg).*luxem\",MAC:\"maca(o|u)\",MDG:\"madagascar|malagasy\",MWI:\"malawi|nyasa\",MYS:\"malaysia\",MDV:\"maldive\",MLI:\"\\\\bmali\\\\b\",MLT:\"\\\\bmalta\",MHL:\"marshall\",MTQ:\"martinique\",MRT:\"mauritania\",MUS:\"mauritius\",MYT:\"\\\\bmayotte\",MEX:\"\\\\bmexic\",FSM:\"fed.*micronesia|micronesia.*fed\",MCO:\"monaco\",MNG:\"mongolia\",MNE:\"^(?!.*serbia).*montenegro\",MSR:\"montserrat\",MAR:\"morocco|\\\\bmaroc\",MOZ:\"mozambique\",MMR:\"myanmar|burma\",NAM:\"namibia\",NRU:\"nauru\",NPL:\"nepal\",NLD:\"^(?!.*\\\\bant)(?!.*\\\\bcarib).*netherlands\",ANT:\"^(?=.*\\\\bant).*(nether|dutch)\",NCL:\"new.?caledonia\",NZL:\"new.?zealand\",NIC:\"nicaragua\",NER:\"\\\\bniger(?!ia)\",NGA:\"nigeria\",NIU:\"niue\",NFK:\"norfolk\",MNP:\"mariana\",NOR:\"norway\",OMN:\"\\\\boman|trucial\",PAK:\"^(?!.*east).*paki?stan\",PLW:\"palau\",PSE:\"palestin|\\\\bgaza|west.?bank\",PAN:\"panama\",PNG:\"papua|new.?guinea\",PRY:\"paraguay\",PER:\"peru\",PHL:\"philippines\",PCN:\"pitcairn\",POL:\"poland\",PRT:\"portugal\",PRI:\"puerto.?rico\",QAT:\"qatar\",KOR:\"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\\\bkorea(?!.*d.*p.*r)\",MDA:\"moldov|b(a|e)ssarabia\",REU:\"r(e|é)union\",ROU:\"r(o|u|ou)mania\",RUS:\"\\\\brussia|soviet.?union|u\\\\.?s\\\\.?s\\\\.?r|socialist.?republics\",RWA:\"rwanda\",BLM:\"barth(e|é)lemy\",SHN:\"helena\",KNA:\"kitts|\\\\bnevis\",LCA:\"\\\\blucia\",MAF:\"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)\",SPM:\"miquelon\",VCT:\"vincent\",WSM:\"^(?!.*amer).*samoa\",SMR:\"san.?marino\",STP:\"\\\\bs(a|ã)o.?tom(e|é)\",SAU:\"\\\\bsa\\\\w*.?arabia\",SEN:\"senegal\",SRB:\"^(?!.*monte).*serbia\",SYC:\"seychell\",SLE:\"sierra\",SGP:\"singapore\",SXM:\"^(?!.*martin)(?!.*saba).*maarten\",SVK:\"^(?!.*cze).*slovak\",SVN:\"slovenia\",SLB:\"solomon\",SOM:\"somali\",ZAF:\"south.africa|s\\\\\\\\..?africa\",SGS:\"south.?georgia|sandwich\",SSD:\"\\\\bs\\\\w*.?sudan\",ESP:\"spain\",LKA:\"sri.?lanka|ceylon\",SDN:\"^(?!.*\\\\bs(?!u)).*sudan\",SUR:\"surinam|dutch.?guiana\",SJM:\"svalbard\",SWZ:\"swaziland\",SWE:\"sweden\",CHE:\"switz|swiss\",SYR:\"syria\",TWN:\"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china\",TJK:\"tajik\",THA:\"thailand|\\\\bsiam\",MKD:\"macedonia|fyrom\",TLS:\"^(?=.*leste).*timor|^(?=.*east).*timor\",TGO:\"togo\",TKL:\"tokelau\",TON:\"tonga\",TTO:\"trinidad|tobago\",TUN:\"tunisia\",TUR:\"turkey\",TKM:\"turkmen\",TCA:\"turks\",TUV:\"tuvalu\",UGA:\"uganda\",UKR:\"ukrain\",ARE:\"emirates|^u\\\\.?a\\\\.?e\\\\.?$|united.?arab.?em\",GBR:\"united.?kingdom|britain|^u\\\\.?k\\\\.?$\",TZA:\"tanzania\",USA:\"united.?states\\\\b(?!.*islands)|\\\\bu\\\\.?s\\\\.?a\\\\.?\\\\b|^\\\\s*u\\\\.?s\\\\.?\\\\b(?!.*islands)\",UMI:\"minor.?outlying.?is\",URY:\"uruguay\",UZB:\"uzbek\",VUT:\"vanuatu|new.?hebrides\",VEN:\"venezuela\",VNM:\"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam\",VGB:\"^(?=.*\\\\bu\\\\.?\\\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin\",VIR:\"^(?=.*\\\\bu\\\\.?\\\\s?s).*virgin|^(?=.*states).*virgin\",WLF:\"futuna|wallis\",ESH:\"western.sahara\",YEM:\"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YMD:\"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YUG:\"yugoslavia\",ZMB:\"zambia|northern.?rhodesia\",EAZ:\"zanzibar\",ZWE:\"zimbabwe|^(?!.*northern).*rhodesia\"}},59518:function(t,e,r){\"use strict\";t.exports={parse:r(86029),stringify:r(38211)}},87724:function(t,e,r){\"use strict\";var n=r(23648);t.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||-1!==t.indexOf(\"/\")||-1!==n.indexOf(t)}}},86029:function(t,e,r){\"use strict\";var n=r(80886),i=r(54324),a=r(94316),o=r(99803),s=r(87486),l=r(2362),c=r(28089),u=r(87724).isSize;t.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!==a.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!==i.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}},38211:function(t,e,r){\"use strict\";var n=r(6807),i=r(87724).isSize,a=d(r(54324)),o=d(r(94316)),s=d(r(99803)),l=d(r(87486)),c=d(r(2362)),u={normal:1,\"small-caps\":1},h={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},f=\"serif\";function p(t,e){if(t&&!e[t]&&!a[t])throw Error(\"Unknown keyword `\"+t+\"`\");return t}function d(t){for(var e={},r=0;r0?\" \".concat(e[5]):\"\",\" {\")),r+=t(e),n&&(r+=\"}\"),e[2]&&(r+=\"}\"),e[4]&&(r+=\"}\"),r})).join(\"\")},e.i=function(t,r,n,i,a){\"string\"==typeof t&&(t=[[null,t,void 0]]);var o={};if(n)for(var s=0;s0?\" \".concat(u[5]):\"\",\" {\").concat(u[1],\"}\")),u[5]=a),r&&(u[2]?(u[1]=\"@media \".concat(u[2],\" {\").concat(u[1],\"}\"),u[2]=r):u[2]=r),i&&(u[4]?(u[1]=\"@supports (\".concat(u[4],\") {\").concat(u[1],\"}\"),u[4]=i):u[4]=\"\".concat(i)),e.push(u))}},e}},62133:function(t){\"use strict\";t.exports=function(t,e){return e||(e={}),t?(t=String(t.__esModule?t.default:t),/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/[\"'() \\t\\n]|(%20)/.test(t)||e.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t):t}},22413:function(t){\"use strict\";t.exports=function(t){return t[1]}},84510:function(t,e,r){\"use strict\";var n,i=r(80299),a=r(9557),o=r(6887),s=r(86591),l=r(76504),c=r(29854),u=Function.prototype.bind,h=Object.defineProperty,f=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,i=a(e)&&o(e.value);return delete(n=s(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},t.exports=function(t){var e=l(arguments[1]);return i(e.resolveContext)&&o(e.resolveContext),c(t,(function(t,r){return n(r,t,e)}))}},91819:function(t,e,r){\"use strict\";var n=r(80299),i=r(63461),a=r(1920),o=r(76504),s=r(2338),l=t.exports=function(t,e){var r,i,l,c,u;return arguments.length<2||\"string\"!=typeof t?(c=e,e=t,t=null):c=arguments[2],n(t)?(r=s.call(t,\"c\"),i=s.call(t,\"e\"),l=s.call(t,\"w\")):(r=l=!0,i=!1),u={value:e,configurable:r,enumerable:i,writable:l},c?a(o(c),u):u};l.gs=function(t,e,r){var l,c,u,h;return\"string\"!=typeof t?(u=r,r=e,e=t,t=null):u=arguments[3],n(e)?i(e)?n(r)?i(r)||(u=r,r=void 0):r=void 0:(u=e,e=r=void 0):e=void 0,n(t)?(l=s.call(t,\"c\"),c=s.call(t,\"e\")):(l=!0,c=!1),h={get:e,set:r,configurable:l,enumerable:c},u?a(o(u),h):h}},29725:function(t,e,r){\"use strict\";function n(t,e){return te?1:t>=e?0:NaN}r.d(e,{V_:function(){return n},T9:function(){return s},i2:function(){return c},Am:function(){return u},jk:function(){return h},y1:function(){return f},cz:function(){return p}}),1===(i=n).length&&(a=i,i=function(t,e){return n(a(t),e)});var i,a,o=Array.prototype;function s(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n}function l(t){return null===t?NaN:+t}function c(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r}function h(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function f(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n=n.length)return null!=t&&r.sort(t),null!=e?e(r):r;for(var c,u,h,f=-1,p=r.length,d=n[i++],m=o(),g=s();++fn.length)return t;var a,o=i[r-1];return null!=e&&r>=n.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:s(t,r)})}))),null!=o?a.sort((function(t,e){return o(t.key,e.key)})):a}return r={object:function(t){return a(t,0,l,c)},map:function(t){return a(t,0,u,h)},entries:function(t){return s(a(t,0,u,h),0)},key:function(t){return n.push(t),r},sortKeys:function(t){return i[n.length-1]=t,r},sortValues:function(e){return t=e,r},rollup:function(t){return e=t,r}}}function l(){return{}}function c(t,e,r){t[e]=r}function u(){return o()}function h(t,e,r){t.set(e,r)}function f(){}var p=o.prototype;f.prototype=function(t,e){var r=new f;if(t instanceof f)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o,i=p,!(p=p[h=u<<1|c]))return i[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,i?i[h]=d:t._root=d,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(c=e>=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o}while((h=u<<1|c)==(f=(l>=o)<<1|s>=a));return i[f]=p,i[h]=d,t}function s(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function l(t){return t[0]}function c(t){return t[1]}function u(t,e,r){var n=new h(null==e?l:e,null==r?c:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function h(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function f(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}r.r(e),r.d(e,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return _},forceManyBody:function(){return $},forceRadial:function(){return J},forceSimulation:function(){return X},forceX:function(){return K},forceY:function(){return Q}});var p=u.prototype=h.prototype;function d(t){return t.x+t.vx}function m(t){return t.y+t.vy}function g(t){var e,r,n=1,o=1;function s(){for(var t,i,s,c,h,f,p,g=e.length,y=0;yc+d||ih+d||os.index){var m=c-l.x-l.vx,g=h-l.y-l.vy,y=m*m+g*g;yt.r&&(t.r=t[e].r)}function c(){if(e){var n,i,a=e.length;for(r=new Array(a),n=0;nh&&(h=n),if&&(f=i));if(c>h||u>f)return this;for(this.cover(c,u).cover(h,f),r=0;rt||t>=i||n>e||e>=a;)switch(s=(ep||(a=c.y0)>d||(o=c.x1)=v)<<1|t>=y)&&(c=m[m.length-1],m[m.length-1]=m[m.length-1-u],m[m.length-1-u]=c)}else{var x=t-+this._x.call(null,g.data),_=e-+this._y.call(null,g.data),b=x*x+_*_;if(b=(s=(d+g)/2))?d=s:g=s,(u=o>=(l=(m+y)/2))?m=l:y=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(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[h]=i: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=i,this)},p.removeAll=function(t){for(var e=0,r=t.length;e=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}}))),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&\"function\"!=typeof e)throw new Error(\"invalid callback: \"+e);for(;++o0)for(var r,n,i=new Array(r),a=0;a=0&&e._call.call(null,t),e=e._next;--C}()}finally{C=0,function(){for(var t,e,r=M,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:M=e);S=t,H(n)}(),O=0}}function q(){var t=R.now(),e=t-z;e>P&&(D-=e,z=t)}function H(t){C||(L&&(L=clearTimeout(L)),t-O>24?(t<1/0&&(L=setTimeout(V,t-R.now()-D)),I&&(I=clearInterval(I))):(I||(z=R.now(),I=setInterval(q,P)),C=1,F(V)))}function G(t){return t.x}function Z(t){return t.y}j.prototype=U.prototype={constructor:j,restart:function(t,e,r){if(\"function\"!=typeof t)throw new TypeError(\"callback is not a function\");r=(null==r?B():+r)+(null==e?0:+e),this._next||S===this||(S?S._next=this:M=this,S=this),this._call=t,this._time=r,H()},stop:function(){this._call&&(this._call=null,this._time=1/0,H())}};var W=10,Y=Math.PI*(3-Math.sqrt(5));function X(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,y.Tj)(),l=U(u),c=E(\"tick\",\"end\");function u(){h(),c.call(\"tick\",e),r1?(null==r?s.remove(t):s.set(t,p(r)),e):s.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c1?(c.on(t,r),e):c.on(t)}}}function $(){var t,e,r,n,o=i(-30),s=1,l=1/0,c=.81;function h(n){var i,a=t.length,o=u(t,G,Z).visitAfter(p);for(r=n,i=0;i=l)){(t.data!==e||t.next)&&(0===h&&(d+=(h=a())*h),0===f&&(d+=(f=a())*f),d1?n[0]+n.slice(2):n,+t.slice(r+1)]}r.d(e,{GP:function(){return f},OE:function(){return m}});var i,a=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=a.exec(t)))throw new Error(\"invalid format: \"+t);var e;return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(t){this.fill=void 0===t.fill?\" \":t.fill+\"\",this.align=void 0===t.align?\">\":t.align+\"\",this.sign=void 0===t.sign?\"-\":t.sign+\"\",this.symbol=void 0===t.symbol?\"\":t.symbol+\"\",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?\"\":t.type+\"\"}function l(t,e){var r=n(t,e);if(!r)return t+\"\";var i=r[0],a=r[1];return a<0?\"0.\"+new Array(-a).join(\"0\")+i:i.length>a+1?i.slice(0,a+1)+\".\"+i.slice(a+1):i+new Array(a-i.length+2).join(\"0\")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(void 0===this.width?\"\":Math.max(1,0|this.width))+(this.comma?\",\":\"\")+(void 0===this.precision?\"\":\".\"+Math.max(0,0|this.precision))+(this.trim?\"~\":\"\")+this.type};var c={\"%\":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+\"\"},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString(\"en\").replace(/,/g,\"\"):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return l(100*t,e)},r:l,s:function(t,e){var r=n(t,e);if(!r)return t+\"\";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join(\"0\"):s>0?a.slice(0,s)+\".\"+a.slice(s):\"0.\"+new Array(1-s).join(\"0\")+n(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function u(t){return t}var h,f,p=Array.prototype.map,d=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function m(t){var e,r,a=void 0===t.grouping||void 0===t.thousands?u:(e=p.call(t.grouping,Number),r=t.thousands+\"\",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),s=void 0===t.currency?\"\":t.currency[0]+\"\",l=void 0===t.currency?\"\":t.currency[1]+\"\",h=void 0===t.decimal?\".\":t.decimal+\"\",f=void 0===t.numerals?u:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(p.call(t.numerals,String)),m=void 0===t.percent?\"%\":t.percent+\"\",g=void 0===t.minus?\"-\":t.minus+\"\",y=void 0===t.nan?\"NaN\":t.nan+\"\";function v(t){var e=(t=o(t)).fill,r=t.align,n=t.sign,u=t.symbol,p=t.zero,v=t.width,x=t.comma,_=t.precision,b=t.trim,w=t.type;\"n\"===w?(x=!0,w=\"g\"):c[w]||(void 0===_&&(_=12),b=!0,w=\"g\"),(p||\"0\"===e&&\"=\"===r)&&(p=!0,e=\"0\",r=\"=\");var T=\"$\"===u?s:\"#\"===u&&/[boxX]/.test(w)?\"0\"+w.toLowerCase():\"\",k=\"$\"===u?l:/[%p]/.test(w)?m:\"\",A=c[w],M=/[defgprs%]/.test(w);function S(t){var o,s,l,c=T,u=k;if(\"c\"===w)u=A(t)+u,t=\"\";else{var m=(t=+t)<0||1/t<0;if(t=isNaN(t)?y:A(Math.abs(t),_),b&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),m&&0==+t&&\"+\"!==n&&(m=!1),c=(m?\"(\"===n?n:g:\"-\"===n||\"(\"===n?\"\":n)+c,u=(\"s\"===w?d[8+i/3]:\"\")+u+(m&&\"(\"===n?\")\":\"\"),M)for(o=-1,s=t.length;++o(l=t.charCodeAt(o))||l>57){u=(46===l?h+t.slice(o+1):t.slice(o))+u,t=t.slice(0,o);break}}x&&!p&&(t=a(t,1/0));var S=c.length+t.length+u.length,E=S>1)+c+t+u+E.slice(S);break;default:t=E+c+t+u}return f(t)}return _=void 0===_?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_)),S.toString=function(){return t+\"\"},S}return{format:v,formatPrefix:function(t,e){var r,i=v(((t=o(t)).type=\"f\",t)),a=3*Math.max(-8,Math.min(8,Math.floor((r=e,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(t){return i(s*t)+l}}}}h=m({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"}),f=h.format,h.formatPrefix},75987:function(t,e,r){\"use strict\";r.r(e),r.d(e,{geoAiry:function(){return D},geoAiryRaw:function(){return O},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return H},geoBerghaus:function(){return Y},geoBerghausRaw:function(){return W},geoBertin1953:function(){return rt},geoBertin1953Raw:function(){return et},geoBoggs:function(){return ut},geoBoggsRaw:function(){return ct},geoBonne:function(){return mt},geoBonneRaw:function(){return dt},geoBottomley:function(){return yt},geoBottomleyRaw:function(){return gt},geoBromley:function(){return xt},geoBromleyRaw:function(){return vt},geoChamberlin:function(){return Et},geoChamberlinAfrica:function(){return St},geoChamberlinRaw:function(){return At},geoCollignon:function(){return Lt},geoCollignonRaw:function(){return Ct},geoCraig:function(){return Pt},geoCraigRaw:function(){return It},geoCraster:function(){return Dt},geoCrasterRaw:function(){return Ot},geoCylindricalEqualArea:function(){return Ft},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return Nt},geoCylindricalStereographicRaw:function(){return Bt},geoEckert1:function(){return Ut},geoEckert1Raw:function(){return jt},geoEckert2:function(){return qt},geoEckert2Raw:function(){return Vt},geoEckert3:function(){return Gt},geoEckert3Raw:function(){return Ht},geoEckert4:function(){return Wt},geoEckert4Raw:function(){return Zt},geoEckert5:function(){return Xt},geoEckert5Raw:function(){return Yt},geoEckert6:function(){return Jt},geoEckert6Raw:function(){return $t},geoEisenlohr:function(){return te},geoEisenlohrRaw:function(){return Qt},geoFahey:function(){return ne},geoFaheyRaw:function(){return re},geoFoucaut:function(){return ae},geoFoucautRaw:function(){return ie},geoFoucautSinusoidal:function(){return se},geoFoucautSinusoidalRaw:function(){return oe},geoGilbert:function(){return fe},geoGingery:function(){return ge},geoGingeryRaw:function(){return pe},geoGinzburg4:function(){return xe},geoGinzburg4Raw:function(){return ve},geoGinzburg5:function(){return be},geoGinzburg5Raw:function(){return _e},geoGinzburg6:function(){return Te},geoGinzburg6Raw:function(){return we},geoGinzburg8:function(){return Ae},geoGinzburg8Raw:function(){return ke},geoGinzburg9:function(){return Se},geoGinzburg9Raw:function(){return Me},geoGringorten:function(){return Le},geoGringortenQuincuncial:function(){return ii},geoGringortenRaw:function(){return Ce},geoGuyou:function(){return Oe},geoGuyouRaw:function(){return ze},geoHammer:function(){return K},geoHammerRaw:function(){return $},geoHammerRetroazimuthal:function(){return Be},geoHammerRetroazimuthalRaw:function(){return Re},geoHealpix:function(){return We},geoHealpixRaw:function(){return qe},geoHill:function(){return Xe},geoHillRaw:function(){return Ye},geoHomolosine:function(){return er},geoHomolosineRaw:function(){return tr},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return ur},geoInterruptedBoggs:function(){return fr},geoInterruptedHomolosine:function(){return dr},geoInterruptedMollweide:function(){return gr},geoInterruptedMollweideHemispheres:function(){return vr},geoInterruptedQuarticAuthalic:function(){return hn},geoInterruptedSinuMollweide:function(){return _r},geoInterruptedSinusoidal:function(){return wr},geoKavrayskiy7:function(){return kr},geoKavrayskiy7Raw:function(){return Tr},geoLagrange:function(){return Mr},geoLagrangeRaw:function(){return Ar},geoLarrivee:function(){return Cr},geoLarriveeRaw:function(){return Er},geoLaskowski:function(){return Ir},geoLaskowskiRaw:function(){return Lr},geoLittrow:function(){return zr},geoLittrowRaw:function(){return Pr},geoLoximuthal:function(){return Dr},geoLoximuthalRaw:function(){return Or},geoMiller:function(){return Fr},geoMillerRaw:function(){return Rr},geoModifiedStereographic:function(){return Xr},geoModifiedStereographicAlaska:function(){return Hr},geoModifiedStereographicGs48:function(){return Gr},geoModifiedStereographicGs50:function(){return Zr},geoModifiedStereographicLee:function(){return Yr},geoModifiedStereographicMiller:function(){return Wr},geoModifiedStereographicRaw:function(){return Br},geoMollweide:function(){return ot},geoMollweideRaw:function(){return at},geoMtFlatPolarParabolic:function(){return Qr},geoMtFlatPolarParabolicRaw:function(){return Kr},geoMtFlatPolarQuartic:function(){return en},geoMtFlatPolarQuarticRaw:function(){return tn},geoMtFlatPolarSinusoidal:function(){return nn},geoMtFlatPolarSinusoidalRaw:function(){return rn},geoNaturalEarth:function(){return an.A},geoNaturalEarth2:function(){return sn},geoNaturalEarth2Raw:function(){return on},geoNaturalEarthRaw:function(){return an.P},geoNellHammer:function(){return cn},geoNellHammerRaw:function(){return ln},geoNicolosi:function(){return pn},geoNicolosiRaw:function(){return fn},geoPatterson:function(){return kn},geoPattersonRaw:function(){return Tn},geoPeirceQuincuncial:function(){return ai},geoPierceQuincuncial:function(){return ai},geoPolyconic:function(){return Mn},geoPolyconicRaw:function(){return An},geoPolyhedral:function(){return Pn},geoPolyhedralButterfly:function(){return Nn},geoPolyhedralCollignon:function(){return Vn},geoPolyhedralWaterman:function(){return qn},geoProject:function(){return Yn},geoQuantize:function(){return oi},geoQuincuncial:function(){return ni},geoRectangularPolyconic:function(){return li},geoRectangularPolyconicRaw:function(){return si},geoRobinson:function(){return hi},geoRobinsonRaw:function(){return ui},geoSatellite:function(){return pi},geoSatelliteRaw:function(){return fi},geoSinuMollweide:function(){return Qe},geoSinuMollweideRaw:function(){return Ke},geoSinusoidal:function(){return pt},geoSinusoidalRaw:function(){return ft},geoStitch:function(){return Pi},geoTimes:function(){return Oi},geoTimesRaw:function(){return zi},geoTwoPointAzimuthal:function(){return Bi},geoTwoPointAzimuthalRaw:function(){return Ri},geoTwoPointAzimuthalUsa:function(){return Fi},geoTwoPointEquidistant:function(){return Ui},geoTwoPointEquidistantRaw:function(){return Ni},geoTwoPointEquidistantUsa:function(){return ji},geoVanDerGrinten:function(){return qi},geoVanDerGrinten2:function(){return Gi},geoVanDerGrinten2Raw:function(){return Hi},geoVanDerGrinten3:function(){return Wi},geoVanDerGrinten3Raw:function(){return Zi},geoVanDerGrinten4:function(){return Xi},geoVanDerGrinten4Raw:function(){return Yi},geoVanDerGrintenRaw:function(){return Vi},geoWagner:function(){return Ji},geoWagner4:function(){return ra},geoWagner4Raw:function(){return ea},geoWagner6:function(){return ia},geoWagner6Raw:function(){return na},geoWagner7:function(){return Ki},geoWagnerRaw:function(){return $i},geoWiechel:function(){return oa},geoWiechelRaw:function(){return aa},geoWinkel3:function(){return la},geoWinkel3Raw:function(){return sa}});var n=r(94684),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,c=Math.floor,u=Math.log,h=Math.max,f=Math.min,p=Math.pow,d=Math.round,m=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sin,y=Math.tan,v=1e-6,x=1e-12,_=Math.PI,b=_/2,w=_/4,T=Math.SQRT1_2,k=I(2),A=I(_),M=2*_,S=180/_,E=_/180;function C(t){return t>1?b:t<-1?-b:Math.asin(t)}function L(t){return t>1?0:t<-1?_:Math.acos(t)}function I(t){return t>0?Math.sqrt(t):0}function P(t){return(l(t)-l(-t))/2}function z(t){return(l(t)+l(-t))/2}function O(t){var e=y(t/2),r=2*u(s(t/2))/(e*e);function n(t,e){var n=s(t),i=s(e),a=g(e),o=i*n,l=-((1-o?u((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(t),l*a]}return n.invert=function(e,n){var a,l=I(e*e+n*n),c=-t/2,h=50;if(!l)return[0,0];do{var f=c/2,p=s(f),d=g(f),m=d/p,y=-u(i(p));c-=a=(2/m*y-r*m-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>v&&--h>0);var x=g(c);return[o(e*x,l*s(c)),C(n*x/l)]},n}function D(){var t=b,e=(0,n.U)(O),r=e(t);return r.radius=function(r){return arguments.length?e(t=r*E):t*S},r.scale(179.976).clipAngle(147)}function R(t,e){var r=s(e),n=function(t){return t?t/Math.sin(t):1}(L(r*s(t/=2)));return[2*r*g(t)*n,g(e)*n]}function F(){return(0,n.A)(R).scale(152.63)}function B(t){var e=g(t),r=s(t),n=t>=0?1:-1,a=y(n*t),l=(1+e-r)/2;function c(t,i){var c=s(i),u=s(t/=2);return[(1+c)*g(t),(n*i>-o(u,a)-.001?0:10*-n)+l+g(i)*r-(1+c)*e*u]}return c.invert=function(t,c){var u=0,h=0,f=50;do{var p=s(u),d=g(u),m=s(h),y=g(h),x=1+m,_=x*d-t,b=l+y*r-x*e*p-c,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*m+e*p*y,M=T*k-A*w,S=(b*T-_*A)/M/2,E=(_*k-b*w)/M;i(E)>2&&(E/=2),u-=S,h-=E}while((i(S)>v||i(E)>v)&&--f>0);return n*h>-o(s(u),a)-.001?[2*u,h]:null},c}function N(){var t=20*E,e=t>=0?1:-1,r=y(e*t),i=(0,n.U)(B),a=i(t),l=a.stream;return a.parallel=function(n){return arguments.length?(r=y((e=(t=n*E)>=0?1:-1)*t),i(t)):t*S},a.stream=function(n){var i=a.rotate(),c=l(n),u=(a.rotate([0,0]),l(n)),h=a.precision();return a.rotate(i),c.sphere=function(){u.polygonStart(),u.lineStart();for(var n=-180*e;e*n<180;n+=90*e)u.point(n,90*e);if(t)for(;e*(n-=3*e*h)>=-180;)u.point(n,e*-o(s(n*E/2),r)*S);u.lineEnd(),u.polygonEnd()},c},a.scale(218.695).center([0,28.0974])}function j(t,e){var r=y(e/2),n=I(1-r*r),i=1+n*s(t/=2),a=g(t)*n/i,o=r/i,l=a*a,c=o*o;return[4/3*a*(3+l-3*c),4/3*o*(3+3*l-c)]}function U(){return(0,n.A)(j).scale(66.1603)}R.invert=function(t,e){if(!(t*t+4*e*e>_*_+v)){var r=t,n=e,a=25;do{var o,l=g(r),c=g(r/2),u=s(r/2),h=g(n),f=s(n),p=g(2*n),d=h*h,m=f*f,y=c*c,x=1-m*u*u,b=x?L(f*u)*I(o=1/x):o=0,w=2*b*f*c-t,T=b*h-e,k=o*(m*y+b*f*u*d),A=o*(.5*l*p-2*b*h*c),M=.25*o*(p*c-b*h*m*l),S=o*(d*u+b*y*f),E=A*M-S*k;if(!E)break;var C=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=C,n-=P}while((i(C)>v||i(P)>v)&&--a>0);return[r,n]}},j.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&i(e)>1)return null;var r=1+t*t+e*e,n=I((r-I(r*r-4*e*e))/2),a=C(n)/3,l=n?function(t){return u(t+I(t*t-1))}(i(e/n))/3:function(t){return u(t+I(t*t+1))}(i(t))/3,c=s(a),h=z(l),f=h*h-c*c;return[2*m(t)*o(P(l)*c,.25-f),2*m(e)*o(h*g(a),.25+f)]};var V=I(8),q=u(1+k);function H(t,e){var r=i(e);return rx&&--c>0);return[t/(s(o)*(V-1/g(o))),m(e)*o]};var Z=r(61957);function W(t){var e=2*_/t;function r(t,r){var n=(0,Z.j)(t,r);if(i(t)>b){var a=o(n[1],n[0]),l=I(n[0]*n[0]+n[1]*n[1]),c=e*d((a-b)/e)+b,u=o(g(a-=c),2-s(a));a=c+C(_/l*g(u))-u,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(t,r){var n=I(t*t+r*r);if(n>b){var i=o(r,t),l=e*d((i-b)/e)+b,c=i>l?-1:1,u=n*s(l-i),h=1/y(c*L((u-_)/I(_*(_-2*u)+n*n)));i=l+2*a((h+c*I(h*h-3))/3),t=n*s(i),r=n*g(i)}return Z.j.invert(t,r)},r}function Y(){var t=5,e=(0,n.U)(W),r=e(t),i=r.stream,a=.01,l=-s(a*E),c=g(a*E);return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),u=i(e),h=(r.rotate([0,0]),i(e));return r.rotate(n),u.sphere=function(){h.polygonStart(),h.lineStart();for(var e=0,r=360/t,n=2*_/t,i=90-180/t,u=b;e0&&i(n)>v);return s<0?NaN:r}function tt(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=x),function(n,a,o,s){var l,c,u;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var h=0;hl)o-=c/=2,s-=u/=2;else{l=m;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,v=t(o+g,s),x=t(o,s+y),_=(v[0]-f[0])/g,b=(v[1]-f[1])/g,w=(x[0]-f[0])/y,T=(x[1]-f[1])/y,k=T*_-b*w,A=(i(k)<.5?.5:1)/k;if(o+=c=(d*w-p*T)*A,s+=u=(p*b-d*_)*A,i(c)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=tt(e),e}function rt(){return(0,n.A)(et()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(t,e){var r,n=t*g(e),a=30;do{e-=r=(e+g(e)-n)/(1+s(e))}while(i(r)>v&&--a>0);return e/2}function it(t,e,r){function n(n,i){return[t*n*s(i=nt(r,i)),e*g(i)]}return n.invert=function(n,i){return i=C(i/e),[n/(t*s(i)),C((2*i+g(2*i))/r)]},n}J.invert=function(t,e){var r=2*C(e/2);return[t*s(r/2)/s(r),r]};var at=it(k/b,k,_);function ot(){return(0,n.A)(at).scale(169.529)}var st=2.00276,lt=1.11072;function ct(t,e){var r=nt(_,e);return[st*t/(1/s(e)+lt/s(r)),(e+k*g(r))/st]}function ut(){return(0,n.A)(ct).scale(160.857)}function ht(t){var e=0,r=(0,n.U)(t),i=r(e);return i.parallel=function(t){return arguments.length?r(e=t*E):e*S},i}function ft(t,e){return[t*s(e),e]}function pt(){return(0,n.A)(ft).scale(152.63)}function dt(t){if(!t)return ft;var e=1/y(t);function r(r,n){var i=e+t-n,a=i?r*s(n)/i:i;return[i*g(a),e-i*s(a)]}return r.invert=function(r,n){var i=I(r*r+(n=e-n)*n),a=e+t-i;return[i/s(a)*o(r,n),a]},r}function mt(){return ht(dt).scale(123.082).center([0,26.1441]).parallel(45)}function gt(t){function e(e,r){var n=b-r,i=n?e*t*g(n)/n:n;return[n*g(i)/t,b-n*s(i)]}return e.invert=function(e,r){var n=e*t,i=b-r,a=I(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/t,b-a]},e}function yt(){var t=.5,e=(0,n.U)(gt),r=e(t);return r.fraction=function(r){return arguments.length?e(t=+r):t},r.scale(158.837)}ct.invert=function(t,e){var r,n,a=st*e,o=e<0?-w:w,l=25;do{n=a-k*g(o),o-=r=(g(2*o)+2*o-_*g(n))/(2*s(2*o)+2+_*s(n)*k*s(o))}while(i(r)>v&&--l>0);return n=a-k*g(o),[t*(1/s(n)+lt/s(o))/st,n]},ft.invert=function(t,e){return[t/s(e),e]};var vt=it(1,4/_,_);function xt(){return(0,n.A)(vt).scale(152.63)}var _t=r(30021),bt=r(30915);function wt(t,e,r,n,a,l){var c,u=s(l);if(i(t)>1||i(l)>1)c=L(r*a+e*n*u);else{var h=g(t/2),f=g(l/2);c=2*C(I(h*h+e*n*f*f))}return i(c)>v?[c,o(n*g(l),e*a-r*n*u)]:[0,0]}function Tt(t,e,r){return L((t*t+e*e-r*r)/(2*t*e))}function kt(t){return t-2*_*c((t+_)/(2*_))}function At(t,e,r){for(var n,i=[[t[0],t[1],g(t[1]),s(t[1])],[e[0],e[1],g(e[1]),s(e[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=wt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=Tt(i[0].v[0],i[2].v[0],i[1].v[0]),c=Tt(i[0].v[0],i[1].v[0],i[2].v[0]),u=_-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var h=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(t,e){var r,n=g(e),a=s(e),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=wt(e-l[1],l[3],l[2],a,n,t-l[0]),!o[r][0])return l.point;o[r][1]=kt(o[r][1]-l.v[1])}var f=h.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=Tt(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=c-d,f[0]-=o[r][0]*s(d),f[1]-=o[r][0]*g(d)):(d=u-d,f[0]+=o[r][0]*s(d),f[1]+=o[r][0]*g(d)):(f[0]+=o[r][0]*s(d),f[1]-=o[r][0]*g(d))}return f[0]/=3,f[1]/=3,f}}function Mt(t){return t[0]*=E,t[1]*=E,t}function St(){return Et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Et(t,e,r){var i=(0,_t.A)({type:\"MultiPoint\",coordinates:[t,e,r]}),a=[-i[0],-i[1]],o=(0,bt.A)(a),s=At(Mt(o(t)),Mt(o(e)),Mt(o(r)));s.invert=tt(s);var l=(0,n.A)(s).rotate(a),c=l.center;return delete l.rotate,l.center=function(t){return arguments.length?c(o(t)):o.invert(c())},l.clipAngle(90)}function Ct(t,e){var r=I(1-g(e));return[2/A*t*r,A*(1-r)]}function Lt(){return(0,n.A)(Ct).scale(95.6464).center([0,30])}function It(t){var e=y(t);function r(t,r){return[t,(t?t/g(t):1)*(g(r)*s(t)-e*s(r))]}return r.invert=e?function(t,r){t&&(r*=g(t)/t);var n=s(t);return[t,2*o(I(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,C(t?e*y(t)/t:e)]},r}function Pt(){return ht(It).scale(249.828).clipAngle(90)}Ct.invert=function(t,e){var r=(r=e/A-1)*r;return[r>0?t*I(_/r)/2:0,C(1-r)]};var zt=I(3);function Ot(t,e){return[zt*t*(2*s(2*e/3)-1)/A,zt*A*g(e/3)]}function Dt(){return(0,n.A)(Ot).scale(156.19)}function Rt(t){var e=s(t);function r(t,r){return[t*e,g(r)/e]}return r.invert=function(t,r){return[t/e,C(r*e)]},r}function Ft(){return ht(Rt).parallel(38.58).scale(195.044)}function Bt(t){var e=s(t);function r(t,r){return[t*e,(1+e)*y(r/2)]}return r.invert=function(t,r){return[t/e,2*a(r/(1+e))]},r}function Nt(){return ht(Bt).scale(124.75)}function jt(t,e){var r=I(8/(3*_));return[r*t*(1-i(e)/_),r*e]}function Ut(){return(0,n.A)(jt).scale(165.664)}function Vt(t,e){var r=I(4-3*g(i(e)));return[2/I(6*_)*t*r,m(e)*I(2*_/3)*(2-r)]}function qt(){return(0,n.A)(Vt).scale(165.664)}function Ht(t,e){var r=I(_*(4+_));return[2/r*t*(1+I(1-4*e*e/(_*_))),4/r*e]}function Gt(){return(0,n.A)(Ht).scale(180.739)}function Zt(t,e){var r=(2+b)*g(e);e/=2;for(var n=0,a=1/0;n<10&&i(a)>v;n++){var o=s(e);e-=a=(e+g(e)*(o+2)-r)/(2*o*(1+o))}return[2/I(_*(4+_))*t*(1+s(e)),2*I(_/(4+_))*g(e)]}function Wt(){return(0,n.A)(Zt).scale(180.739)}function Yt(t,e){return[t*(1+s(e))/I(2+_),2*e/I(2+_)]}function Xt(){return(0,n.A)(Yt).scale(173.044)}function $t(t,e){for(var r=(1+b)*g(e),n=0,a=1/0;n<10&&i(a)>v;n++)e-=a=(e+g(e)-r)/(1+s(e));return r=I(2+_),[t*(1+s(e))/r,2*e/r]}function Jt(){return(0,n.A)($t).scale(173.044)}Ot.invert=function(t,e){var r=3*C(e/(zt*A));return[A*t/(zt*(2*s(2*r/3)-1)),r]},jt.invert=function(t,e){var r=I(8/(3*_)),n=e/r;return[t/(r*(1-i(n)/_)),n]},Vt.invert=function(t,e){var r=2-i(e)/I(2*_/3);return[t*I(6*_)/(2*r),m(e)*C((4-r*r)/3)]},Ht.invert=function(t,e){var r=I(_*(4+_))/2;return[t*r/(1+I(1-e*e*(4+_)/(4*_))),e*r/2]},Zt.invert=function(t,e){var r=e*I((4+_)/_)/2,n=C(r),i=s(n);return[t/(2/I(_*(4+_))*(1+i)),C((n+r*(i+2))/(2+b))]},Yt.invert=function(t,e){var r=I(2+_),n=e*r/2;return[r*t/(1+s(n)),n]},$t.invert=function(t,e){var r=1+b,n=I(r/2);return[2*t*n/(1+s(e*=n)),C((e+g(e))/r)]};var Kt=3+2*k;function Qt(t,e){var r=g(t/=2),n=s(t),i=I(s(e)),o=s(e/=2),l=g(e)/(o+k*n*i),c=I(2/(1+l*l)),h=I((k*o+(n+r)*i)/(k*o+(n-r)*i));return[Kt*(c*(h-1/h)-2*u(h)),Kt*(c*l*(h+1/h)-2*a(l))]}function te(){return(0,n.A)(Qt).scale(62.5271)}Qt.invert=function(t,e){if(!(r=j.invert(t/1.2,1.065*e)))return null;var r,n=r[0],o=r[1],l=20;t/=Kt,e/=Kt;do{var c=n/2,p=o/2,d=g(c),m=s(c),y=g(p),x=s(p),_=s(o),w=I(_),A=y/(x+k*m*w),M=A*A,S=I(2/(1+M)),E=(k*x+(m+d)*w)/(k*x+(m-d)*w),C=I(E),L=C-1/C,P=C+1/C,z=S*L-2*u(C)-t,O=S*A*P-2*a(A)-e,D=y&&T*w*d*M/y,R=(k*m*x+w)/(2*(x+k*m*w)*(x+k*m*w)*w),F=-.5*A*S*S*S,B=F*D,N=F*R,U=(U=2*x+k*w*(m-d))*U*C,V=(k*m*x*w+_)/U,q=-k*d*y/(w*U),H=L*B-2*V/C+S*(V+V/E),G=L*N-2*q/C+S*(q+q/E),Z=A*P*B-2*D/(1+M)+S*P*D+S*A*(V-V/E),W=A*P*N-2*R/(1+M)+S*P*R+S*A*(q-q/E),Y=G*Z-W*H;if(!Y)break;var X=(O*G-z*W)/Y,$=(z*Z-O*H)/Y;n-=X,o=h(-b,f(b,o-$))}while((i(X)>v||i($)>v)&&--l>0);return i(i(o)-b)n){var f=I(h),p=o(u,c),m=r*d(p/r),y=p-m,x=t*s(y),w=(t*g(y)-y*g(x))/(b-x),T=de(y,w),k=(_-t)/me(T,x,_);c=f;var A,M=50;do{c-=A=(t+me(T,x,c)*k-f)/(T(c)*k)}while(i(A)>v&&--M>0);u=y*g(c),cn){var c=I(l),u=o(a,e),h=r*d(u/r),f=u-h;e=c*s(f),a=c*g(f);for(var p=e-b,m=g(e),y=a/m,v=ev||i(p)>v)&&--y>0);return[d,m]},u}var ve=ye(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xe(){return(0,n.A)(ve).scale(149.995)}var _e=ye(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function be(){return(0,n.A)(_e).scale(153.93)}var we=ye(5/6*_,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Te(){return(0,n.A)(we).scale(130.945)}function ke(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}function Ae(){return(0,n.A)(ke).scale(131.747)}ke.invert=function(t,e){var r,n=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(i(r)>v&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(i(r)>v&&--o>0);return[n,a]};var Me=ye(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Se(){return(0,n.A)(Me).scale(131.087)}function Ee(t){var e=t(b,0)[0]-t(-b,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*_,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*_;return o<-_?o+=2*_:o>_&&(o-=2*_),a[0]=o,a}),r}function Ce(t,e){var r=m(t),n=m(e),a=s(e),l=s(t)*a,c=g(t)*a,u=g(n*e);t=i(o(c,u)),e=C(l),i(t-b)>v&&(t%=b);var h=function(t,e){if(e===b)return[0,0];var r,n,a=g(e),o=a*a,l=o*o,c=1+l,u=1+3*l,h=1-l,f=C(1/I(c)),p=h+o*c*f,d=(1-a)/p,m=I(d),y=d*c,x=I(y),w=m*h;if(0===t)return[0,-(w+o*x)];var T,k=s(e),A=1/k,M=2*a*k,S=(-p*k-(1-a)*((-3*o+f*u)*M))/(p*p),E=-A*M,L=-A*(o*c*S+d*u*M),P=-2*A*(h*(.5*S/m)-2*o*m*M),z=4*t/_;if(t>.222*_||e<_/4&&t>.175*_){if(r=(w+o*I(y*(1+l)-w*w))/(1+l),t>_/4)return[r,r];var O=r,D=.5*r;r=.5*(D+O),n=50;do{var R=r*(P+E*I(y-r*r))+L*C(r/x)-z;if(!R)break;R<0?D=r:O=r,r=.5*(D+O)}while(i(O-D)>v&&--n>0)}else{r=v,n=25;do{var F=r*r,B=I(y-F),N=P+E*B,j=r*N+L*C(r/x)-z;r-=T=B?j/(N+(L-E*F)/B):0}while(i(T)>v&&--n>0)}return[r,-w-o*I(y-r*r)]}(t>_/4?b-t:t,e);return t>_/4&&(u=h[0],h[0]=-h[1],h[1]=-u),h[0]*=r,h[1]*=-n,h}function Le(){return(0,n.A)(Ee(Ce)).scale(239.75)}function Ie(t,e){var r,n,o,c,u,h;if(e=1-v)return r=(1-e)/4,o=1/(n=z(t)),[(c=((h=l(2*(h=t)))-1)/(h+1))+r*((u=n*P(t))-t)/(n*n),o-r*c*o*(u-t),o+r*c*o*(u+t),2*a(l(t))-b+r*(u-t)/n];var f=[1,0,0,0,0,0,0,0,0],p=[I(e),0,0,0,0,0,0,0,0],d=0;for(n=I(1-e),u=1;i(p[d]/f[d])>v&&d<8;)r=f[d++],p[d]=(r-n)/2,f[d]=(r+n)/2,n=I(r*n),u*=2;o=u*f[d]*t;do{o=(C(c=p[d]*g(n=o)/f[d])+o)/2}while(--d);return[g(o),c=s(o),c/s(o-n),o]}function Pe(t,e){if(!e)return t;if(1===e)return u(y(t/2+w));for(var r=1,n=I(1-e),o=I(e),s=0;i(o)>v;s++){if(t%_){var l=a(n*y(t)/r);l<0&&(l+=_),t+=l+~~(t/_)*_}else t+=t;o=(r+n)/2,n=I(r*n),o=((r=o)-n)/2}return t/(p(2,s)*r)}function ze(t,e){var r=(k-1)/(k+1),n=I(1-r*r),c=Pe(b,n*n),h=u(y(_/4+i(e)/2)),f=l(-1*h)/I(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?b:-b)-o(i,2*t)),-.25*u(i*i+4*r)+.5*u(n*n+r)]}(f*s(-1*t),f*g(-1*t)),d=function(t,e,r){var n=i(t),o=P(i(e));if(n){var s=1/g(n),l=1/(y(n)*y(n)),c=-(l+r*(o*o*s*s)-1+r),u=(-c+I(c*c-(r-1)*l*4))/2;return[Pe(a(1/I(u)),r)*m(t),Pe(a(I((u/l-1)/r)),1-r)*m(e)]}return[0,Pe(a(o),1-r)*m(e)]}(p[0],p[1],n*n);return[-d[1],(e>=0?1:-1)*(.5*c-d[0])]}function Oe(){return(0,n.A)(Ee(ze)).scale(151.496)}Ce.invert=function(t,e){i(t)>1&&(t=2*m(t)-t),i(e)>1&&(e=2*m(e)-e);var r=m(t),n=m(e),a=-r*t,l=-n*e,c=l/a<1,u=function(t,e){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,c=I(a),u=C(1/I(1+l)),h=1-l+a*(1+l)*u,f=(1-c)/h,p=I(f),d=f*(1+l),m=p*(1-l),g=I(d-t*t),y=e+m+a*g;if(i(n-r)0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var v=C(c),b=s(v),w=1/b,T=2*c*b,k=(-h*b-(-3*a+u*(1+3*l))*T*(1-c))/(h*h);return[_/4*(t*(-2*w*((1-l)*(.5*k/p)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+f*(1+3*l)*T)*C(t/I(d))),v]}(c?l:a,c?a:l),h=u[0],f=u[1],p=s(f);return c&&(h=-b-h),[r*(o(g(h)*p,-g(f))+_),n*C(s(h)*p)]},ze.invert=function(t,e){var r,n,i,s,c,h,f=(k-1)/(k+1),p=I(1-f*f),d=(n=-t,i=p*p,(r=.5*Pe(b,p*p)-e)?(s=Ie(r,i),n?(h=(c=Ie(n,1-i))[1]*c[1]+i*s[0]*s[0]*c[0]*c[0],[[s[0]*c[2]/h,s[1]*s[2]*c[0]*c[1]/h],[s[1]*c[1]/h,-s[0]*s[2]*c[0]*c[2]/h],[s[2]*c[1]*c[2]/h,-i*s[0]*s[1]*c[0]/h]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(c=Ie(n,1-i))[0]/c[1]],[1/c[1],0],[c[2]/c[1],0]]),m=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(d[0],d[1]);return[o(m[1],m[0])/-1,2*a(l(-.5*u(f*m[0]*m[0]+f*m[1]*m[1])))-b]};var De=r(39127);function Re(t){var e=g(t),r=s(t),n=Fe(t);function a(t,a){var o=n(t,a);t=o[0],a=o[1];var l=g(a),c=s(a),u=s(t),h=L(e*l+r*c*u),f=g(h),p=i(f)>v?h/f:1;return[p*r*g(t),(i(t)>b?p:-p)*(e*c-r*l*u)]}return n.invert=Fe(-t),a.invert=function(t,r){var i=I(t*t+r*r),a=-g(i),l=s(i),c=i*l,u=-r*a,h=i*e,f=I(c*c+u*u-h*h),p=o(c*h+u*f,u*h-c*f),d=(i>b?-1:1)*o(t*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Fe(t){var e=g(t),r=s(t);return function(t,n){var i=s(n),a=s(t)*i,l=g(t)*i,c=g(n);return[o(l,a*r-c*e),C(c*r+a*e)]}}function Be(){var t=0,e=(0,n.U)(Re),r=e(t),i=r.rotate,a=r.stream,o=(0,De.A)();return r.parallel=function(n){if(!arguments.length)return t*S;var i=r.rotate();return e(t=n*E).rotate(i)},r.rotate=function(e){return arguments.length?(i.call(r,[e[0],e[1]-t*S]),o.center([-e[0],-e[1]]),r):((e=i.call(r))[1]+=t*S,e)},r.stream=function(t){return(t=a(t)).sphere=function(){t.polygonStart();var e,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(t.lineStart();++i=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Ne=r(29725),je=r(20465),Ue=C(1-1/3)*S,Ve=Rt(0);function qe(t){var e=Ue*E,r=Ct(_,e)[0]-Ct(-_,e)[0],n=Ve(0,e)[1],a=Ct(0,e)[1],o=A-a,s=M/t,l=4/M,u=n+o*o*4/M;function p(p,d){var m,g=i(d);if(g>e){var y=f(t-1,h(0,c((p+_)/s)));(m=Ct(p+=_*(t-1)/t-y*s,g))[0]=m[0]*M/r-M*(t-1)/(2*t)+y*M/t,m[1]=n+4*(m[1]-a)*o/M,d<0&&(m[1]=-m[1])}else m=Ve(p,d);return m[0]*=l,m[1]/=u,m}return p.invert=function(e,p){e/=l;var d=i(p*=u);if(d>n){var m=f(t-1,h(0,c((e+_)/s)));e=(e+_*(t-1)/t-m*s)*r/M;var g=Ct.invert(e,.25*(d-n)*M/o+a);return g[0]-=_*(t-1)/t-m*s,p<0&&(g[1]=-g[1]),g}return Ve.invert(e,p)},p}function He(t,e){return[t,1&e?90-v:Ue]}function Ge(t,e){return[t,1&e?-90+v:-Ue]}function Ze(t){return[t[0]*(1-v),t[1]]}function We(){var t=4,e=(0,n.U)(qe),r=e(t),i=r.stream;return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),a=i(e),o=(r.rotate([0,0]),i(e));return r.rotate(n),a.sphere=function(){var e,r;(0,je.A)((e=180/t,r=[].concat((0,Ne.y1)(-180,180+e/2,e).map(He),(0,Ne.y1)(180,-180-e/2,-e).map(Ge)),{type:\"Polygon\",coordinates:[180===e?r.map(Ze):r]}),o)},a},r.scale(239.75)}function Ye(t){var e,r=1+t,n=C(g(1/r)),a=2*I(_/(e=_+4*n*r)),l=.5*a*(r+I(t*(2+t))),c=t*t,u=r*r;function h(h,f){var p,d,m=1-g(f);if(m&&m<2){var y,v=b-f,w=25;do{var T=g(v),k=s(v),A=n+o(T,r-k),M=1+u-2*r*k;v-=y=(v-c*n-r*T+M*A-.5*m*e)/(2*r*T*A)}while(i(y)>x&&--w>0);p=a*I(M),d=h*A/_}else p=a*(t+m),d=h*n/_;return[p*g(d),l-p*s(d)]}return h.invert=function(t,i){var s=t*t+(i-=l)*i,h=(1+u-s/(a*a))/(2*r),f=L(h),p=g(f),d=n+o(p,r-h);return[C(t/I(s))*_/d,C(1-2*(f-c*n-r*p+(1+u-2*r*h)*d)/e)]},h}function Xe(){var t=1,e=(0,n.U)(Ye),r=e(t);return r.ratio=function(r){return arguments.length?e(t=+r):t},r.scale(167.774).center([0,18.67])}var $e=.7109889596207567,Je=.0528035274542;function Ke(t,e){return e>-$e?((t=at(t,e))[1]+=Je,t):ft(t,e)}function Qe(){return(0,n.A)(Ke).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function tr(t,e){return i(e)>$e?((t=at(t,e))[1]-=e>0?Je:-Je,t):ft(t,e)}function er(){return(0,n.A)(tr).scale(152.63)}function rr(t,e,r,n){var i=I(4*_/(2*r+(1+t-e/2)*g(2*r)+(t+e)/2*g(4*r)+e/2*g(6*r))),a=I(n*g(r)*I((1+t*s(2*r)+e*s(4*r))/(1+t+e))),o=r*c(1);function l(r){return I(1+t*s(2*r)+e*s(4*r))}function c(n){var i=n*r;return(2*i+(1+t-e/2)*g(2*i)+(t+e)/2*g(4*i)+e/2*g(6*i))/r}function u(t){return l(t)*g(t)}var h=function(t,e){var n=r*Q(c,o*g(e)/r,e/_);isNaN(n)&&(n=r*m(e));var u=i*l(n);return[u*a*t/_*s(n),u/a*g(n)]};return h.invert=function(t,e){var n=Q(u,e*a/i);return[t*_/(s(n)*i*a*l(n)),C(r*c(n/r)/o)]},0===r&&(i=I(n/_),(h=function(t,e){return[t*i,g(e)/i]}).invert=function(t,e){return[t/i,C(e*i)]}),h}function nr(){var t=1,e=0,r=45*E,i=2,a=(0,n.U)(rr),o=a(t,e,r,i);return o.a=function(n){return arguments.length?a(t=+n,e,r,i):t},o.b=function(n){return arguments.length?a(t,e=+n,r,i):e},o.psiMax=function(n){return arguments.length?a(t,e,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(180.739)}function ir(t,e,r,n,i,a,o,s,l,c,u){if(u.nanEncountered)return NaN;var h,f,p,d,m,g,y,v,x,_;if(f=t(e+.25*(h=r-e)),p=t(r-.25*h),isNaN(f))u.nanEncountered=!0;else{if(!isNaN(p))return _=((g=(d=h*(n+4*f+i)/12)+(m=h*(i+4*p+a)/12))-o)/15,c>l?(u.maxDepthCount++,g+_):Math.abs(_)t?r=n:e=n,n=e+r>>1}while(n>e);var i=c[n+1]-c[n];return i&&(i=(t-c[n+1])/i),(n+1+i)/s}var f=2*h(1)/_*o/r,d=function(t,e){var r=h(i(g(e))),a=n(r)*t;return r/=f,[a,e>=0?r:-r]};return d.invert=function(t,e){var r;return i(e*=f)<1&&(r=m(e)*C(a(i(e))*o)),[t/n(i(e)),r]},d}function sr(){var t=0,e=2.5,r=1.183136,i=(0,n.U)(or),a=i(t,e,r);return a.alpha=function(n){return arguments.length?i(t=+n,e,r):t},a.k=function(n){return arguments.length?i(t,e=+n,r):e},a.gamma=function(n){return arguments.length?i(t,e,r=+n):r},a.scale(152.63)}function lr(t,e){return i(t[0]-e[0])a[o][2][0];++o);var l=t(r-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):t.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=e[+(n<0)],l=0,c=i.length;l=0;--s)r=(e=t[1][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(cr([[a-v,o-v],[a-v,i+v],[r+v,i+v],[r+v,n-v]],30));return{type:\"Polygon\",coordinates:[(0,Ne.Am)(l)]}}(r),e=r.map((function(t){return t.map((function(t){return[[t[0][0]*E,t[0][1]*E],[t[1][0]*E,t[1][1]*E],[t[2][0]*E,t[2][1]*E]]}))})),a=e.map((function(e){return e.map((function(e){var r,n=t(e[0][0],e[0][1])[0],i=t(e[2][0],e[2][1])[0],a=t(e[1][0],e[0][1])[1],o=t(e[1][0],e[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):e.map((function(t){return t.map((function(t){return[[t[0][0]*S,t[0][1]*S],[t[1][0]*S,t[1][1]*S],[t[2][0]*S,t[2][1]*S]]}))}))},null!=e&&s.lobes(e),s}Ke.invert=function(t,e){return e>-$e?at.invert(t,e-Je):ft.invert(t,e)},tr.invert=function(t,e){return i(e)>$e?at.invert(t,e+(e>0?Je:-Je)):ft.invert(t,e)};var hr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function fr(){return ur(ct,hr).scale(160.857)}var pr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function dr(){return ur(tr,pr).scale(152.63)}var mr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function gr(){return ur(at,mr).scale(169.529)}var yr=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function vr(){return ur(at,yr).scale(169.529).rotate([20,0])}var xr=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function _r(){return ur(Ke,xr,tt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var br=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function wr(){return ur(ft,br).scale(152.63).rotate([-20,0])}function Tr(t,e){return[3/M*t*I(_*_/3-e*e),e]}function kr(){return(0,n.A)(Tr).scale(158.837)}function Ar(t){function e(e,r){if(i(i(r)-b)2)return null;var a=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/t),[o(2*e,1-a-s)/t,C((l-1)/(l+1))]},e}function Mr(){var t=.5,e=(0,n.U)(Ar),r=e(t);return r.spacing=function(r){return arguments.length?e(t=+r):t},r.scale(124.75)}Tr.invert=function(t,e){return[M/3*t/I(_*_/3-e*e),e]};var Sr=_/k;function Er(t,e){return[t*(1+I(s(e)))/2,e/(s(e/2)*s(t/6))]}function Cr(){return(0,n.A)(Er).scale(97.2672)}function Lr(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Ir(){return(0,n.A)(Lr).scale(139.98)}function Pr(t,e){return[g(t)/s(e),y(e)*s(t)]}function zr(){return(0,n.A)(Pr).scale(144.049).clipAngle(89.999)}function Or(t){var e=s(t),r=y(w+t/2);function n(n,a){var o=a-t,s=i(o)=0;)f=(h=t[u])[0]+l*(i=f)-c*p,p=h[1]+l*p+c*i;return[f=l*(i=f)-c*p,p=l*p+c*i]}return r.invert=function(r,n){var l=20,c=r,u=n;do{for(var h,f=e,p=t[f],d=p[0],m=p[1],y=0,x=0;--f>=0;)y=d+c*(h=y)-u*x,x=m+c*x+u*h,d=(p=t[f])[0]+c*(h=d)-u*m,m=p[1]+c*m+u*h;var _,b,w=(y=d+c*(h=y)-u*x)*y+(x=m+c*x+u*h)*x;c-=_=((d=c*(h=d)-u*m-r)*y+(m=c*m+u*h-n)*x)/w,u-=b=(m*y-d*x)/w}while(i(_)+i(b)>v*v&&--l>0);if(l){var T=I(c*c+u*u),k=2*a(.5*T),A=g(k);return[o(c*A,T*s(k)),T?C(u*A/T):0]}},r}Er.invert=function(t,e){var r=i(t),n=i(e),a=v,o=b;nv||i(x)>v)&&--a>0);return a&&[r,n]},Pr.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?T*I((i-I(i*i-4*r))/r):1/I(n);return[C(t*a),m(e)*L(a)]},Rr.invert=function(t,e){return[t,2.5*a(l(.8*e))-.625*_]};var Nr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],jr=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Ur=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Vr=[[.9245,0],[0,0],[.01943,0]],qr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Hr(){return Xr(Nr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Gr(){return Xr(jr,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Zr(){return Xr(Ur,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Wr(){return Xr(Vr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Yr(){return Xr(qr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Xr(t,e){var r=(0,n.A)(Br(t)).rotate(e).clipAngle(90),i=(0,bt.A)(e),a=r.center;return delete r.rotate,r.center=function(t){return arguments.length?a(i(t)):i.invert(a())},r}var $r=I(6),Jr=I(7);function Kr(t,e){var r=C(7*g(e)/(3*$r));return[$r*t*(2*s(2*r/3)-1)/Jr,9*g(r/3)/Jr]}function Qr(){return(0,n.A)(Kr).scale(164.859)}function tn(t,e){for(var r,n=(1+T)*g(e),a=e,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)x&&--l>0);return[t/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},ln.invert=function(t,e){for(var r=e/2,n=0,a=1/0;n<10&&i(a)>v;++n){var o=s(e/2);e-=a=(e-y(e/2)-r)/(1-.5/(o*o))}return[2*t/(1+s(e)),e]};var un=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function hn(){return ur($(1/0),un).rotate([20,0]).scale(152.63)}function fn(t,e){var r=g(e),n=s(e),a=m(t);if(0===t||i(e)===b)return[0,e];if(0===e)return[t,0];if(i(t)===b)return[t*n,b*r];var o=_/(2*t)-2*t/_,l=2*e/_,c=(1-l*l)/(r-l),u=o*o,h=c*c,f=1+u/h,p=1+h/u,d=(o*r/c-o/2)/f,y=(h*r/u+c/2)/p,v=y*y-(h*r*r/u+c*r-1)/p;return[b*(d+I(d*d+n*n/f)*a),b*(y+I(v<0?0:v)*m(-e*o)*a)]}function pn(){return(0,n.A)(fn).scale(127.267)}fn.invert=function(t,e){var r=(t/=b)*t,n=r+(e/=b)*e,i=_*_;return[t?(n-1+I((1-n)*(1-n)+4*r))/(2*t)*b:0,Q((function(t){return n*(_*g(t)-2*t)*_+4*t*t*(e-g(t))+2*_*t-i*e}),0)]};var dn=1.0148,mn=.23185,gn=-.14499,yn=.02406,vn=dn,xn=5*mn,_n=7*gn,bn=9*yn,wn=1.790857183;function Tn(t,e){var r=e*e;return[t,e*(dn+r*r*(mn+r*(gn+yn*r)))]}function kn(){return(0,n.A)(Tn).scale(139.319)}function An(t,e){if(i(e)wn?e=wn:e<-1.790857183&&(e=-1.790857183);var r,n=e;do{var a=n*n;n-=r=(n*(dn+a*a*(mn+a*(gn+yn*a)))-e)/(vn+a*a*(xn+a*(_n+bn*a)))}while(i(r)>v);return[t,n]},An.invert=function(t,e){if(i(e)v&&--o>0);return l=y(a),[(i(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=(u=n.map(r.project),h=n.map(e.project),f=Ln(u[1],u[0]),p=Ln(h[1],h[0]),d=function(t,e){return o(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(f,p),m=In(f)/In(p),Cn([1,0,u[0][0],0,1,u[0][1]],Cn([m,0,0,0,m,0],Cn([s(d),g(d),0,-g(d),s(d),0],[1,0,-h[0][0],0,1,-h[0][1]]))));e.transform=r.transform?Cn(r.transform,i):i;for(var a=r.edges,l=0,c=a.length;l0?[-e[0],0]:[180-e[0],180])};var e=Bn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),Pn(e[0],(function(t,r){return e[t<-_/2?r<0?6:4:t<0?r<0?2:0:t<_/2?r<0?3:1:r<0?7:5]})).angle(-30).scale(121.906).center([0,48.5904])}function qn(t){t=t||function(t){var e=6===t.length?(0,_t.A)({type:\"MultiPoint\",coordinates:t}):t[0];return(0,Rn.A)().scale(1).translate([0,0]).rotate([-e[0],-e[1]])};var e=Bn.map((function(t){for(var e,r=t.map(Zn),n=r.length,i=r[n-1],a=[],o=0;on^p>n&&r<(f-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),Qn=[],t.length?t.length>1?{type:\"MultiPolygon\",coordinates:t}:{type:\"Polygon\",coordinates:t[0]}:null}};function ni(t){var e=t(b,0)[0]-t(-b,0)[0];function r(r,n){var a=i(r)0?r-_:r+_,n),s=(o[0]-o[1])*T,l=(o[0]+o[1])*T;if(a)return[s,l];var c=e*T,u=s>0^l>0?-1:1;return[u*s-m(l)*c,u*l-m(s)*c]}return t.invert&&(r.invert=function(r,n){var a=(r+n)*T,o=(n-r)*T,s=i(a)<.5*e&&i(o)<.5*e;if(!s){var l=e*T,c=a>0^o>0?-1:1,u=-c*r+(o>0?1:-1)*l,h=-c*n+(a>0?1:-1)*l;a=(-u-h)*T,o=(u-h)*T}var f=t.invert(a,o);return s||(f[0]+=a>0?_:-_),f}),(0,n.A)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ii(){return ni(Ce).scale(176.423)}function ai(){return ni(ze).scale(111.48)}function oi(t,e){if(!(0<=(e=+e)&&e<=20))throw new Error(\"invalid digits\");function r(t){var r=t.length,n=2,i=new Array(r);for(i[0]=+t[0].toFixed(e),i[1]=+t[1].toFixed(e);n2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case\"GeometryCollection\":e={type:\"GeometryCollection\",geometries:t.geometries.map(o)};break;case\"Point\":e={type:\"Point\",coordinates:r(t.coordinates)};break;case\"MultiPoint\":e={type:t.type,coordinates:n(t.coordinates)};break;case\"LineString\":e={type:t.type,coordinates:i(t.coordinates)};break;case\"MultiLineString\":case\"Polygon\":e={type:t.type,coordinates:a(t.coordinates)};break;case\"MultiPolygon\":e={type:\"MultiPolygon\",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:\"Feature\",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case\"Feature\":return s(t);case\"FeatureCollection\":var l={type:\"FeatureCollection\",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t}function si(t){var e=g(t);function r(r,n){var i=e?y(r*e/2)/e:r/2;if(!n)return[2*i,-t];var o=2*a(i*g(n)),l=1/y(n);return[g(o)*l,n+(1-s(o))*l-t]}return r.invert=function(r,n){if(i(n+=t)v&&--u>0);var d=r*(h=y(c)),m=y(i(n)0?b:-b)*(h+o*(d-l)/2+o*o*(d-2*h+l)/2)]}function hi(){return(0,n.A)(ui).scale(152.63)}function fi(t,e){var r=function(t){function e(e,r){var n=s(r),i=(t-1)/(t-n*s(e));return[i*n*g(e),i*g(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=I(n),a=(t-I(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[o(e*a,i*I(1-a*a)),i?C(r*a/i):0]},e}(t);if(!e)return r;var n=s(e),i=g(e);function a(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},a}function pi(){var t=2,e=0,r=(0,n.U)(fi),i=r(t,e);return i.distance=function(n){return arguments.length?r(t=+n,e):t},i.tilt=function(n){return arguments.length?r(t,e=n*E):e*S},i.scale(432.147).clipAngle(L(1/t)*S-1e-6)}ci.forEach((function(t){t[1]*=1.0144})),ui.invert=function(t,e){var r=e/b,n=90*r,a=f(18,i(n/5)),o=h(0,c(a));do{var s=ci[o][1],l=ci[o+1][1],u=ci[f(19,o+2)][1],p=u-s,d=u-2*l+s,m=2*(i(r)-l)/p,g=d/p,y=m*(1-g*m*(1-2*g*m));if(y>=0||1===o){n=(e>=0?5:-5)*(y+a);var v,_=50;do{y=(a=f(18,i(n)/5))-(o=c(a)),s=ci[o][1],l=ci[o+1][1],u=ci[f(19,o+2)][1],n-=(v=(e>=0?b:-b)*(l+y*(u-s)/2+y*y*(u-2*l+s)/2)-e)*S}while(i(v)>x&&--_>0);break}}while(--o>=0);var w=ci[o][0],T=ci[o+1][0],k=ci[f(19,o+2)][0];return[t/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),n*E]};var di=1e-4,mi=1e4,gi=-180,yi=gi+di,vi=180,xi=vi-di,_i=-90,bi=_i+di,wi=90,Ti=wi-di;function ki(t){return t.length>0}function Ai(t){return t===_i||t===wi?[0,t]:[gi,(e=t,Math.floor(e*mi)/mi)];var e}function Mi(t){var e=t[0],r=t[1],n=!1;return e<=yi?(e=gi,n=!0):e>=xi&&(e=vi,n=!0),r<=bi?(r=_i,n=!0):r>=Ti&&(r=wi,n=!0),n?[e,r]:t}function Si(t){return t.map(Mi)}function Ei(t,e,r){for(var n=0,i=t.length;n=xi||u<=bi||u>=Ti){a[o]=Mi(l);for(var h=o+1;hyi&&pbi&&d=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(h-1)}),a[0]=Ai(a[0][1]),o=-1,s=a.length}}}}function Ci(t){var e,r,n,i,a,o,s=t.length,l={},c={};for(e=0;e0?_-l:l)*S],u=(0,n.A)(t(s)).rotate(c),h=(0,bt.A)(c),f=u.center;return delete u.rotate,u.center=function(t){return arguments.length?f(h(t)):h.invert(f())},u.clipAngle(90)}function Ri(t){var e=s(t);function r(t,r){var n=(0,Rn.T)(t,r);return n[0]*=e,n}return r.invert=function(t,r){return Rn.T.invert(t/e,r)},r}function Fi(){return Bi([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Bi(t,e){return Di(Ri,t,e)}function Ni(t){if(!(t*=2))return Z.j;var e=-t/2,r=-e,n=t*t,i=y(r),a=.5/g(r);function l(i,a){var o=L(s(a)*s(i-e)),l=L(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*t),(a<0?-1:1)*I(4*n*l-(n-o+l)*(n-o+l))/(2*t)]}return l.invert=function(t,n){var l,c,u=n*n,h=s(I(u+(l=t+e)*l)),f=s(I(u+(l=t+r)*l));return[o(c=h-f,l=(h+f)*i),(n<0?-1:1)*L(I(l*l+c*c)*a)]},l}function ji(){return Ui([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Ui(t,e){return Di(Ni,t,e)}function Vi(t,e){if(i(e)v&&--l>0);return[m(t)*(I(a*a+4)+a)*_/4,b*s]};var Qi=4*_+3*I(3),ta=2*I(2*_*I(3)/Qi),ea=it(ta*I(3)/_,ta,Qi/6);function ra(){return(0,n.A)(ea).scale(176.84)}function na(t,e){return[t*I(1-3*e*e/(_*_)),e]}function ia(){return(0,n.A)(na).scale(152.63)}function aa(t,e){var r=s(e),n=s(t)*r,i=1-n,a=s(t=o(g(t)*r,-g(e))),l=g(t);return[l*(r=I(1-n*n))-a*i,-a*r-l*i]}function oa(){return(0,n.A)(aa).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function sa(t,e){var r=R(t,e);return[(r[0]+t/b)/2,(r[1]+e)/2]}function la(){return(0,n.A)(sa).scale(158.837)}na.invert=function(t,e){return[t/I(1-3*e*e/(_*_)),e]},aa.invert=function(t,e){var r=(t*t+e*e)/-2,n=I(-r*(2+r)),i=e*r+t*n,a=t*r-e*n,s=I(a*a+i*i);return[o(n*i,s*(1+r)),s?-C(n*a/s):0]},sa.invert=function(t,e){var r=t,n=e,a=25;do{var o,l=s(n),c=g(n),u=g(2*n),h=c*c,f=l*l,p=g(r),d=s(r/2),m=g(r/2),y=m*m,x=1-f*d*d,_=x?L(l*d)*I(o=1/x):o=0,w=.5*(2*_*l*m+r/b)-t,T=.5*(_*c+n)-e,k=.5*o*(f*y+_*l*d*h)+.5/b,A=o*(p*u/4-_*c*m),M=.125*o*(u*m-_*c*f*p),S=.5*o*(h*d+_*y*l)+.5,E=A*M-S*k,C=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=C,n-=P}while((i(C)>v||i(P)>v)&&--a>0);return[r,n]}},49353:function(t,e,r){\"use strict\";function n(){return new i}function i(){this.reset()}r.d(e,{A:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){o(a,t,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}},43976:function(t,e,r){\"use strict\";r.d(e,{Ay:function(){return x},B0:function(){return f},Y7:function(){return d}});var n,i,a,o,s,l=r(49353),c=r(61323),u=r(53341),h=r(20465),f=(0,l.A)(),p=(0,l.A)(),d={point:u.A,lineStart:u.A,lineEnd:u.A,polygonStart:function(){f.reset(),d.lineStart=m,d.lineEnd=g},polygonEnd:function(){var t=+f;p.add(t<0?c.FA+t:t),this.lineStart=this.lineEnd=this.point=u.A},sphere:function(){p.add(c.FA)}};function m(){d.point=y}function g(){v(n,i)}function y(t,e){d.point=v,n=t,i=e,t*=c.F2,e*=c.F2,a=t,o=(0,c.gn)(e=e/2+c.gz),s=(0,c.F8)(e)}function v(t,e){t*=c.F2,e=(e*=c.F2)/2+c.gz;var r=t-a,n=r>=0?1:-1,i=n*r,l=(0,c.gn)(e),u=(0,c.F8)(e),h=s*u,p=o*l+h*(0,c.gn)(i),d=h*n*(0,c.F8)(i);f.add((0,c.FP)(d,p)),a=t,o=l,s=u}function x(t){return p.reset(),(0,h.A)(t,d),2*p}},43212:function(t,e,r){\"use strict\";r.d(e,{A:function(){return L}});var n,i,a,o,s,l,c,u,h,f,p=r(49353),d=r(43976),m=r(20375),g=r(61323),y=r(20465),v=(0,p.A)(),x={point:_,lineStart:w,lineEnd:T,polygonStart:function(){x.point=k,x.lineStart=A,x.lineEnd=M,v.reset(),d.Y7.polygonStart()},polygonEnd:function(){d.Y7.polygonEnd(),x.point=_,x.lineStart=w,x.lineEnd=T,d.B0<0?(n=-(a=180),i=-(o=90)):v>g.Ni?o=90:v<-g.Ni&&(i=-90),f[0]=n,f[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function _(t,e){h.push(f=[n=t,a=t]),eo&&(o=e)}function b(t,e){var r=(0,m.jf)([t*g.F2,e*g.F2]);if(u){var l=(0,m.r8)(u,r),c=[l[1],-l[0],0],p=(0,m.r8)(c,l);(0,m.Cx)(p),p=(0,m.EV)(p);var d,y=t-s,v=y>0?1:-1,x=p[0]*g.uj*v,_=(0,g.tn)(y)>180;_^(v*so&&(o=d):_^(v*s<(x=(x+360)%360-180)&&xo&&(o=e)),_?tS(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t):a>=n?(ta&&(a=t)):t>s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t)}else h.push(f=[n=t,a=t]);eo&&(o=e),u=r,s=t}function w(){x.point=b}function T(){f[0]=n,f[1]=a,x.point=_,u=null}function k(t,e){if(u){var r=t-s;v.add((0,g.tn)(r)>180?r+(r>0?360:-360):r)}else l=t,c=e;d.Y7.point(t,e),b(t,e)}function A(){d.Y7.lineStart()}function M(){k(l,c),d.Y7.lineEnd(),(0,g.tn)(v)>g.Ni&&(n=-(a=180)),f[0]=n,f[1]=a,u=null}function S(t,e){return(e-=t)<0?e+360:e}function E(t,e){return t[0]-e[0]}function C(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eS(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):c.push(s=l);for(u=-1/0,e=0,s=c[r=c.length-1];e<=r;s=l,++e)l=c[e],(p=S(s[1],l[0]))>u&&(u=p,n=l[0],a=s[1])}return h=f=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},20375:function(t,e,r){\"use strict\";r.d(e,{Cx:function(){return u},EV:function(){return i},W8:function(){return o},ep:function(){return l},jf:function(){return a},ly:function(){return c},r8:function(){return s}});var n=r(61323);function i(t){return[(0,n.FP)(t[1],t[0]),(0,n.qR)(t[2])]}function a(t){var e=t[0],r=t[1],i=(0,n.gn)(r);return[i*(0,n.gn)(e),i*(0,n.F8)(e),(0,n.F8)(r)]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(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 l(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function c(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function u(t){var e=(0,n.RZ)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}},30021:function(t,e,r){\"use strict\";r.d(e,{A:function(){return z}});var n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x=r(61323),_=r(53341),b=r(20465),w={sphere:_.A,point:T,lineStart:A,lineEnd:E,polygonStart:function(){w.lineStart=C,w.lineEnd=L},polygonEnd:function(){w.lineStart=A,w.lineEnd=E}};function T(t,e){t*=x.F2,e*=x.F2;var r=(0,x.gn)(e);k(r*(0,x.gn)(t),r*(0,x.F8)(t),(0,x.F8)(e))}function k(t,e,r){++n,a+=(t-a)/n,o+=(e-o)/n,s+=(r-s)/n}function A(){w.point=M}function M(t,e){t*=x.F2,e*=x.F2;var r=(0,x.gn)(e);g=r*(0,x.gn)(t),y=r*(0,x.F8)(t),v=(0,x.F8)(e),w.point=S,k(g,y,v)}function S(t,e){t*=x.F2,e*=x.F2;var r=(0,x.gn)(e),n=r*(0,x.gn)(t),a=r*(0,x.F8)(t),o=(0,x.F8)(e),s=(0,x.FP)((0,x.RZ)((s=y*o-v*a)*s+(s=v*n-g*o)*s+(s=g*a-y*n)*s),g*n+y*a+v*o);i+=s,l+=s*(g+(g=n)),c+=s*(y+(y=a)),u+=s*(v+(v=o)),k(g,y,v)}function E(){w.point=T}function C(){w.point=I}function L(){P(d,m),w.point=T}function I(t,e){d=t,m=e,t*=x.F2,e*=x.F2,w.point=P;var r=(0,x.gn)(e);g=r*(0,x.gn)(t),y=r*(0,x.F8)(t),v=(0,x.F8)(e),k(g,y,v)}function P(t,e){t*=x.F2,e*=x.F2;var r=(0,x.gn)(e),n=r*(0,x.gn)(t),a=r*(0,x.F8)(t),o=(0,x.F8)(e),s=y*o-v*a,d=v*n-g*o,m=g*a-y*n,_=(0,x.RZ)(s*s+d*d+m*m),b=(0,x.qR)(_),w=_&&-b/_;h+=w*s,f+=w*d,p+=w*m,i+=b,l+=b*(g+(g=n)),c+=b*(y+(y=a)),u+=b*(v+(v=o)),k(g,y,v)}function z(t){n=i=a=o=s=l=c=u=h=f=p=0,(0,b.A)(t,w);var e=h,r=f,d=p,m=e*e+r*r+d*d;return m0?os)&&(o+=i*a.FA));for(var f,p=o;i>0?p>s:p0?i.pi:-i.pi,c=(0,i.tn)(o-r);(0,i.tn)(c-i.pi)0?i.TW:-i.TW),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(o,n),e=0):a!==l&&c>=i.pi&&((0,i.tn)(r-a)i.Ni?(0,i.rY)(((0,i.F8)(e)*(o=(0,i.gn)(n))*(0,i.F8)(r)-(0,i.F8)(n)*(a=(0,i.gn)(e))*(0,i.F8)(t))/(a*o*s)):(e+n)/2}(r,n,o,s),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=o,n=s),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*i.TW,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.tn)(t[0]-e[0])>i.Ni){var o=t[0]1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}},47402:function(t,e,r){\"use strict\";r.d(e,{A:function(){return l}});var n=r(20375),i=r(39127),a=r(61323),o=r(28759),s=r(13720);function l(t){var e=(0,a.gn)(t),r=6*a.F2,l=e>0,c=(0,a.tn)(e)>a.Ni;function u(t,r){return(0,a.gn)(t)*(0,a.gn)(r)>e}function h(t,r,i){var o=(0,n.jf)(t),s=(0,n.jf)(r),l=[1,0,0],c=(0,n.r8)(o,s),u=(0,n.W8)(c,c),h=c[0],f=u-h*h;if(!f)return!i&&t;var p=e*u/f,d=-e*h/f,m=(0,n.r8)(l,c),g=(0,n.ly)(l,p),y=(0,n.ly)(c,d);(0,n.ep)(g,y);var v=m,x=(0,n.W8)(g,v),_=(0,n.W8)(v,v),b=x*x-_*((0,n.W8)(g,g)-1);if(!(b<0)){var w=(0,a.RZ)(b),T=(0,n.ly)(v,(-x-w)/_);if((0,n.ep)(T,g),T=(0,n.EV)(T),!i)return T;var k,A=t[0],M=r[0],S=t[1],E=r[1];M0^T[1]<((0,a.tn)(T[0]-A)a.pi^(A<=T[0]&&T[0]<=M)){var I=(0,n.ly)(v,(-x+w)/_);return(0,n.ep)(I,g),[T,(0,n.EV)(I)]}}}function f(e,r){var n=l?t:a.pi-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.A)(u,(function(t){var e,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var m,g=[p,d],y=u(p,d),v=l?y?0:f(p,d):y?f(p+(p<0?a.pi:-a.pi),d):0;if(!e&&(i=n=y)&&t.lineStart(),y!==n&&(!(m=h(e,g))||(0,o.A)(e,m)||(0,o.A)(g,m))&&(g[2]=1),y!==n)s=0,y?(t.lineStart(),m=h(g,e),t.point(m[0],m[1])):(m=h(e,g),t.point(m[0],m[1],2),t.lineEnd()),e=m;else if(c&&e&&l^y){var x;v&r||!(x=h(g,e,!0))||(s=0,l?(t.lineStart(),t.point(x[0][0],x[0][1]),t.point(x[1][0],x[1][1]),t.lineEnd()):(t.point(x[1][0],x[1][1]),t.lineEnd(),t.lineStart(),t.point(x[0][0],x[0][1],3)))}!y||e&&(0,o.A)(e,g)||t.point(g[0],g[1]),e=g,n=y,r=v},lineEnd:function(){n&&t.lineEnd(),e=null},clean:function(){return s|(i&&n)<<1}}}),(function(e,n,a,o){(0,i.J)(o,t,r,a,e,n)}),l?[0,-t]:[-a.pi,t-a.pi])}},13720:function(t,e,r){\"use strict\";r.d(e,{A:function(){return l}});var n=r(39608),i=r(19119),a=r(61323),o=r(2274),s=r(29725);function l(t,e,r,a){return function(l){var h,f,p,d=e(l),m=(0,n.A)(),g=e(m),y=!1,v={point:x,lineStart:b,lineEnd:w,polygonStart:function(){v.point=T,v.lineStart=k,v.lineEnd=A,f=[],h=[]},polygonEnd:function(){v.point=x,v.lineStart=b,v.lineEnd=w,f=(0,s.Am)(f);var t=(0,o.A)(h,a);f.length?(y||(l.polygonStart(),y=!0),(0,i.A)(f,u,t,r,l)):t&&(y||(l.polygonStart(),y=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),y&&(l.polygonEnd(),y=!1),f=h=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(e,r){t(e,r)&&l.point(e,r)}function _(t,e){d.point(t,e)}function b(){v.point=_,d.lineStart()}function w(){v.point=x,d.lineEnd()}function T(t,e){p.push([t,e]),g.point(t,e)}function k(){g.lineStart(),p=[]}function A(){T(p[0][0],p[0][1]),g.lineEnd();var t,e,r,n,i=g.clean(),a=m.result(),o=a.length;if(p.pop(),h.push(p),p=null,o)if(1&i){if((e=(r=a[0]).length-1)>0){for(y||(l.polygonStart(),y=!0),l.lineStart(),t=0;t1&&2&i&&a.push(a.pop().concat(a.shift())),f.push(a.filter(c))}return v}}function c(t){return t.length>1}function u(t,e){return((t=t.x)[0]<0?t[1]-a.TW-a.Ni:a.TW-t[1])-((e=e.x)[0]<0?e[1]-a.TW-a.Ni:a.TW-e[1])}},21503:function(t,e,r){\"use strict\";r.d(e,{A:function(){return c}});var n=r(61323),i=r(39608),a=r(19119),o=r(29725),s=1e9,l=-s;function c(t,e,r,c){function u(n,i){return t<=n&&n<=r&&e<=i&&i<=c}function h(n,i,a,o){var s=0,l=0;if(null==n||(s=f(n,a))!==(l=f(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?t:r,s>1?c:e)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function f(i,a){return(0,n.tn)(i[0]-t)0?0:3:(0,n.tn)(i[0]-r)0?2:1:(0,n.tn)(i[1]-e)0?1:0:a>0?3:2}function p(t,e){return d(t.x,e.x)}function d(t,e){var r=f(t,1),n=f(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]}return function(n){var f,d,m,g,y,v,x,_,b,w,T,k=n,A=(0,i.A)(),M={point:S,lineStart:function(){M.point=E,d&&d.push(m=[]),w=!0,b=!1,x=_=NaN},lineEnd:function(){f&&(E(g,y),v&&b&&A.rejoin(),f.push(A.result())),M.point=S,b&&k.lineEnd()},polygonStart:function(){k=A,f=[],d=[],T=!0},polygonEnd:function(){var e=function(){for(var e=0,r=0,n=d.length;rc&&(h-i)*(c-a)>(f-a)*(t-i)&&++e:f<=c&&(h-i)*(c-a)<(f-a)*(t-i)&&--e;return e}(),r=T&&e,i=(f=(0,o.Am)(f)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),h(null,null,1,n),n.lineEnd()),i&&(0,a.A)(f,p,e,h,n),n.polygonEnd()),k=n,f=d=m=null}};function S(t,e){u(t,e)&&k.point(t,e)}function E(n,i){var a=u(n,i);if(d&&m.push([n,i]),w)g=n,y=i,v=a,w=!1,a&&(k.lineStart(),k.point(n,i));else if(a&&b)k.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),_=Math.max(l,Math.min(s,_))],h=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],c=0,u=1,h=e[0]-s,f=e[1]-l;if(o=r-s,h||!(o>0)){if(o/=h,h<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=i-s,h||!(o<0)){if(o/=h,h<0){if(o>u)return;o>c&&(c=o)}else if(h>0){if(o0)){if(o/=f,f<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=a-l,f||!(o<0)){if(o/=f,f<0){if(o>u)return;o>c&&(c=o)}else if(f>0){if(o0&&(t[0]=s+c*h,t[1]=l+c*f),u<1&&(e[0]=s+u*h,e[1]=l+u*f),!0}}}}}(o,h,t,e,r,c)?a&&(k.lineStart(),k.point(n,i),T=!1):(b||(k.lineStart(),k.point(o[0],o[1])),k.point(h[0],h[1]),a||k.lineEnd(),T=!1)}x=n,_=i,b=a}return M}}},19119:function(t,e,r){\"use strict\";r.d(e,{A:function(){return o}});var n=r(28759),i=r(61323);function a(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 o(t,e,r,o,l){var c,u,h=[],f=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,o=t[0],s=t[e];if((0,n.A)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),c=0;c=0;--c)l.point((d=p[c])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,y=!y}while(!g.v);l.lineEnd()}}}function s(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n0&&(i=S(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))g.Ni})).map(l)).concat((0,F.y1)((0,g.mk)(a/p)*p,i,p).filter((function(t){return(0,g.tn)(t%m)>g.Ni})).map(c))}return v.lines=function(){return x().map((function(t){return{type:\"LineString\",coordinates:t}}))},v.outline=function(){return{type:\"Polygon\",coordinates:[u(n).concat(h(o).slice(1),u(r).reverse().slice(1),h(s).reverse().slice(1))]}},v.extent=function(t){return arguments.length?v.extentMajor(t).extentMinor(t):v.extentMinor()},v.extentMajor=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],s=+t[0][1],o=+t[1][1],n>r&&(t=n,n=r,r=t),s>o&&(t=s,s=o,o=t),v.precision(y)):[[n,s],[r,o]]},v.extentMinor=function(r){return arguments.length?(e=+r[0][0],t=+r[1][0],a=+r[0][1],i=+r[1][1],e>t&&(r=e,e=t,t=r),a>i&&(r=a,a=i,i=r),v.precision(y)):[[e,a],[t,i]]},v.step=function(t){return arguments.length?v.stepMajor(t).stepMinor(t):v.stepMinor()},v.stepMajor=function(t){return arguments.length?(d=+t[0],m=+t[1],v):[d,m]},v.stepMinor=function(t){return arguments.length?(f=+t[0],p=+t[1],v):[f,p]},v.precision=function(f){return arguments.length?(y=+f,l=B(a,i,90),c=N(e,t,y),u=B(s,o,90),h=N(n,r,y),v):y},v.extentMajor([[-180,-90+g.Ni],[180,90-g.Ni]]).extentMinor([[-180,-80-g.Ni],[180,80+g.Ni]])}function U(){return j()()}var V,q,H,G,Z=r(81758),W=r(26827),Y=(0,m.A)(),X=(0,m.A)(),$={point:y.A,lineStart:y.A,lineEnd:y.A,polygonStart:function(){$.lineStart=J,$.lineEnd=tt},polygonEnd:function(){$.lineStart=$.lineEnd=$.point=y.A,Y.add((0,g.tn)(X)),X.reset()},result:function(){var t=Y/2;return Y.reset(),t}};function J(){$.point=K}function K(t,e){$.point=Q,V=H=t,q=G=e}function Q(t,e){X.add(G*t-H*e),H=t,G=e}function tt(){Q(V,q)}var et,rt,nt,it,at=$,ot=r(33028),st=0,lt=0,ct=0,ut=0,ht=0,ft=0,pt=0,dt=0,mt=0,gt={point:yt,lineStart:vt,lineEnd:bt,polygonStart:function(){gt.lineStart=wt,gt.lineEnd=Tt},polygonEnd:function(){gt.point=yt,gt.lineStart=vt,gt.lineEnd=bt},result:function(){var t=mt?[pt/mt,dt/mt]:ft?[ut/ft,ht/ft]:ct?[st/ct,lt/ct]:[NaN,NaN];return st=lt=ct=ut=ht=ft=pt=dt=mt=0,t}};function yt(t,e){st+=t,lt+=e,++ct}function vt(){gt.point=xt}function xt(t,e){gt.point=_t,yt(nt=t,it=e)}function _t(t,e){var r=t-nt,n=e-it,i=(0,g.RZ)(r*r+n*n);ut+=i*(nt+t)/2,ht+=i*(it+e)/2,ft+=i,yt(nt=t,it=e)}function bt(){gt.point=yt}function wt(){gt.point=kt}function Tt(){At(et,rt)}function kt(t,e){gt.point=At,yt(et=nt=t,rt=it=e)}function At(t,e){var r=t-nt,n=e-it,i=(0,g.RZ)(r*r+n*n);ut+=i*(nt+t)/2,ht+=i*(it+e)/2,ft+=i,pt+=(i=it*t-nt*e)*(nt+t),dt+=i*(it+e),mt+=3*i,yt(nt=t,it=e)}var Mt=gt;function St(t){this._context=t}St.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,g.FA)}},result:y.A};var Et,Ct,Lt,It,Pt,zt=(0,m.A)(),Ot={point:y.A,lineStart:function(){Ot.point=Dt},lineEnd:function(){Et&&Rt(Ct,Lt),Ot.point=y.A},polygonStart:function(){Et=!0},polygonEnd:function(){Et=null},result:function(){var t=+zt;return zt.reset(),t}};function Dt(t,e){Ot.point=Rt,Ct=It=t,Lt=Pt=e}function Rt(t,e){It-=t,Pt-=e,zt.add((0,g.RZ)(It*It+Pt*Pt)),It=t,Pt=e}var Ft=Ot;function Bt(){this._string=[]}function Nt(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}function jt(t,e){var r,n,i=4.5;function a(t){return t&&(\"function\"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,v.A)(t,r(n))),n.result()}return a.area=function(t){return(0,v.A)(t,r(at)),at.result()},a.measure=function(t){return(0,v.A)(t,r(Ft)),Ft.result()},a.bounds=function(t){return(0,v.A)(t,r(ot.A)),ot.A.result()},a.centroid=function(t){return(0,v.A)(t,r(Mt)),Mt.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,W.A):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Bt):new St(e=t),\"function\"!=typeof i&&n.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i=\"function\"==typeof t?t:(n.pointRadius(+t),+t),a):i},a.projection(t).context(e)}Bt.prototype={_radius:4.5,_circle:Nt(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push(\"Z\"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push(\"M\",t,\",\",e),this._point=1;break;case 1:this._string.push(\"L\",t,\",\",e);break;default:null==this._circle&&(this._circle=Nt(this._radius)),this._string.push(\"M\",t,\",\",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join(\"\");return this._string=[],t}return null}};var Ut=r(94684);function Vt(t){var e=0,r=g.pi/3,n=(0,Ut.U)(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*g.F2,r=t[1]*g.F2):[e*g.uj,r*g.uj]},i}function qt(t,e){var r=(0,g.F8)(t),n=(r+(0,g.F8)(e))/2;if((0,g.tn)(n)=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(t)},u.stream=function(r){return t&&e===r?t:(n=[o.stream(e=r),s.stream(r),l.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r0?e<-g.TW+g.Ni&&(e=-g.TW+g.Ni):e>g.TW-g.Ni&&(e=g.TW-g.Ni);var r=i/(0,g.n7)(te(e),n);return[r*(0,g.F8)(n*t),i-r*(0,g.gn)(n*t)]}return a.invert=function(t,e){var r=i-e,a=(0,g._S)(n)*(0,g.RZ)(t*t+r*r),o=(0,g.FP)(t,(0,g.tn)(r))*(0,g._S)(r);return r*n<0&&(o-=g.pi*(0,g._S)(t)*(0,g._S)(r)),[o/n,2*(0,g.rY)((0,g.n7)(i/a,1/n))-g.TW]},a}function re(){return Vt(ee).scale(109.5).parallels([30,30])}Jt.invert=function(t,e){return[t,2*(0,g.rY)((0,g.oN)(e))-g.TW]};var ne=r(18139);function ie(t,e){var r=(0,g.gn)(t),n=t===e?(0,g.F8)(t):(r-(0,g.gn)(e))/(e-t),i=r/n+t;if((0,g.tn)(n)2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)}xe.invert=(0,ve.I)((function(t){return 2*(0,g.rY)(t)})),be.invert=function(t,e){return[-e,2*(0,g.rY)((0,g.oN)(t))-g.TW]}},81758:function(t,e,r){\"use strict\";r.d(e,{A:function(){return i}});var n=r(61323);function i(t,e){var r=t[0]*n.F2,i=t[1]*n.F2,a=e[0]*n.F2,o=e[1]*n.F2,s=(0,n.gn)(i),l=(0,n.F8)(i),c=(0,n.gn)(o),u=(0,n.F8)(o),h=s*(0,n.gn)(r),f=s*(0,n.F8)(r),p=c*(0,n.gn)(a),d=c*(0,n.F8)(a),m=2*(0,n.qR)((0,n.RZ)((0,n.bo)(o-i)+s*c*(0,n.bo)(a-r))),g=(0,n.F8)(m),y=m?function(t){var e=(0,n.F8)(t*=m)/g,r=(0,n.F8)(m-t)/g,i=r*h+e*p,a=r*f+e*d,o=r*l+e*u;return[(0,n.FP)(a,i)*n.uj,(0,n.FP)(o,(0,n.RZ)(i*i+a*a))*n.uj]}:function(){return[r*n.uj,i*n.uj]};return y.distance=m,y}},61323:function(t,e,r){\"use strict\";r.d(e,{$t:function(){return i},F2:function(){return u},F8:function(){return x},FA:function(){return l},FP:function(){return p},HQ:function(){return T},Ml:function(){return w},Ni:function(){return n},RZ:function(){return b},Rm:function(){return y},TW:function(){return o},_S:function(){return _},bo:function(){return A},gn:function(){return d},gz:function(){return s},mk:function(){return m},n7:function(){return v},oN:function(){return g},pi:function(){return a},qR:function(){return k},rY:function(){return f},tn:function(){return h},uj:function(){return c}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,c=180/a,u=a/180,h=Math.abs,f=Math.atan,p=Math.atan2,d=Math.cos,m=Math.ceil,g=Math.exp,y=(Math.floor,Math.log),v=Math.pow,x=Math.sin,_=Math.sign||function(t){return t>0?1:t<0?-1:0},b=Math.sqrt,w=Math.tan;function T(t){return t>1?0:t<-1?a:Math.acos(t)}function k(t){return t>1?o:t<-1?-o:Math.asin(t)}function A(t){return(t=x(t/2))*t}},53341:function(t,e,r){\"use strict\";function n(){}r.d(e,{A:function(){return n}})},33028:function(t,e,r){\"use strict\";var n=r(53341),i=1/0,a=i,o=-i,s=o,l={point:function(t,e){to&&(o=t),es&&(s=e)},lineStart:n.A,lineEnd:n.A,polygonStart:n.A,polygonEnd:n.A,result:function(){var t=[[i,a],[o,s]];return o=s=-(a=i=1/0),t}};e.A=l},28759:function(t,e,r){\"use strict\";r.d(e,{A:function(){return i}});var n=r(61323);function i(t,e){return(0,n.tn)(t[0]-e[0])=0?1:-1,C=E*S,L=C>a.pi,I=x*A;if(o.add((0,a.FP)(I*E*(0,a.F8)(C),_*M+I*(0,a.gn)(C))),u+=L?S+E*a.FA:S,L^y>=r^T>=r){var P=(0,i.r8)((0,i.jf)(g),(0,i.jf)(w));(0,i.Cx)(P);var z=(0,i.r8)(c,P);(0,i.Cx)(z);var O=(L^S>=0?-1:1)*(0,a.qR)(z[2]);(n>O||n===O&&(P[0]||P[1]))&&(h+=L^S>=0?1:-1)}}return(u<-a.Ni||u4*e&&y--){var w=o+p,T=s+m,k=c+g,A=(0,l.RZ)(w*w+T*T+k*k),M=(0,l.qR)(k/=A),S=(0,l.tn)((0,l.tn)(k)-1)e||(0,l.tn)((x*I+_*P)/b-.5)>.3||o*p+s*m+c*g2?t[2]%360*l.F2:0,V()):[C*l.uj,L*l.uj,I*l.uj]},j.angle=function(t){return arguments.length?(P=t%360*l.F2,V()):P*l.uj},j.reflectX=function(t){return arguments.length?(z=t?-1:1,V()):z<0},j.reflectY=function(t){return arguments.length?(O=t?-1:1,V()):O<0},j.precision=function(t){return arguments.length?(x=m(_,N=t*t),q()):(0,l.RZ)(N)},j.fitExtent=function(t,e){return(0,h.sp)(j,t,e)},j.fitSize=function(t,e){return(0,h.Hv)(j,t,e)},j.fitWidth=function(t,e){return(0,h.G0)(j,t,e)},j.fitHeight=function(t,e){return(0,h.FL)(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&U,V()}}},57949:function(t,e,r){\"use strict\";r.d(e,{A:function(){return o},P:function(){return a}});var n=r(94684),i=r(61323);function a(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.A)(a).scale(175.295)}a.invert=function(t,e){var r,n=e,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.tn)(r)>i.Ni&&--a>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},53253:function(t,e,r){\"use strict\";r.d(e,{A:function(){return s},x:function(){return o}});var n=r(61323),i=r(57738),a=r(94684);function o(t,e){return[(0,n.gn)(e)*(0,n.F8)(t),(0,n.F8)(e)]}function s(){return(0,a.A)(o).scale(249.5).clipAngle(90+n.Ni)}o.invert=(0,i.I)(n.qR)},30915:function(t,e,r){\"use strict\";r.d(e,{A:function(){return u},y:function(){return o}});var n=r(19057),i=r(61323);function a(t,e){return[(0,i.tn)(t)>i.pi?t+Math.round(-t/i.FA)*i.FA:t,e]}function o(t,e,r){return(t%=i.FA)?e||r?(0,n.A)(l(t),c(e,r)):l(t):e||r?c(e,r):a}function s(t){return function(e,r){return[(e+=t)>i.pi?e-i.FA:e<-i.pi?e+i.FA:e,r]}}function l(t){var e=s(t);return e.invert=s(-t),e}function c(t,e){var r=(0,i.gn)(t),n=(0,i.F8)(t),a=(0,i.gn)(e),o=(0,i.F8)(e);function s(t,e){var s=(0,i.gn)(e),l=(0,i.gn)(t)*s,c=(0,i.F8)(t)*s,u=(0,i.F8)(e),h=u*r+l*n;return[(0,i.FP)(c*a-h*o,l*r-u*n),(0,i.qR)(h*a+c*o)]}return s.invert=function(t,e){var s=(0,i.gn)(e),l=(0,i.gn)(t)*s,c=(0,i.F8)(t)*s,u=(0,i.F8)(e),h=u*a-c*o;return[(0,i.FP)(c*a+u*o,l*r+h*n),(0,i.qR)(h*r-l*n)]},s}function u(t){function e(e){return(e=t(e[0]*i.F2,e[1]*i.F2))[0]*=i.uj,e[1]*=i.uj,e}return t=o(t[0]*i.F2,t[1]*i.F2,t.length>2?t[2]*i.F2:0),e.invert=function(e){return(e=t.invert(e[0]*i.F2,e[1]*i.F2))[0]*=i.uj,e[1]*=i.uj,e},e}a.invert=a},20465:function(t,e,r){\"use strict\";function n(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}r.d(e,{A:function(){return l}});var i={Feature:function(t,e){n(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,i=-1,a=r.length;++i=0;)e+=r[n].value;else e=1;t.value=e}function l(t,e){var r,n,i,a,o,s=new f(t),l=+t.value&&(s.value=t.value),u=[s];for(null==e&&(e=c);r=u.pop();)if(l&&(r.value=+r.data.value),(i=e(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)u.push(n=r.children[a]=new f(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(h)}function c(t){return t.children}function u(t){t.data=t.data.data}function h(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function f(t){this.data=t,this.depth=this.height=0,this.parent=null}r.r(e),r.d(e,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return P},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return B},stratify:function(){return H},tree:function(){return J},treemap:function(){return rt},treemapBinary:function(){return nt},treemapDice:function(){return F},treemapResquarify:function(){return at},treemapSlice:function(){return K},treemapSliceDice:function(){return it},treemapSquarify:function(){return et}}),f.prototype=l.prototype={constructor:f,count:function(){return this.eachAfter(s)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].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(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,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 l(this).eachBefore(u)}};var p=Array.prototype.slice;function d(t){for(var e,r,n=0,i=(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}(p.call(t))).length,a=[];n0&&r*r>n*n+i*i}function v(t,e){for(var r=0;r(o*=o)?(n=(c+o-i)/(2*c),a=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(c+i-o)/(2*c),a=Math.sqrt(Math.max(0,i/c-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function T(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function k(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function A(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,c,u,h;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;w(r,e,n=t[2]),e=new A(e),r=new A(r),n=new A(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s0)throw new Error(\"cycle\");return a}return r.id=function(e){return arguments.length?(t=E(e),r):t},r.parentId=function(t){return arguments.length?(e=E(t),r):e},r}function G(t,e){return t.parent===e.parent?1:2}function Z(t){var e=t.children;return e?e[0]:t.t}function W(t){var e=t.children;return e?e[e.length-1]:t.t}function Y(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 X(t,e,r){return t.a.parent===e.parent?t.a:r}function $(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 J(){var t=G,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new $(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new $(n[i],i)),r.parent=e;return(o.parent=new $(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var c=i,u=i,h=i;i.eachBefore((function(t){t.xu.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),m=r/(h.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*m}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],c=a.m,u=o.m,h=s.m,f=l.m;s=W(s),a=Z(a),s&&a;)l=Z(l),(o=W(o)).a=e,(i=s.z+h-a.z-c+t(s._,a._))>0&&(Y(X(s,e,n),e,i),c+=i,u+=i),h+=s.m,c+=a.m,f+=l.m,u+=o.m;s&&!W(o)&&(o.t=s,o.m+=h-u),a&&!Z(l)&&(l.t=a,l.m+=c-f,n=e)}return n}(e,i,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 i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i}function K(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,c=t.value&&(i-r)/t.value;++sf&&(f=s),g=u*u*m,(p=Math.max(f/g,g/h))>d){u-=s;break}d=p}y.push(o={value:u,dice:l1?e:1)},r}(Q);function rt(){var t=et,e=!1,r=1,n=1,i=[0],a=C,o=C,s=C,l=C,c=C;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(h),i=[0],e&&t.eachBefore(R),t}function h(e){var r=i[e.depth],n=e.x0+r,u=e.y0+r,h=e.x1-r,f=e.y1-r;h=r-1){var u=s[e];return u.x0=i,u.y0=a,u.x1=o,void(u.y1=l)}for(var h=c[e],f=n/2+h,p=e+1,d=r-1;p>>1;c[m]l-a){var v=(i*y+o*g)/n;t(e,p,g,i,a,v,l),t(p,r,y,v,a,o,l)}else{var x=(a*y+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,y,i,x,o,l)}}(0,l,t.value,e,r,n,i)}function it(t,e,r,n,i){(1&t.depth?K:F)(t,e,r,n,i)}var at=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,h=-1,f=o.length,p=t.value;++h1?e:1)},r}(Q)},48544:function(t,e,r){\"use strict\";r.d(e,{pq:function(){return y}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(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,i,a){this._+=\"C\"+ +t+\",\"+ +e+\",\"+ +r+\",\"+ +n+\",\"+(this._x1=+i)+\",\"+(this._y1=+a)},arcTo:function(t,e,r,i,o){t=+t,e=+e,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,c=r-t,u=i-e,h=s-t,f=l-e,p=h*h+f*f;if(o<0)throw new Error(\"negative radius: \"+o);if(null===this._x1)this._+=\"M\"+(this._x1=t)+\",\"+(this._y1=e);else if(p>a)if(Math.abs(f*c-u*h)>a&&o){var d=r-s,m=i-l,g=c*c+u*u,y=d*d+m*m,v=Math.sqrt(g),x=Math.sqrt(p),_=o*Math.tan((n-Math.acos((g+p-y)/(2*v*x)))/2),b=_/x,w=_/v;Math.abs(b-1)>a&&(this._+=\"L\"+(t+b*h)+\",\"+(e+b*f)),this._+=\"A\"+o+\",\"+o+\",0,0,\"+ +(f*d>h*m)+\",\"+(this._x1=t+w*c)+\",\"+(this._y1=e+w*u)}else this._+=\"L\"+(this._x1=t)+\",\"+(this._y1=e)},arc:function(t,e,r,s,l,c){t=+t,e=+e,c=!!c;var u=(r=+r)*Math.cos(s),h=r*Math.sin(s),f=t+u,p=e+h,d=1^c,m=c?s-l:l-s;if(r<0)throw new Error(\"negative radius: \"+r);null===this._x1?this._+=\"M\"+f+\",\"+p:(Math.abs(this._x1-f)>a||Math.abs(this._y1-p)>a)&&(this._+=\"L\"+f+\",\"+p),r&&(m<0&&(m=m%i+i),m>o?this._+=\"A\"+r+\",\"+r+\",0,1,\"+d+\",\"+(t-u)+\",\"+(e-h)+\"A\"+r+\",\"+r+\",0,1,\"+d+\",\"+(this._x1=f)+\",\"+(this._y1=p):m>a&&(this._+=\"A\"+r+\",\"+r+\",0,\"+ +(m>=n)+\",\"+d+\",\"+(this._x1=t+r*Math.cos(l))+\",\"+(this._y1=e+r*Math.sin(l))))},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._}};var c=l,u=Array.prototype.slice;function h(t){return function(){return t}}function f(t){return t[0]}function p(t){return t[1]}function d(t){return t.source}function m(t){return t.target}function g(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function y(){return function(t){var e=d,r=m,n=f,i=p,a=null;function o(){var o,s=u.call(arguments),l=e.apply(this,s),h=r.apply(this,s);if(a||(a=o=c()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=h,s)),+i.apply(this,s)),o)return a=null,o+\"\"||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n=\"function\"==typeof t?t:h(+t),o):n},o.y=function(t){return arguments.length?(i=\"function\"==typeof t?t:h(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}(g)}},42696:function(t,e,r){\"use strict\";r.d(e,{DC:function(){return d},de:function(){return f},aL:function(){return m}});var n=r(1681),i=r(72543),a=r(55735),o=r(47265),s=r(9830),l=r(59764);function c(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function u(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function h(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function f(t){var e=t.dateTime,r=t.date,s=t.time,l=t.periods,f=t.days,p=t.shortDays,d=t.months,m=t.shortMonths,y=w(l),v=T(l),x=w(f),_=T(f),b=w(p),St=T(p),Et=w(d),Ct=T(d),Lt=w(m),It=T(m),Pt={a:function(t){return p[t.getDay()]},A:function(t){return f[t.getDay()]},b:function(t){return m[t.getMonth()]},B:function(t){return d[t.getMonth()]},c:null,d:H,e:H,f:X,H:G,I:Z,j:W,L:Y,m:$,M:J,p:function(t){return l[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:At,s:Mt,S:K,u:Q,U:tt,V:et,w:rt,W:nt,x:null,X:null,y:it,Y:at,Z:ot,\"%\":kt},zt={a:function(t){return p[t.getUTCDay()]},A:function(t){return f[t.getUTCDay()]},b:function(t){return m[t.getUTCMonth()]},B:function(t){return d[t.getUTCMonth()]},c:null,d:st,e:st,f:ft,H:lt,I:ct,j:ut,L:ht,m:pt,M:dt,p:function(t){return l[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:At,s:Mt,S:mt,u:gt,U:yt,V:vt,w:xt,W:_t,x:null,X:null,y:bt,Y:wt,Z:Tt,\"%\":kt},Ot={a:function(t,e,r){var n=b.exec(e.slice(r));return n?(t.w=St[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=x.exec(e.slice(r));return n?(t.w=_[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Lt.exec(e.slice(r));return n?(t.m=It[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Ct[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,r,n){return Ft(t,e,r,n)},d:O,e:O,f:j,H:R,I:R,j:D,L:N,m:z,M:F,p:function(t,e,r){var n=y.exec(e.slice(r));return n?(t.p=v[n[0].toLowerCase()],r+n[0].length):-1},q:P,Q:V,s:q,S:B,u:A,U:M,V:S,w:k,W:E,x:function(t,e,n){return Ft(t,r,e,n)},X:function(t,e,r){return Ft(t,s,e,r)},y:L,Y:C,Z:I,\"%\":U};function Dt(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,c=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;\"w\"in f||(f.w=1),\"Z\"in f?(l=(s=u(h(f.y,0,1))).getUTCDay(),s=l>4||0===l?n.rt.ceil(s):(0,n.rt)(s),s=i.A.offset(s,7*(f.V-1)),f.y=s.getUTCFullYear(),f.m=s.getUTCMonth(),f.d=s.getUTCDate()+(f.w+6)%7):(l=(s=c(h(f.y,0,1))).getDay(),s=l>4||0===l?a.By.ceil(s):(0,a.By)(s),s=o.A.offset(s,7*(f.V-1)),f.y=s.getFullYear(),f.m=s.getMonth(),f.d=s.getDate()+(f.w+6)%7)}else(\"W\"in f||\"U\"in f)&&(\"w\"in f||(f.w=\"u\"in f?f.u%7:\"W\"in f?1:0),l=\"Z\"in f?u(h(f.y,0,1)).getUTCDay():c(h(f.y,0,1)).getDay(),f.m=0,f.d=\"W\"in f?(f.w+6)%7+7*f.W-(l+5)%7:f.w+7*f.U-(l+6)%7);return\"Z\"in f?(f.H+=f.Z/100|0,f.M+=f.Z%100,u(f)):c(f)}}function Ft(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Ot[i in g?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Pt.x=Dt(r,Pt),Pt.X=Dt(s,Pt),Pt.c=Dt(e,Pt),zt.x=Dt(r,zt),zt.X=Dt(s,zt),zt.c=Dt(e,zt),{format:function(t){var e=Dt(t+=\"\",Pt);return e.toString=function(){return t},e},parse:function(t){var e=Rt(t+=\"\",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=Dt(t+=\"\",zt);return e.toString=function(){return t},e},utcParse:function(t){var e=Rt(t+=\"\",!0);return e.toString=function(){return t},e}}}var p,d,m,g={\"-\":\"\",_:\" \",0:\"0\"},y=/^\\s*\\d+/,v=/^%/,x=/[\\\\^$*+?|[\\]().{}]/g;function _(t,e,r){var n=t<0?\"-\":\"\",i=(n?-t:t)+\"\",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function I(t,e,r){var n=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||\"00\")),r+n[0].length):-1}function P(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function z(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function O(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function D(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function R(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function F(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function B(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function N(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function j(t,e,r){var n=y.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(t,e,r){var n=v.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function V(t,e,r){var n=y.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function q(t,e,r){var n=y.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function H(t,e){return _(t.getDate(),e,2)}function G(t,e){return _(t.getHours(),e,2)}function Z(t,e){return _(t.getHours()%12||12,e,2)}function W(t,e){return _(1+o.A.count((0,s.A)(t),t),e,3)}function Y(t,e){return _(t.getMilliseconds(),e,3)}function X(t,e){return Y(t,e)+\"000\"}function $(t,e){return _(t.getMonth()+1,e,2)}function J(t,e){return _(t.getMinutes(),e,2)}function K(t,e){return _(t.getSeconds(),e,2)}function Q(t){var e=t.getDay();return 0===e?7:e}function tt(t,e){return _(a.fz.count((0,s.A)(t)-1,t),e,2)}function et(t,e){var r=t.getDay();return t=r>=4||0===r?(0,a.dt)(t):a.dt.ceil(t),_(a.dt.count((0,s.A)(t),t)+(4===(0,s.A)(t).getDay()),e,2)}function rt(t){return t.getDay()}function nt(t,e){return _(a.By.count((0,s.A)(t)-1,t),e,2)}function it(t,e){return _(t.getFullYear()%100,e,2)}function at(t,e){return _(t.getFullYear()%1e4,e,4)}function ot(t){var e=t.getTimezoneOffset();return(e>0?\"-\":(e*=-1,\"+\"))+_(e/60|0,\"0\",2)+_(e%60,\"0\",2)}function st(t,e){return _(t.getUTCDate(),e,2)}function lt(t,e){return _(t.getUTCHours(),e,2)}function ct(t,e){return _(t.getUTCHours()%12||12,e,2)}function ut(t,e){return _(1+i.A.count((0,l.A)(t),t),e,3)}function ht(t,e){return _(t.getUTCMilliseconds(),e,3)}function ft(t,e){return ht(t,e)+\"000\"}function pt(t,e){return _(t.getUTCMonth()+1,e,2)}function dt(t,e){return _(t.getUTCMinutes(),e,2)}function mt(t,e){return _(t.getUTCSeconds(),e,2)}function gt(t){var e=t.getUTCDay();return 0===e?7:e}function yt(t,e){return _(n.Hl.count((0,l.A)(t)-1,t),e,2)}function vt(t,e){var r=t.getUTCDay();return t=r>=4||0===r?(0,n.pT)(t):n.pT.ceil(t),_(n.pT.count((0,l.A)(t),t)+(4===(0,l.A)(t).getUTCDay()),e,2)}function xt(t){return t.getUTCDay()}function _t(t,e){return _(n.rt.count((0,l.A)(t)-1,t),e,2)}function bt(t,e){return _(t.getUTCFullYear()%100,e,2)}function wt(t,e){return _(t.getUTCFullYear()%1e4,e,4)}function Tt(){return\"+0000\"}function kt(){return\"%\"}function At(t){return+t}function Mt(t){return Math.floor(+t/1e3)}p=f({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]}),d=p.format,p.parse,m=p.utcFormat,p.utcParse},47265:function(t,e,r){\"use strict\";r.d(e,{_:function(){return o}});var n=r(53398),i=r(66291),a=(0,n.A)((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.rR)/i.Nm}),(function(t){return t.getDate()-1}));e.A=a;var o=a.range},66291:function(t,e,r){\"use strict\";r.d(e,{Fq:function(){return s},JJ:function(){return a},Nm:function(){return o},Tt:function(){return n},rR:function(){return i}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},50936:function(t,e,r){\"use strict\";r.r(e),r.d(e,{timeDay:function(){return y.A},timeDays:function(){return y._},timeFriday:function(){return v.Sh},timeFridays:function(){return v.tz},timeHour:function(){return m},timeHours:function(){return g},timeInterval:function(){return n.A},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return f},timeMinutes:function(){return p},timeMonday:function(){return v.By},timeMondays:function(){return v.KP},timeMonth:function(){return _},timeMonths:function(){return b},timeSaturday:function(){return v.kS},timeSaturdays:function(){return v.t$},timeSecond:function(){return c},timeSeconds:function(){return u},timeSunday:function(){return v.fz},timeSundays:function(){return v.se},timeThursday:function(){return v.dt},timeThursdays:function(){return v.Q$},timeTuesday:function(){return v.eQ},timeTuesdays:function(){return v.yW},timeWednesday:function(){return v.l3},timeWednesdays:function(){return v.gf},timeWeek:function(){return v.fz},timeWeeks:function(){return v.se},timeYear:function(){return w.A},timeYears:function(){return w.V},utcDay:function(){return C.A},utcDays:function(){return C.o},utcFriday:function(){return L.a1},utcFridays:function(){return L.Zn},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return k},utcMinutes:function(){return A},utcMonday:function(){return L.rt},utcMondays:function(){return L.ON},utcMonth:function(){return P},utcMonths:function(){return z},utcSaturday:function(){return L.c8},utcSaturdays:function(){return L.Xo},utcSecond:function(){return c},utcSeconds:function(){return u},utcSunday:function(){return L.Hl},utcSundays:function(){return L.aZ},utcThursday:function(){return L.pT},utcThursdays:function(){return L.wr},utcTuesday:function(){return L.sr},utcTuesdays:function(){return L.jN},utcWednesday:function(){return L.z2},utcWednesdays:function(){return L.G6},utcWeek:function(){return L.Hl},utcWeeks:function(){return L.aZ},utcYear:function(){return O.A},utcYears:function(){return O.j}});var n=r(53398),i=(0,n.A)((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?(0,n.A)((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i,o=i.range,s=r(66291),l=(0,n.A)((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*s.Tt)}),(function(t,e){return(e-t)/s.Tt}),(function(t){return t.getUTCSeconds()})),c=l,u=l.range,h=(0,n.A)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Tt)}),(function(t,e){t.setTime(+t+e*s.rR)}),(function(t,e){return(e-t)/s.rR}),(function(t){return t.getMinutes()})),f=h,p=h.range,d=(0,n.A)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Tt-t.getMinutes()*s.rR)}),(function(t,e){t.setTime(+t+e*s.JJ)}),(function(t,e){return(e-t)/s.JJ}),(function(t){return t.getHours()})),m=d,g=d.range,y=r(47265),v=r(55735),x=(0,n.A)((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),_=x,b=x.range,w=r(9830),T=(0,n.A)((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*s.rR)}),(function(t,e){return(e-t)/s.rR}),(function(t){return t.getUTCMinutes()})),k=T,A=T.range,M=(0,n.A)((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*s.JJ)}),(function(t,e){return(e-t)/s.JJ}),(function(t){return t.getUTCHours()})),S=M,E=M.range,C=r(72543),L=r(1681),I=(0,n.A)((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),P=I,z=I.range,O=r(59764)},53398:function(t,e,r){\"use strict\";r.d(e,{A:function(){return a}});var n=new Date,i=new Date;function a(t,e,r,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(r){return t(r=new Date(r-1)),e(r,1),t(r),r},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+r)),e(r,i),t(r)}while(a=e)for(;t(e),!r(e);)e.setTime(e-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););}))},r&&(s.count=function(e,a){return n.setTime(+e),i.setTime(+a),t(n),t(i),Math.floor(r(n,i))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}},72543:function(t,e,r){\"use strict\";r.d(e,{o:function(){return o}});var n=r(53398),i=r(66291),a=(0,n.A)((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/i.Nm}),(function(t){return t.getUTCDate()-1}));e.A=a;var o=a.range},1681:function(t,e,r){\"use strict\";r.d(e,{G6:function(){return g},Hl:function(){return o},ON:function(){return d},Xo:function(){return x},Zn:function(){return v},a1:function(){return h},aZ:function(){return p},c8:function(){return f},jN:function(){return m},pT:function(){return u},rt:function(){return s},sr:function(){return l},wr:function(){return y},z2:function(){return c}});var n=r(53398),i=r(66291);function a(t){return(0,n.A)((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/i.Fq}))}var o=a(0),s=a(1),l=a(2),c=a(3),u=a(4),h=a(5),f=a(6),p=o.range,d=s.range,m=l.range,g=c.range,y=u.range,v=h.range,x=f.range},59764:function(t,e,r){\"use strict\";r.d(e,{j:function(){return a}});var n=r(53398),i=(0,n.A)((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.A)((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null},e.A=i;var a=i.range},55735:function(t,e,r){\"use strict\";r.d(e,{By:function(){return s},KP:function(){return d},Q$:function(){return y},Sh:function(){return h},dt:function(){return u},eQ:function(){return l},fz:function(){return o},gf:function(){return g},kS:function(){return f},l3:function(){return c},se:function(){return p},t$:function(){return x},tz:function(){return v},yW:function(){return m}});var n=r(53398),i=r(66291);function a(t){return(0,n.A)((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.rR)/i.Fq}))}var o=a(0),s=a(1),l=a(2),c=a(3),u=a(4),h=a(5),f=a(6),p=o.range,d=s.range,m=l.range,g=c.range,y=u.range,v=h.range,x=f.range},9830:function(t,e,r){\"use strict\";r.d(e,{V:function(){return a}});var n=r(53398),i=(0,n.A)((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.A)((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null},e.A=i;var a=i.range},70973:function(t,e,r){\"use strict\";var n=r(40891),i=r(98800),a=r(48631),o=r(52991);t.exports=function(t,e,r){if(!t||\"object\"!=typeof t&&\"function\"!=typeof t)throw new a(\"`obj` must be an object or a function`\");if(\"string\"!=typeof e&&\"symbol\"!=typeof e)throw new a(\"`property` must be a string or a symbol`\");if(arguments.length>3&&\"boolean\"!=typeof arguments[3]&&null!==arguments[3])throw new a(\"`nonEnumerable`, if provided, must be a boolean or null\");if(arguments.length>4&&\"boolean\"!=typeof arguments[4]&&null!==arguments[4])throw new a(\"`nonWritable`, if provided, must be a boolean or null\");if(arguments.length>5&&\"boolean\"!=typeof arguments[5]&&null!==arguments[5])throw new a(\"`nonConfigurable`, if provided, must be a boolean or null\");if(arguments.length>6&&\"boolean\"!=typeof arguments[6])throw new a(\"`loose`, if provided, must be a boolean\");var s=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],h=!!o&&o(t,e);if(n)n(t,e,{configurable:null===c&&h?h.configurable:!c,enumerable:null===s&&h?h.enumerable:!s,value:r,writable:null===l&&h?h.writable:!l});else{if(!u&&(s||l||c))throw new i(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\");t[e]=r}}},97936:function(t,e,r){\"use strict\";var n=r(99433),i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol(\"foo\"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=r(74268)(),c=s&&l,u=function(t,e,r,n){if(e in t)if(!0===n){if(t[e]===r)return}else if(\"function\"!=typeof(i=n)||\"[object Function]\"!==a.call(i)||!n())return;var i;c?s(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r},h=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=o.call(a,Object.getOwnPropertySymbols(e)));for(var s=0;ss*l){var p=(f-h)/s;o[u]=1e3*p}}return o}function i(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*n){a=s=t[0],o=l=t[1];for(var x=n;xs&&(s=h),f>l&&(l=f);d=0!==(d=Math.max(s-a,l-o))?32767/d:0}return i(y,v,n,a,o,d,0),v}function r(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a=e;a-=n)o=T(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function i(t,e,r,c,u,h,p){if(t){!p&&h&&function(t,e,r,n){var i=t;do{0===i.z&&(i.z=f(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,c,u,h);for(var d,m,g=t;t.prev!==t.next;)if(d=t.prev,m=t.next,h?o(t,c,u,h):a(t))e.push(d.i/r|0),e.push(t.i/r|0),e.push(m.i/r|0),k(t),t=m.next,g=m.next;else if((t=m)===g){p?1===p?i(t=s(n(t),e,r),e,r,c,u,h,2):2===p&&l(t,e,r,c,u,h):i(n(t),e,r,c,u,h,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(g(e,r,n)>=0)return!1;for(var i=e.x,a=r.x,o=n.x,s=e.y,l=r.y,c=n.y,u=ia?i>o?i:o:a>o?a:o,p=s>l?s>c?s:c:l>c?l:c,m=n.next;m!==e;){if(m.x>=u&&m.x<=f&&m.y>=h&&m.y<=p&&d(i,s,a,l,o,c,m.x,m.y)&&g(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function o(t,e,r,n){var i=t.prev,a=t,o=t.next;if(g(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,c=o.x,u=i.y,h=a.y,p=o.y,m=sl?s>c?s:c:l>c?l:c,x=u>h?u>p?u:p:h>p?h:p,_=f(m,y,e,r,n),b=f(v,x,e,r,n),w=t.prevZ,T=t.nextZ;w&&w.z>=_&&T&&T.z<=b;){if(w.x>=m&&w.x<=v&&w.y>=y&&w.y<=x&&w!==i&&w!==o&&d(s,u,l,h,c,p,w.x,w.y)&&g(w.prev,w,w.next)>=0)return!1;if(w=w.prevZ,T.x>=m&&T.x<=v&&T.y>=y&&T.y<=x&&T!==i&&T!==o&&d(s,u,l,h,c,p,T.x,T.y)&&g(T.prev,T,T.next)>=0)return!1;T=T.nextZ}for(;w&&w.z>=_;){if(w.x>=m&&w.x<=v&&w.y>=y&&w.y<=x&&w!==i&&w!==o&&d(s,u,l,h,c,p,w.x,w.y)&&g(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;T&&T.z<=b;){if(T.x>=m&&T.x<=v&&T.y>=y&&T.y<=x&&T!==i&&T!==o&&d(s,u,l,h,c,p,T.x,T.y)&&g(T.prev,T,T.next)>=0)return!1;T=T.nextZ}return!0}function s(t,e,r){var i=t;do{var a=i.prev,o=i.next.next;!y(a,o)&&v(a,i,i.next,o)&&b(a,o)&&b(o,a)&&(e.push(a.i/r|0),e.push(i.i/r|0),e.push(o.i/r|0),k(i),k(i.next),i=t=o),i=i.next}while(i!==t);return n(i)}function l(t,e,r,a,o,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=w(l,c);return l=n(l,l.next),u=n(u,u.next),i(l,e,r,a,o,s,0),void i(u,e,r,a,o,s,0)}c=c.next}l=l.next}while(l!==t)}function c(t,e){return t.x-e.x}function u(t,e){var r=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o&&(o=s,r=n.x=n.x&&n.x>=u&&i!==n.x&&d(ar.x||n.x===r.x&&h(r,n)))&&(r=n,p=l)),n=n.next}while(n!==c);return r}(t,e);if(!r)return e;var i=w(r,t);return n(i,i.next),n(r,r.next)}function h(t,e){return g(t.prev,t,e.prev)<0&&g(e.next,t,t.next)<0}function f(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function p(t){var e=t,r=t;do{(e.x=(t-o)*(a-s)&&(t-o)*(n-s)>=(r-o)*(e-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}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&&v(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(g(t.prev,t,e.prev)||g(t,e.prev,e))||y(t,e)&&g(t.prev,t,t.next)>0&&g(e.prev,e,e.next)>0)}function g(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function v(t,e,r,n){var i=_(g(t,e,r)),a=_(g(t,e,n)),o=_(g(r,n,t)),s=_(g(r,n,e));return i!==a&&o!==s||!(0!==i||!x(t,r,e))||!(0!==a||!x(t,n,e))||!(0!==o||!x(r,t,n))||!(0!==s||!x(r,e,n))}function x(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 _(t){return t>0?1:t<0?-1:0}function b(t,e){return g(t.prev,t,t.next)<0?g(t,e,t.next)>=0&&g(t,t.prev,e)>=0:g(t,e,t.prev)<0||g(t,t.next,e)<0}function w(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function T(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(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 A(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},96143:function(t,e,r){var n=r(26381);t.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function c(t){o[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach((function(e){delete s[t][e],o[e]&&c(e)}))}function u(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&v<=56319&&(w+=t[++r]),w=T?f.call(T,k,w,m):w,e?(p.value=w,d(g,m,p)):g[m]=w,++m;y=m}if(void 0===y)for(y=o(t.length),e&&(g=new e(y)),r=0;r0?1:-1}},10226:function(t,e,r){\"use strict\";var n=r(53579),i=Math.abs,a=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},54653:function(t,e,r){\"use strict\";var n=r(10226),i=Math.max;t.exports=function(t){return i(0,n(t))}},39395:function(t,e,r){\"use strict\";var n=r(52359),i=r(69746),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(r,c){var u,h=arguments[2],f=arguments[3];return r=Object(i(r)),n(c),u=s(r),f&&u.sort(\"function\"==typeof f?a.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}))}}},1920:function(t,e,r){\"use strict\";t.exports=r(41271)()?Object.assign:r(26399)},41271:function(t){\"use strict\";t.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\")}},26399:function(t,e,r){\"use strict\";var n=r(36353),i=r(69746),a=Math.max;t.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},48488:function(t){\"use strict\";var e=Object.prototype.toString,r=e.call(\"\");t.exports=function(t){return\"string\"==typeof t||t&&\"object\"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},43497:function(t){\"use strict\";var e=Object.create(null),r=Math.random;t.exports=function(){var t;do{t=r().toString(36).slice(2)}while(e[t]);return t}},71343:function(t,e,r){\"use strict\";var n,i=r(22834),a=r(2338),o=r(91819),s=r(63008),l=r(85490),c=Object.defineProperty;n=t.exports=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");l.call(this,t),e=e?a.call(e,\"key+value\")?\"key+value\":a.call(e,\"key\")?\"key\":\"value\":\"value\",c(this,\"__kind__\",o(\"\",e))},i&&i(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\"))},58755:function(t,e,r){\"use strict\";var n=r(82262),i=r(52359),a=r(48488),o=r(34494),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;t.exports=function(t,e){var r,u,h,f,p,d,m,g,y=arguments[2];if(s(t)||n(t)?r=\"array\":a(t)?r=\"string\":t=o(t),i(e),h=function(){f=!0},\"array\"!==r)if(\"string\"!==r)for(u=t.next();!u.done;){if(l.call(e,y,u.value,h),f)return;u=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(m+=t[++p]),l.call(e,y,m,h),!f);++p);else c.call(t,(function(t){return l.call(e,y,t,h),f}))}},34494:function(t,e,r){\"use strict\";var n=r(82262),i=r(48488),a=r(71343),o=r(23417),s=r(82831),l=r(63008).iterator;t.exports=function(t){return\"function\"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},85490:function(t,e,r){\"use strict\";var n,i=r(91445),a=r(1920),o=r(52359),s=r(69746),l=r(91819),c=r(84510),u=r(63008),h=Object.defineProperty,f=Object.defineProperties;t.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,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=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__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),h(n.prototype,u.iterator,l((function(){return this})))},50567:function(t,e,r){\"use strict\";var n=r(82262),i=r(1974),a=r(48488),o=r(63008).iterator,s=Array.isArray;t.exports=function(t){return!(!i(t)||!s(t)&&!a(t)&&!n(t)&&\"function\"!=typeof t[o])}},23417:function(t,e,r){\"use strict\";var n,i=r(22834),a=r(91819),o=r(63008),s=r(85490),l=Object.defineProperty;n=t.exports=function(t){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");t=String(t),s.call(this,t),l(this,\"__length__\",a(\"\",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a(\"c\",\"String Iterator\"))},82831:function(t,e,r){\"use strict\";var n=r(50567);t.exports=function(t){if(!n(t))throw new TypeError(t+\" is not iterable\");return t}},63008:function(t,e,r){\"use strict\";t.exports=r(25143)()?r(64725).Symbol:r(81905)},25143:function(t,e,r){\"use strict\";var n=r(64725),i={object:!0,symbol:!0};t.exports=function(){var t,e=n.Symbol;if(\"function\"!=typeof e)return!1;t=e(\"test symbol\");try{String(t)}catch(t){return!1}return!!i[typeof e.iterator]&&!!i[typeof e.toPrimitive]&&!!i[typeof e.toStringTag]}},41707:function(t){\"use strict\";t.exports=function(t){return!!t&&(\"symbol\"==typeof t||!!t.constructor&&\"Symbol\"===t.constructor.name&&\"Symbol\"===t[t.constructor.toStringTag])}},74009:function(t,e,r){\"use strict\";var n=r(91819),i=Object.create,a=Object.defineProperty,o=Object.prototype,s=i(null);t.exports=function(t){for(var e,r,i=0;s[t+(i||\"\")];)++i;return s[t+=i||\"\"]=!0,a(o,e=\"@@\"+t,n.gs(null,(function(t){r||(r=!0,a(this,e,n(t)),r=!1)}))),e}},40313:function(t,e,r){\"use strict\";var n=r(91819),i=r(64725).Symbol;t.exports=function(t){return Object.defineProperties(t,{hasInstance:n(\"\",i&&i.hasInstance||t(\"hasInstance\")),isConcatSpreadable:n(\"\",i&&i.isConcatSpreadable||t(\"isConcatSpreadable\")),iterator:n(\"\",i&&i.iterator||t(\"iterator\")),match:n(\"\",i&&i.match||t(\"match\")),replace:n(\"\",i&&i.replace||t(\"replace\")),search:n(\"\",i&&i.search||t(\"search\")),species:n(\"\",i&&i.species||t(\"species\")),split:n(\"\",i&&i.split||t(\"split\")),toPrimitive:n(\"\",i&&i.toPrimitive||t(\"toPrimitive\")),toStringTag:n(\"\",i&&i.toStringTag||t(\"toStringTag\")),unscopables:n(\"\",i&&i.unscopables||t(\"unscopables\"))})}},21290:function(t,e,r){\"use strict\";var n=r(91819),i=r(91765),a=Object.create(null);t.exports=function(t){return Object.defineProperties(t,{for:n((function(e){return a[e]?a[e]:a[e]=t(String(e))})),keyFor:n((function(t){var e;for(e in i(t),a)if(a[e]===t)return e}))})}},81905:function(t,e,r){\"use strict\";var n,i,a,o=r(91819),s=r(91765),l=r(64725).Symbol,c=r(74009),u=r(40313),h=r(21290),f=Object.create,p=Object.defineProperties,d=Object.defineProperty;if(\"function\"==typeof l)try{String(l()),a=!0}catch(t){}else l=null;i=function(t){if(this instanceof i)throw new TypeError(\"Symbol is not a constructor\");return n(t)},t.exports=n=function t(e){var r;if(this instanceof t)throw new TypeError(\"Symbol is not a constructor\");return a?l(e):(r=f(i.prototype),e=void 0===e?\"\":String(e),p(r,{__description__:o(\"\",e),__name__:o(\"\",c(e))}))},u(n),h(n),p(i.prototype,{constructor:o(n),toString:o(\"\",(function(){return this.__name__}))}),p(n.prototype,{toString:o((function(){return\"Symbol (\"+s(this).__description__+\")\"})),valueOf:o((function(){return s(this)}))}),d(n.prototype,n.toPrimitive,o(\"\",(function(){var t=s(this);return\"symbol\"==typeof t?t:t.toString()}))),d(n.prototype,n.toStringTag,o(\"c\",\"Symbol\")),d(i.prototype,n.toStringTag,o(\"c\",n.prototype[n.toStringTag])),d(i.prototype,n.toPrimitive,o(\"c\",n.prototype[n.toPrimitive]))},91765:function(t,e,r){\"use strict\";var n=r(41707);t.exports=function(t){if(!n(t))throw new TypeError(t+\" is not a symbol\");return t}},93103:function(t,e,r){\"use strict\";t.exports=r(22742)()?WeakMap:r(21780)},22742:function(t){\"use strict\";t.exports=function(){var t,e;if(\"function\"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(t){return!1}return\"[object WeakMap]\"===String(t)&&\"function\"==typeof t.set&&t.set({},1)===t&&\"function\"==typeof t.delete&&\"function\"==typeof t.has&&\"one\"===t.get(e)}},81810:function(t){\"use strict\";t.exports=\"function\"==typeof WeakMap&&\"[object WeakMap]\"===Object.prototype.toString.call(new WeakMap)},21780:function(t,e,r){\"use strict\";var n,i=r(1974),a=r(22834),o=r(11004),s=r(69746),l=r(43497),c=r(91819),u=r(34494),h=r(58755),f=r(63008).toStringTag,p=r(81810),d=Array.isArray,m=Object.defineProperty,g=Object.prototype.hasOwnProperty,y=Object.getPrototypeOf;t.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");return t=p&&a&&WeakMap!==n?a(new WeakMap,y(this)):this,i(e)&&(d(e)||(e=u(e))),m(t,\"__weakMapData__\",c(\"c\",\"$weakMap$\"+l())),e?(h(e,(function(e){s(e),t.set(e[0],e[1])})),t):t},p&&(a&&a(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:c(n)})),Object.defineProperties(n.prototype,{delete:c((function(t){return!!g.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)})),get:c((function(t){if(g.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]})),has:c((function(t){return g.call(o(t),this.__weakMapData__)})),set:c((function(t,e){return m(o(t),this.__weakMapData__,c(\"c\",e)),this})),toString:c((function(){return\"[object WeakMap]\"}))}),m(n.prototype,f,c(\"c\",\"WeakMap\"))},7683:function(t){\"use strict\";var e,r=\"object\"==typeof Reflect?Reflect:null,n=r&&\"function\"==typeof r.apply?r.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};e=r&&\"function\"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var i=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}t.exports=a,t.exports.once=function(t,e){return new Promise((function(r,n){function i(r){t.removeListener(e,a),n(r)}function a(){\"function\"==typeof t.removeListener&&t.removeListener(\"error\",i),r([].slice.call(arguments))}m(t,e,a,{once:!0}),\"error\"!==e&&function(t,e,r){\"function\"==typeof t.on&&m(t,\"error\",e,{once:!0})}(t,i)}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var o=10;function s(t){if(\"function\"!=typeof t)throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof t)}function l(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function c(t,e,r,n){var i,a,o,c;if(s(r),void 0===(a=t._events)?(a=t._events=Object.create(null),t._eventsCount=0):(void 0!==a.newListener&&(t.emit(\"newListener\",e,r.listener?r.listener:r),a=t._events),o=a[e]),void 0===o)o=a[e]=r,++t._eventsCount;else if(\"function\"==typeof o?o=a[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),(i=l(t))>0&&o.length>i&&!o.warned){o.warned=!0;var u=new Error(\"Possible EventEmitter memory leak detected. \"+o.length+\" \"+String(e)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");u.name=\"MaxListenersExceededWarning\",u.emitter=t,u.type=e,u.count=o.length,c=u,console&&console.warn&&console.warn(c)}return t}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=u.bind(n);return i.listener=r,n.wrapFn=i,i}function f(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:\"function\"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error(\"Unhandled error.\"+(o?\" (\"+o.message+\")\":\"\"));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if(\"function\"==typeof l)n(l,this,e);else{var c=l.length,u=d(l,c);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return f(this,t,!0)},a.prototype.rawListeners=function(t){return f(this,t,!1)},a.listenerCount=function(t,e){return\"function\"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},77083:function(t){var e=function(){if(\"object\"==typeof self&&self)return self;if(\"object\"==typeof window&&window)return window;throw new Error(\"Unable to resolve global `this`\")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(t){return e()}try{return __global__||e()}finally{delete Object.prototype.__global__}}()},64725:function(t,e,r){\"use strict\";t.exports=r(17804)()?globalThis:r(77083)},17804:function(t){\"use strict\";t.exports=function(){return\"object\"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},10721:function(t,e,r){\"use strict\";var n=r(9914);t.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}},83473:function(t,e,r){var n=r(10275);t.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 i,a,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(i=0,o=r;ie[0]-o[0]/2&&(f=o[0]/2,p+=o[1]);return r}},12673:function(t){\"use strict\";function e(t,a){a||(a={}),(\"string\"==typeof t||Array.isArray(t))&&(a.family=t);var o=Array.isArray(a.family)?a.family.join(\", \"):a.family;if(!o)throw Error(\"`family` must be defined\");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||\"\",c=(t=[a.style||a.fontStyle||\"\",l,s].join(\" \")+\"px \"+o,a.origin||\"top\");if(e.cache[o]&&s<=e.cache[o].em)return r(e.cache[o],c);var u=a.canvas||e.canvas,h=u.getContext(\"2d\"),f={upper:void 0!==a.upper?a.upper:\"H\",lower:void 0!==a.lower?a.lower:\"x\",descent:void 0!==a.descent?a.descent:\"p\",ascent:void 0!==a.ascent?a.ascent:\"h\",tittle:void 0!==a.tittle?a.tittle:\"i\",overshoot:void 0!==a.overshoot?a.overshoot:\"O\"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,h.font=t;var d=\"H\",m={top:0};h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillStyle=\"black\",h.fillText(d,0,0);var g=n(h.getImageData(0,0,p,p));h.clearRect(0,0,p,p),h.textBaseline=\"bottom\",h.fillText(d,0,p);var y=n(h.getImageData(0,0,p,p));m.lineHeight=m.bottom=p-y+g,h.clearRect(0,0,p,p),h.textBaseline=\"alphabetic\",h.fillText(d,0,p);var v=p-n(h.getImageData(0,0,p,p))-1+g;m.baseline=m.alphabetic=v,h.clearRect(0,0,p,p),h.textBaseline=\"middle\",h.fillText(d,0,.5*p);var x=n(h.getImageData(0,0,p,p));m.median=m.middle=p-x-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline=\"hanging\",h.fillText(d,0,.5*p);var _=n(h.getImageData(0,0,p,p));m.hanging=p-_-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline=\"ideographic\",h.fillText(d,0,p);var b=n(h.getImageData(0,0,p,p));if(m.ideographic=p-b-1+g,f.upper&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.upper,0,0),m.upper=n(h.getImageData(0,0,p,p)),m.capHeight=m.baseline-m.upper),f.lower&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.lower,0,0),m.lower=n(h.getImageData(0,0,p,p)),m.xHeight=m.baseline-m.lower),f.tittle&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.tittle,0,0),m.tittle=n(h.getImageData(0,0,p,p))),f.ascent&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.ascent,0,0),m.ascent=n(h.getImageData(0,0,p,p))),f.descent&&(h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.descent,0,0),m.descent=i(h.getImageData(0,0,p,p))),f.overshoot){h.clearRect(0,0,p,p),h.textBaseline=\"top\",h.fillText(f.overshoot,0,0);var w=i(h.getImageData(0,0,p,p));m.overshoot=w-v}for(var T in m)m[T]/=s;return m.em=s,e.cache[o]=m,r(m,c)}function r(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 n(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}t.exports=e,e.canvas=document.createElement(\"canvas\"),e.cache={}},61262:function(t,e,r){\"use strict\";var n=r(82756),i=Object.prototype.toString,a=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){if(!n(e))throw new TypeError(\"iterator must be a function\");var o;arguments.length>=3&&(o=r),\"[object Array]\"===i.call(t)?function(t,e,r){for(var n=0,i=t.length;n1&&\"boolean\"!=typeof e)throw new c('\"allowMissing\" argument must be a boolean');if(null===I(/^%?[^%]*%?$/,t))throw new l(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var r=function(t){var e=L(t,0,1),r=L(t,-1);if(\"%\"===e&&\"%\"!==r)throw new l(\"invalid intrinsic syntax, expected closing `%`\");if(\"%\"===r&&\"%\"!==e)throw new l(\"invalid intrinsic syntax, expected opening `%`\");var n=[];return C(t,P,(function(t,e,r,i){n[n.length]=r?C(i,z,\"$1\"):e||t})),n}(t),n=r.length>0?r[0]:\"\",i=O(\"%\"+n+\"%\",e),a=i.name,o=i.value,s=!1,u=i.alias;u&&(n=u[0],E(r,S([0,1],u)));for(var h=1,f=!0;h=r.length){var y=p(o,d);o=(f=!!y)&&\"get\"in y&&!(\"originalValue\"in y.get)?y.get:o[d]}else f=M(o,d),o=o[d];f&&!s&&(b[a]=o)}}return o}},84840:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],m=e[13],g=e[14],y=e[15];return t[0]=s*(f*y-p*g)-h*(l*y-c*g)+m*(l*p-c*f),t[1]=-(n*(f*y-p*g)-h*(i*y-a*g)+m*(i*p-a*f)),t[2]=n*(l*y-c*g)-s*(i*y-a*g)+m*(i*c-a*l),t[3]=-(n*(l*p-c*f)-s*(i*p-a*f)+h*(i*c-a*l)),t[4]=-(o*(f*y-p*g)-u*(l*y-c*g)+d*(l*p-c*f)),t[5]=r*(f*y-p*g)-u*(i*y-a*g)+d*(i*p-a*f),t[6]=-(r*(l*y-c*g)-o*(i*y-a*g)+d*(i*c-a*l)),t[7]=r*(l*p-c*f)-o*(i*p-a*f)+u*(i*c-a*l),t[8]=o*(h*y-p*m)-u*(s*y-c*m)+d*(s*p-c*h),t[9]=-(r*(h*y-p*m)-u*(n*y-a*m)+d*(n*p-a*h)),t[10]=r*(s*y-c*m)-o*(n*y-a*m)+d*(n*c-a*s),t[11]=-(r*(s*p-c*h)-o*(n*p-a*h)+u*(n*c-a*s)),t[12]=-(o*(h*g-f*m)-u*(s*g-l*m)+d*(s*f-l*h)),t[13]=r*(h*g-f*m)-u*(n*g-i*m)+d*(n*f-i*h),t[14]=-(r*(s*g-l*m)-o*(n*g-i*m)+d*(n*l-i*s)),t[15]=r*(s*f-l*h)-o*(n*f-i*h)+u*(n*l-i*s),t}},99698:function(t){t.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},57938:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},87519:function(t){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},6900:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],h=t[10],f=t[11],p=t[12],d=t[13],m=t[14],g=t[15];return(e*o-r*a)*(h*g-f*m)-(e*s-n*a)*(u*g-f*d)+(e*l-i*a)*(u*m-h*d)+(r*s-n*o)*(c*g-f*p)-(r*l-i*o)*(c*m-h*p)+(n*l-i*s)*(c*d-u*p)}},36472:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,c=r*o,u=n*o,h=n*s,f=i*o,p=i*s,d=i*l,m=a*o,g=a*s,y=a*l;return t[0]=1-h-d,t[1]=u+y,t[2]=f-g,t[3]=0,t[4]=u-y,t[5]=1-c-d,t[6]=p+m,t[7]=0,t[8]=f+g,t[9]=p-m,t[10]=1-c-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},43061:function(t){t.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],c=Math.sqrt(o*o+s*s+l*l);return Math.abs(c)<1e-6?null:(o*=c=1/c,s*=c,l*=c,n=Math.sin(e),a=1-(i=Math.cos(e)),t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}},33606:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,c=a+a,u=n*s,h=n*l,f=n*c,p=i*l,d=i*c,m=a*c,g=o*s,y=o*l,v=o*c;return t[0]=1-(p+m),t[1]=h+v,t[2]=f-y,t[3]=0,t[4]=h-v,t[5]=1-(u+m),t[6]=d+g,t[7]=0,t[8]=f+y,t[9]=d-g,t[10]=1-(u+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},98698:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},6924:function(t){t.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},81181:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},95258:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},94815:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},87301:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),c=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*c,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*c,t[15]=0,t}},87193:function(t){t.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},11191:function(t,e,r){t.exports={create:r(87519),clone:r(99698),copy:r(57938),identity:r(87193),transpose:r(10256),invert:r(96559),adjoint:r(84840),determinant:r(6900),multiply:r(14787),translate:r(4165),scale:r(8697),rotate:r(32416),rotateX:r(81066),rotateY:r(54201),rotateZ:r(33920),fromRotation:r(43061),fromRotationTranslation:r(33606),fromScaling:r(98698),fromTranslation:r(6924),fromXRotation:r(81181),fromYRotation:r(95258),fromZRotation:r(94815),fromQuat:r(36472),frustum:r(87301),perspective:r(5313),perspectiveFromFieldOfView:r(22253),ortho:r(4633),lookAt:r(26645),str:r(66992)}},96559:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],m=e[13],g=e[14],y=e[15],v=r*s-n*o,x=r*l-i*o,_=r*c-a*o,b=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*m-h*d,A=u*g-f*d,M=u*y-p*d,S=h*g-f*m,E=h*y-p*m,C=f*y-p*g,L=v*C-x*E+_*S+b*M-w*A+T*k;return L?(L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(m*T-g*w+y*b)*L,t[3]=(f*w-h*T-p*b)*L,t[4]=(l*M-o*C-c*A)*L,t[5]=(r*C-i*M+a*A)*L,t[6]=(g*_-d*T-y*x)*L,t[7]=(u*T-f*_+p*x)*L,t[8]=(o*E-s*M+c*k)*L,t[9]=(n*M-r*E-a*k)*L,t[10]=(d*w-m*_+y*v)*L,t[11]=(h*_-u*w-p*v)*L,t[12]=(s*A-o*S-l*k)*L,t[13]=(r*S-n*A+i*k)*L,t[14]=(m*x-d*b-g*v)*L,t[15]=(u*b-h*x+f*v)*L,t):null}},26645:function(t,e,r){var n=r(87193);t.exports=function(t,e,r,i){var a,o,s,l,c,u,h,f,p,d,m=e[0],g=e[1],y=e[2],v=i[0],x=i[1],_=i[2],b=r[0],w=r[1],T=r[2];return Math.abs(m-b)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(h=m-b,f=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(h*h+f*f+p*p))-_*(f*=d),o=_*(h*=d)-v*p,s=v*f-x*h,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=f*s-p*o,c=p*a-h*s,u=h*o-f*a,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0),t[0]=a,t[1]=l,t[2]=h,t[3]=0,t[4]=o,t[5]=c,t[6]=f,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(a*m+o*g+s*y),t[13]=-(l*m+c*g+u*y),t[14]=-(h*m+f*g+p*y),t[15]=1,t)}},14787:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],m=e[12],g=e[13],y=e[14],v=e[15],x=r[0],_=r[1],b=r[2],w=r[3];return t[0]=x*n+_*s+b*h+w*m,t[1]=x*i+_*l+b*f+w*g,t[2]=x*a+_*c+b*p+w*y,t[3]=x*o+_*u+b*d+w*v,x=r[4],_=r[5],b=r[6],w=r[7],t[4]=x*n+_*s+b*h+w*m,t[5]=x*i+_*l+b*f+w*g,t[6]=x*a+_*c+b*p+w*y,t[7]=x*o+_*u+b*d+w*v,x=r[8],_=r[9],b=r[10],w=r[11],t[8]=x*n+_*s+b*h+w*m,t[9]=x*i+_*l+b*f+w*g,t[10]=x*a+_*c+b*p+w*y,t[11]=x*o+_*u+b*d+w*v,x=r[12],_=r[13],b=r[14],w=r[15],t[12]=x*n+_*s+b*h+w*m,t[13]=x*i+_*l+b*f+w*g,t[14]=x*a+_*c+b*p+w*y,t[15]=x*o+_*u+b*d+w*v,t}},4633:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t}},5313:function(t){t.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},22253:function(t){t.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),c=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=c,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*c*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},32416:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E=n[0],C=n[1],L=n[2],I=Math.sqrt(E*E+C*C+L*L);return Math.abs(I)<1e-6?null:(E*=I=1/I,C*=I,L*=I,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],c=e[2],u=e[3],h=e[4],f=e[5],p=e[6],d=e[7],m=e[8],g=e[9],y=e[10],v=e[11],x=E*E*o+a,_=C*E*o+L*i,b=L*E*o-C*i,w=E*C*o-L*i,T=C*C*o+a,k=L*C*o+E*i,A=E*L*o+C*i,M=C*L*o-E*i,S=L*L*o+a,t[0]=s*x+h*_+m*b,t[1]=l*x+f*_+g*b,t[2]=c*x+p*_+y*b,t[3]=u*x+d*_+v*b,t[4]=s*w+h*T+m*k,t[5]=l*w+f*T+g*k,t[6]=c*w+p*T+y*k,t[7]=u*w+d*T+v*k,t[8]=s*A+h*M+m*S,t[9]=l*A+f*M+g*S,t[10]=c*A+p*M+y*S,t[11]=u*A+d*M+v*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},81066:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t}},54201:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-h*n,t[3]=l*i-f*n,t[8]=a*n+c*i,t[9]=o*n+u*i,t[10]=s*n+h*i,t[11]=l*n+f*i,t}},33920:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t}},8697:function(t){t.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},66992:function(t){t.exports=function(t){return\"mat4(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\", \"+t[4]+\", \"+t[5]+\", \"+t[6]+\", \"+t[7]+\", \"+t[8]+\", \"+t[9]+\", \"+t[10]+\", \"+t[11]+\", \"+t[12]+\", \"+t[13]+\", \"+t[14]+\", \"+t[15]+\")\"}},4165:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,c,u,h,f,p,d,m=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*m+e[4]*g+e[8]*y+e[12],t[13]=e[1]*m+e[5]*g+e[9]*y+e[13],t[14]=e[2]*m+e[6]*g+e[10]*y+e[14],t[15]=e[3]*m+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*m+s*g+h*y+e[12],t[13]=i*m+l*g+f*y+e[13],t[14]=a*m+c*g+p*y+e[14],t[15]=o*m+u*g+d*y+e[15]),t}},10256:function(t){t.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},74024:function(t,e,r){\"use strict\";var n=r(59518),i=r(6807),a=r(81330),o=r(38862),s=r(93103),l=r(162),c=r(68950),u=r(66127),h=r(5137),f=r(29388),p=r(4957),d=r(44626),m=r(44431),g=r(27976),y=r(12673),v=r(83473),x=r(54689).nextPow2,_=new s,b=!1;if(document.body){var w=document.body.appendChild(document.createElement(\"div\"));w.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(w).fontStretch&&(b=!0),document.body.removeChild(w)}var T=function(t){!function(t){return\"function\"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=_.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:\"uint8\",usage:\"stream\"}),this.sizeBuffer=this.regl.buffer({type:\"float\",usage:\"stream\"}),this.shader||(this.shader=this.createShader(),_.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(f(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop(\"count\"),offset:t.prop(\"offset\"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this(\"sizeBuffer\")},width:{offset:0,stride:8,buffer:t.this(\"sizeBuffer\")},char:t.this(\"charBuffer\"),position:t.this(\"position\")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop(\"color\"),opacity:t.prop(\"opacity\"),viewport:t.this(\"viewportArray\"),scale:t.this(\"scale\"),align:t.prop(\"align\"),baseline:t.prop(\"baseline\"),translate:t.this(\"translate\"),positionOffset:t.prop(\"positionOffset\")},primitive:\"points\",viewport:t.this(\"viewport\"),vert:\"\\n\\t\\t\\tprecision highp float;\\n\\t\\t\\tattribute float width, charOffset, char;\\n\\t\\t\\tattribute vec2 position;\\n\\t\\t\\tuniform float fontSize, charStep, em, align, baseline;\\n\\t\\t\\tuniform vec4 viewport;\\n\\t\\t\\tuniform vec4 color;\\n\\t\\t\\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\\n\\t\\t\\tvarying vec2 charCoord, charId;\\n\\t\\t\\tvarying float charWidth;\\n\\t\\t\\tvarying vec4 fontColor;\\n\\t\\t\\tvoid main () {\\n\\t\\t\\t\\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\\n\\t\\t\\t\\t\\t+ vec2(positionOffset.x, -positionOffset.y)))\\n\\t\\t\\t\\t\\t/ (viewport.zw * scale.xy);\\n\\n\\t\\t\\t\\tvec2 position = (position + translate) * scale;\\n\\t\\t\\t\\tposition += offset * scale;\\n\\n\\t\\t\\t\\tcharCoord = position * viewport.zw + viewport.xy;\\n\\n\\t\\t\\t\\tgl_Position = vec4(position * 2. - 1., 0, 1);\\n\\n\\t\\t\\t\\tgl_PointSize = charStep;\\n\\n\\t\\t\\t\\tcharId.x = mod(char, atlasDim.x);\\n\\t\\t\\t\\tcharId.y = floor(char / atlasDim.x);\\n\\n\\t\\t\\t\\tcharWidth = width * em;\\n\\n\\t\\t\\t\\tfontColor = color / 255.;\\n\\t\\t\\t}\",frag:\"\\n\\t\\t\\tprecision highp float;\\n\\t\\t\\tuniform float fontSize, charStep, opacity;\\n\\t\\t\\tuniform vec2 atlasSize;\\n\\t\\t\\tuniform vec4 viewport;\\n\\t\\t\\tuniform sampler2D atlas;\\n\\t\\t\\tvarying vec4 fontColor;\\n\\t\\t\\tvarying vec2 charCoord, charId;\\n\\t\\t\\tvarying float charWidth;\\n\\n\\t\\t\\tfloat lightness(vec4 color) {\\n\\t\\t\\t\\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main () {\\n\\t\\t\\t\\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\\n\\t\\t\\t\\tfloat halfCharStep = floor(charStep * .5 + .5);\\n\\n\\t\\t\\t\\t// invert y and shift by 1px (FF expecially needs that)\\n\\t\\t\\t\\tuv.y = charStep - uv.y;\\n\\n\\t\\t\\t\\t// ignore points outside of character bounding box\\n\\t\\t\\t\\tfloat halfCharWidth = ceil(charWidth * .5);\\n\\t\\t\\t\\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\\n\\t\\t\\t\\t\\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\\n\\n\\t\\t\\t\\tuv += charId * charStep;\\n\\t\\t\\t\\tuv = uv / atlasSize;\\n\\n\\t\\t\\t\\tvec4 color = fontColor;\\n\\t\\t\\t\\tvec4 mask = texture2D(atlas, uv);\\n\\n\\t\\t\\t\\tfloat maskY = lightness(mask);\\n\\t\\t\\t\\t// float colorY = lightness(color);\\n\\t\\t\\t\\tcolor.a *= maskY;\\n\\t\\t\\t\\tcolor.a *= opacity;\\n\\n\\t\\t\\t\\t// color.a += .1;\\n\\n\\t\\t\\t\\t// antialiasing, see yiq color space y-channel formula\\n\\t\\t\\t\\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\\n\\n\\t\\t\\t\\tgl_FragColor = color;\\n\\t\\t\\t}\"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if(\"string\"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:\"position positions coord coords coordinates\",font:\"font fontFace fontface typeface cssFont css-font family fontFamily\",fontSize:\"fontSize fontsize size font-size\",text:\"text texts chars characters value values symbols\",align:\"align alignment textAlign textbaseline\",baseline:\"baseline textBaseline textbaseline\",direction:\"dir direction textDirection\",color:\"color colour fill fill-color fillColor textColor textcolor\",kerning:\"kerning kern\",range:\"range dataBox\",viewport:\"vp viewport viewBox viewbox viewPort\",opacity:\"opacity alpha transparency visible visibility opaque\",offset:\"offset positionOffset padding shift indent indentation\"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=h(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&(\"number\"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=v(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+\"px sans-serif\");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if(\"string\"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+\"px \"+t)}else{var i=t.style,s=t.weight,l=t.stretch,c=t.variant;t=n.parse(n.stringify(t)),i&&(t.style=i),s&&(t.weight=s),l&&(t.stretch=l),c&&(t.variant=c)}var u=n.stringify({size:T.baseFontSize,family:t.family,stretch:b?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),h=p(t.size),f=Math.round(h[0]*d(h[1]));if(f!==e.fontSize[r]&&(o=!0,e.fontSize[r]=f),!(e.font[r]&&u==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[u],e.font[r]))){var m=t.family.join(\", \"),g=[t.style];t.style!=t.variant&&g.push(t.variant),t.variant!=t.weight&&g.push(t.weight),b&&t.weight!=t.stretch&&g.push(t.stretch),e.font[r]={baseString:u,family:m,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:y(m,{origin:\"top\",fontSize:T.baseFontSize,fontStyle:g.join(\" \")})},T.fonts[u]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:b?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),\"string\"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),f=0;f2){for(var w=!t.position[0].length,k=u.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if(\"number\"==typeof n)return n;switch(n){case\"right\":case\"end\":return-t;case\"center\":case\"centre\":case\"middle\":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+=\"number\"==typeof t?t-n.baseline:-n[t])}))),null!=t.color)if(t.color||(t.color=\"transparent\"),\"string\"!=typeof t.color&&isNaN(t.color)){var H;if(\"number\"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var Z=(t.color.subarray||t.color.slice).bind(t.color),W=0;W4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var $=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array($);for(var J=0;J1?this.counts[J]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[J]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[J]:this.opacity,baseline:null!=this.baselineOffset[J]?this.baselineOffset[J]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[J]?this.alignOffset[J]:this.alignOffset[0]:0,atlas:this.fontAtlas[J]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*J,2*J+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text=\"\",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement(\"canvas\"),T.atlasContext=T.atlasCanvas.getContext(\"2d\",{alpha:!1}),T.baseFontSize=64,T.fonts={},t.exports=T},38862:function(t,e,r){\"use strict\";var n=r(6807);function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.g.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.g.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return\"function\"==typeof t.getContext&&\"width\"in t&&\"height\"in t}function o(){var t=document.createElement(\"canvas\");return t.style.position=\"absolute\",t.style.top=0,t.style.left=0,t}t.exports=function(t){var e;if(t?\"string\"==typeof t&&(t={container:t}):t={},(t=a(t)||\"string\"==typeof(e=t).nodeName&&\"function\"==typeof e.appendChild&&\"function\"==typeof e.getBoundingClientRect?{container:t}:function(t){return\"function\"==typeof t.drawArrays||\"function\"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:\"container target element el canvas holder parent parentNode wrapper use ref root node\",gl:\"gl context webgl glContext\",attrs:\"attributes attrs contextAttributes\",pixelRatio:\"pixelRatio pxRatio px ratio pxratio pixelratio\",width:\"w width\",height:\"h height\"},!0)).pixelRatio||(t.pixelRatio=r.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(\"string\"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error(\"Element \"+t.container+\" is not found\");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if(\"undefined\"==typeof document)throw Error(\"Not DOM environment. Use headless-gl.\");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}},76765:function(t){t.exports=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}},28062:function(t){\"function\"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},40280:function(t,e,r){\"use strict\";var n=r(36912)(),i=r(63063)(\"Object.prototype.toString\"),a=function(t){return!(n&&t&&\"object\"==typeof t&&Symbol.toStringTag in t)&&\"[object Arguments]\"===i(t)},o=function(t){return!!a(t)||null!==t&&\"object\"==typeof t&&\"number\"==typeof t.length&&t.length>=0&&\"[object Array]\"!==i(t)&&\"[object Function]\"===i(t.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o},78253:function(t){t.exports=!0},82756:function(t){\"use strict\";var e,r,n=Function.prototype.toString,i=\"object\"==typeof Reflect&&null!==Reflect&&Reflect.apply;if(\"function\"==typeof i&&\"function\"==typeof Object.defineProperty)try{e=Object.defineProperty({},\"length\",{get:function(){throw r}}),r={},i((function(){throw 42}),null,e)}catch(t){t!==r&&(i=null)}else i=null;var a=/^\\s*class\\b/,o=function(t){try{var e=n.call(t);return a.test(e)}catch(t){return!1}},s=function(t){try{return!o(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,c=\"function\"==typeof Symbol&&!!Symbol.toStringTag,u=!(0 in[,]),h=function(){return!1};if(\"object\"==typeof document){var f=document.all;l.call(f)===l.call(document.all)&&(h=function(t){if((u||!t)&&(void 0===t||\"object\"==typeof t))try{var e=l.call(t);return(\"[object HTMLAllCollection]\"===e||\"[object HTML document.all class]\"===e||\"[object HTMLCollection]\"===e||\"[object Object]\"===e)&&null==t(\"\")}catch(t){}return!1})}t.exports=i?function(t){if(h(t))return!0;if(!t)return!1;if(\"function\"!=typeof t&&\"object\"!=typeof t)return!1;try{i(t,null,e)}catch(t){if(t!==r)return!1}return!o(t)&&s(t)}:function(t){if(h(t))return!0;if(!t)return!1;if(\"function\"!=typeof t&&\"object\"!=typeof t)return!1;if(c)return s(t);if(o(t))return!1;var e=l.call(t);return!(\"[object Function]\"!==e&&\"[object GeneratorFunction]\"!==e&&!/^\\[object HTML/.test(e))&&s(t)}},80340:function(t,e,r){\"use strict\";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\\s*(?:function)?\\*/,s=r(36912)(),l=Object.getPrototypeOf;t.exports=function(t){if(\"function\"!=typeof t)return!1;if(o.test(a.call(t)))return!0;if(!s)return\"[object GeneratorFunction]\"===i.call(t);if(!l)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function(\"return function*() {}\")()}catch(t){}}();n=!!e&&l(e)}return l(t)===n}},39488:function(t){\"use strict\";t.exports=\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))},73287:function(t){\"use strict\";t.exports=function(t){return t!=t}},63057:function(t,e,r){\"use strict\";var n=r(87227),i=r(97936),a=r(73287),o=r(60758),s=r(85684),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},60758:function(t,e,r){\"use strict\";var n=r(73287);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN(\"a\")?Number.isNaN:n}},85684:function(t,e,r){\"use strict\";var n=r(97936),i=r(60758);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},60201:function(t){\"use strict\";t.exports=function(t){var e=typeof t;return null!==t&&(\"object\"===e||\"function\"===e)}},29388:function(t){\"use strict\";var e=Object.prototype.toString;t.exports=function(t){var r;return\"[object Object]\"===e.call(t)&&(null===(r=Object.getPrototypeOf(t))||r===Object.getPrototypeOf({}))}},9914:function(t){\"use strict\";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},13986:function(t){\"use strict\";t.exports=function(t){return\"string\"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}},15628:function(t,e,r){\"use strict\";var n=r(61262),i=r(70085),a=r(63063),o=a(\"Object.prototype.toString\"),s=r(36912)(),l=r(52991),c=\"undefined\"==typeof globalThis?r.g:globalThis,u=i(),h=a(\"Array.prototype.indexOf\",!0)||function(t,e){for(var r=0;r-1}return!!l&&function(t){var e=!1;return n(p,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},62914:function(t){\"use strict\";t.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},99978:function(t,e,r){\"use strict\";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);\"buttons\"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function h(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function f(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function m(t){c(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener(\"mousemove\",p),t.addEventListener(\"mousedown\",d),t.addEventListener(\"mouseup\",m),t.addEventListener(\"mouseleave\",u),t.addEventListener(\"mouseenter\",u),t.addEventListener(\"mouseout\",u),t.addEventListener(\"mouseover\",u),t.addEventListener(\"blur\",h),t.addEventListener(\"keyup\",f),t.addEventListener(\"keydown\",f),t.addEventListener(\"keypress\",f),t!==window&&(window.addEventListener(\"blur\",h),window.addEventListener(\"keyup\",f),window.addEventListener(\"keydown\",f),window.addEventListener(\"keypress\",f)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener(\"mousemove\",p),t.removeEventListener(\"mousedown\",d),t.removeEventListener(\"mouseup\",m),t.removeEventListener(\"mouseleave\",u),t.removeEventListener(\"mouseenter\",u),t.removeEventListener(\"mouseout\",u),t.removeEventListener(\"mouseover\",u),t.removeEventListener(\"blur\",h),t.removeEventListener(\"keyup\",f),t.removeEventListener(\"keydown\",f),t.removeEventListener(\"keypress\",f),t!==window&&(window.removeEventListener(\"blur\",h),window.removeEventListener(\"keyup\",f),window.removeEventListener(\"keydown\",f),window.removeEventListener(\"keypress\",f)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(41926)},44039:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},41926:function(t,e){\"use strict\";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<0&&a(s,r))}catch(t){u.call(new f(r),t)}}}function u(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&a(s,e))}function h(t,e,r,n){for(var i=0;i1&&(i*=y=Math.sqrt(y),s*=y);var v=i*i,x=s*s,_=(c==u?-1:1)*Math.sqrt(Math.abs((v*x-v*g*g-x*m*m)/(v*g*g+x*m*m)));_==1/0&&(_=1);var b=_*i*g/s+(t+h)/2,w=_*-s*m/i+(n+f)/2,T=Math.asin(((n-w)/s).toFixed(9)),k=Math.asin(((f-w)/s).toFixed(9));(T=tk&&(T-=2*e),!u&&k>T&&(k-=2*e)}if(Math.abs(k-T)>r){var A=k,M=h,S=f;k=T+r*(u&&k>T?1:-1);var E=a(h=b+i*Math.cos(k),f=w+s*Math.sin(k),i,s,l,0,u,M,S,[k,A,b,w])}var C=Math.tan((k-T)/4),L=4/3*i*C,I=4/3*s*C,P=[2*t-(t+L*Math.sin(T)),2*n-(n-I*Math.cos(T)),h+L*Math.sin(k),f-I*Math.cos(k),h,f];if(p)return P;E&&(P=P.concat(E));for(var z=0;z7&&(r.push(y.splice(0,7)),y.unshift(\"C\"));break;case\"S\":var x=p,_=d;\"C\"!=e&&\"S\"!=e||(x+=x-o,_+=_-l),y=[\"C\",x,_,y[1],y[2],y[3],y[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(h=2*p-h,f=2*d-f):(h=p,f=d),y=i(p,d,h,f,y[1],y[2]);break;case\"Q\":h=y[1],f=y[2],y=i(p,d,y[1],y[2],y[3],y[4]);break;case\"L\":y=n(p,d,y[1],y[2]);break;case\"H\":y=n(p,d,y[1],d);break;case\"V\":y=n(p,d,p,y[1]);break;case\"Z\":y=n(p,d,c,u)}e=v,p=y[y.length-2],d=y[y.length-1],y.length>4?(o=y[y.length-4],l=y[y.length-3]):(o=p,l=d),r.push(y)}return r}},27976:function(t){\"use strict\";var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(t){n[t]=t})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,i){for(var a,o,s=function(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}(t),l=1;l0&&!i.call(t,0))for(var m=0;m0)for(var g=0;g=0&&\"[object Function]\"===e.call(t.callee)),n}},96927:function(t,e,r){\"use strict\";var n=r(99433),i=r(59457)(),a=r(63063),o=Object,s=a(\"Array.prototype.push\"),l=a(\"Object.prototype.propertyIsEnumerable\"),c=i?Object.getOwnPropertySymbols:null;t.exports=function(t,e){if(null==t)throw new TypeError(\"target must be an object\");var r=o(t);if(1===arguments.length)return r;for(var a=1;a1e4)throw Error(\"References have circular dependency. Please, check them.\");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp(\"(\\\\\"+i+r+\"\\\\\"+i+\")\",\"g\"),t[0]+\"$1\"+t[1])})),e}))}));var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error(\"Circular references in parenthesis\");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function r(t,e){if(e&&e.flat){var r,n=e&&e.escape||\"___\",i=t[0];if(!i)return\"\";for(var a=new RegExp(\"\\\\\"+n+\"([0-9]+)\\\\\"+n),o=0;i!=r;){if(o++>1e4)throw Error(\"Circular references in \"+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,\"\")),e+r}),\"\");function s(e,r){if(null==t[r])throw Error(\"Reference \"+r+\"is undefined\");return t[r]}}function n(t,n){return Array.isArray(t)?r(t,n):e(t,n)}n.parse=e,n.stringify=r,t.exports=n},5137:function(t,e,r){\"use strict\";var n=r(6807);t.exports=function(t){var e;return arguments.length>1&&(t=arguments),\"string\"==typeof t?t=t.split(/\\s/).map(parseFloat):\"number\"==typeof t&&(t=[t]),t.length&&\"number\"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(e={x:(t=n(t,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"})).left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height),e}},26953:function(t){t.exports=function(t){var i=[];return t.replace(r,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(n);return e?e.map(Number):[]}(a),\"m\"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o=\"l\",r=\"m\"==r?\"l\":\"L\");;){if(a.length==e[o])return a.unshift(r),i.push(a);if(a.lengtha!=p>a&&i<(f-u)*(a-h)/(p-h)+u&&(o=!o)}return o}},11516:function(t,e,r){var n,i=r(42391),a=r(92990),o=r(26202),s=r(22222),l=r(17527),c=r(24491),u=!1,h=a();function f(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return h.epsilon(t)},segments:function(t){var e=o(!0,h,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,h,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,h,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,h,t)},union:function(t,e){return f(t,e,n.selectUnion)},intersect:function(t,e){return f(t,e,n.selectIntersect)},difference:function(t,e){return f(t,e,n.selectDifference)},differenceRev:function(t,e){return f(t,e,n.selectDifferenceRev)},xor:function(t,e){return f(t,e,n.selectXor)}},\"object\"==typeof window&&(window.PolyBool=n),t.exports=n},42391:function(t){t.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n(\"check\",{seg1:t,seg2:e})},segmentChop:function(t,e){return n(\"div_seg\",{seg:t,pt:e}),n(\"chop\",{seg:t,pt:e})},statusRemove:function(t){return n(\"pop_seg\",{seg:t})},segmentUpdate:function(t){return n(\"seg_update\",{seg:t})},segmentNew:function(t,e){return n(\"new_seg\",{seg:t,primary:e})},segmentRemove:function(t){return n(\"rem_seg\",{seg:t})},tempStatus:function(t,e,r){return n(\"temp_status\",{seg:t,above:e,below:r})},rewind:function(t){return n(\"rewind\",{seg:t})},status:function(t,e,r){return n(\"status\",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n(\"vert\",{x:e}))},log:function(t){return\"string\"!=typeof t&&(t=JSON.stringify(t,!1,\" \")),n(\"log\",{txt:t})},reset:function(){return n(\"reset\")},selected:function(t){return n(\"selected\",{segs:t})},chainStart:function(t){return n(\"chain_start\",{seg:t})},chainRemoveHead:function(t,e){return n(\"chain_rem_head\",{index:t,pt:e})},chainRemoveTail:function(t,e){return n(\"chain_rem_tail\",{index:t,pt:e})},chainNew:function(t,e){return n(\"chain_new\",{pt1:t,pt2:e})},chainMatch:function(t){return n(\"chain_match\",{index:t})},chainClose:function(t){return n(\"chain_close\",{index:t})},chainAddHead:function(t,e){return n(\"chain_add_head\",{index:t,pt:e})},chainAddTail:function(t,e){return n(\"chain_add_tail\",{index:t,pt:e})},chainConnect:function(t,e){return n(\"chain_con\",{index1:t,index2:e})},chainReverse:function(t){return n(\"chain_rev\",{index:t})},chainJoin:function(t,e){return n(\"chain_join\",{index1:t,index2:e})},done:function(){return n(\"done\")}}}},92990:function(t){t.exports=function(t){\"number\"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return\"number\"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},24491:function(t){var e={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0}))}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var h=e.linesIntersect(o,s,c,u);if(!1===h){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var f=e.pointsSame(o,c),p=e.pointsSame(s,u);if(f&&p)return n;var d=!f&&e.pointBetween(o,c,u),m=!p&&e.pointBetween(s,c,u);if(f)return m?l(n,s):l(t,u),n;d&&(p||(m?l(n,s):l(t,u)),l(n,o))}else 0===h.alongA&&(-1===h.alongB?l(t,c):0===h.alongB?l(t,h.pt):1===h.alongB&&l(t,u)),0===h.alongB&&(-1===h.alongA?l(n,o):0===h.alongA?l(n,h.pt):1===h.alongA&&l(n,s));return!1}for(var h=[];!a.isEmpty();){var f=a.getHead();if(r&&r.vert(f.pt[0]),f.isStart){r&&r.segmentNew(f.seg,f.primary);var p=c(f),d=p.before?p.before.ev:null,m=p.after?p.after.ev:null;function g(){if(d){var t=u(f,d);if(t)return t}return!!m&&u(f,m)}r&&r.tempStatus(f.seg,!!d&&d.seg,!!m&&m.seg);var y,v,x=g();if(x)t?(v=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=f.seg.myFill,r&&r.segmentUpdate(x.seg),f.other.remove(),f.remove();if(a.getHead()!==f){r&&r.rewind(f.seg);continue}t?(v=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below,f.seg.myFill.below=m?m.seg.myFill.above:i,f.seg.myFill.above=v?!f.seg.myFill.below:f.seg.myFill.below):null===f.seg.otherFill&&(y=m?f.primary===m.primary?m.seg.otherFill.above:m.seg.myFill.above:f.primary?o:i,f.seg.otherFill={above:y,below:y}),r&&r.status(f.seg,!!d&&d.seg,!!m&&m.seg),f.other.status=p.insert(n.node({ev:f}))}else{var _=f.status;if(null===_)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(s.exists(_.prev)&&s.exists(_.next)&&u(_.prev.ev,_.next.ev),r&&r.statusRemove(_.ev.seg),_.remove(),!f.primary){var b=f.seg.myFill;f.seg.myFill=f.seg.otherFill,f.seg.otherFill=b}h.push(f.seg)}a.getHead().remove()}return r&&r.done(),h}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},n.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},n.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},n.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},n.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return this.read_uint32(e);case 9:return 0|this.read_uint32(e);default:return null}},n.prototype.scan_ifd=function(t,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;othis.input.length)throw e(\"unexpected EOF\",\"EBADDATA\");for(var d=[],m=f,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:c,entry_offset:n+this.start,data_length:h,data_offset:f+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},t.exports.ExifParser=n,t.exports.get_orientation=function(t){var e=0;try{return new n(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},20186:function(t,e,r){\"use strict\";var n=r(3944).bc,i=r(3944).bb;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,c=0;ce.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(\"imir\"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),\"irot\"===t.type)for(var n=0;n1&&(f.variants=h.variants),h.orientation&&(f.orientation=h.orientation),h.exif_location&&h.exif_location.offset+h.exif_location.length<=t.length){var p=a(t,h.exif_location.offset),d=t.slice(h.exif_location.offset+p+4,h.exif_location.offset+h.exif_location.length),m=s.get_orientation(d);m>0&&(f.orientation=m)}return f}}}}}}},78218:function(t,e,r){\"use strict\";var n=r(3944).VG,i=r(3944).rU,a=r(3944).$l,o=n(\"BM\");t.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}},37495:function(t,e,r){\"use strict\";var n=r(3944).VG,i=r(3944).rU,a=r(3944).$l,o=n(\"GIF87a\"),s=n(\"GIF89a\");t.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}},88708:function(t,e,r){\"use strict\";var n=r(3944).$l;t.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||c>o.height)&&(o=u)}return{width:o.width,height:o.height,variants:a,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}},13827:function(t,e,r){\"use strict\";var n=r(3944).bc,i=r(3944).VG,a=r(3944).rU,o=r(19789),s=i(\"Exif\\0\\0\");t.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(c.orientation=i),c}e+=r}}},46594:function(t,e,r){\"use strict\";var n=r(3944).VG,i=r(3944).rU,a=r(3944).bb,o=n(\"‰PNG\\r\\n\u001a\\n\"),s=n(\"IHDR\");t.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}},13198:function(t,e,r){\"use strict\";var n=r(3944).VG,i=r(3944).rU,a=r(3944).bb,o=n(\"8BPS\\0\u0001\");t.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}},94203:function(t){\"use strict\";function e(t){return\"number\"==typeof t&&isFinite(t)&&t>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,i=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,a=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,o=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(t){return s.test(t)?t.match(s)[0]:\"px\"}t.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function f(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||u(t,e+8):\"VP8L\"===p&&d>=9?r=r||h(t,e+8):\"VP8X\"===p&&d>=10?r=r||f(t,e+8):\"EXIF\"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},43751:function(t,e,r){\"use strict\";t.exports={avif:r(31149),bmp:r(78218),gif:r(37495),ico:r(88708),jpeg:r(13827),png:r(46594),psd:r(13198),svg:r(94203),tiff:r(46966),webp:r(88023)}},19490:function(t,e,r){\"use strict\";var n=r(43751);t.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(_.groups=x=t.map((function(t,c){var u=x[c];return t?(\"function\"==typeof t?t={after:t}:\"number\"==typeof t[0]&&(t={positions:t}),t=o(t,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},v,t)),a(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,\"float64\"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t=\"transparent\"),!Array.isArray(t)||\"number\"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\tbTopCoord -= normalWidth * endTopJoin;\\n\\t\\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\\n\\t}\\n\\n\\tif (nextReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\\n\\t\\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\taBotCoord -= normalWidth * startBotJoin;\\n\\t\\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\\n\\t}\\n\\n\\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\\n\\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\\n\\n\\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\\n\\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\\n\\n\\t//position is normalized 0..1 coord on the screen\\n\\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\\n\\n\\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\\n\\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\\n\\n\\t//bevel miter cutoffs\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n\\n\\t//round miter cutoffs\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n}\\n\",frag:\"\\nprecision highp float;\\n\\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\\nuniform sampler2D dashTexture;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nvoid main() {\\n\\tfloat alpha = 1., distToStart, distToEnd;\\n\\tfloat cutoff = thickness * .5;\\n\\n\\t//bevel miter\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToStart + 1., 0.), 1.);\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToEnd + 1., 0.), 1.);\\n\\t\\t}\\n\\t}\\n\\n\\t// round miter\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - startCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - endCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\\n\\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\\n\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:\"triangle\",elements:function(t,e){return e.triangles},offset:0,vert:\"\\nprecision highp float;\\n\\nattribute vec2 position, positionFract;\\n\\nuniform vec4 color;\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio, id;\\nuniform vec4 viewport;\\nuniform float opacity;\\n\\nvarying vec4 fragColor;\\n\\nconst float MAX_LINES = 256.;\\n\\nvoid main() {\\n\\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\\n\\n\\tvec2 position = position * scale + translate\\n + positionFract * scale + translateFract\\n + position * scaleFract\\n + positionFract * scaleFract;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n\\tfragColor.a *= opacity;\\n}\\n\",frag:\"\\nprecision highp float;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n\\tgl_FragColor = fragColor;\\n}\\n\",uniforms:{scale:t.prop(\"scale\"),color:t.prop(\"fill\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},g.defaults={dashes:null,join:\"miter\",miterLimit:1,thickness:10,cap:\"square\",color:\"black\",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},g.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},g.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);\"number\"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>g.precisionThreshold||e.scale[1]*e.viewport.height>g.precisionThreshold||\"rect\"===e.join||!e.join&&(e.thickness<=2||e.count>=g.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},g.prototype.update=function(t){var e=this;if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,u=this.gl;if(t.forEach((function(t,p){var y=e.passes[p];if(void 0!==t)if(null!==t){if(\"number\"==typeof t[0]&&(t={positions:t}),t=o(t,{positions:\"positions points data coords\",thickness:\"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth\",join:\"lineJoin linejoin join type mode\",miterLimit:\"miterlimit miterLimit\",dashes:\"dash dashes dasharray dash-array dashArray\",color:\"color colour stroke colors colours stroke-color strokeColor\",fill:\"fill fill-color fillColor\",opacity:\"alpha opacity\",overlay:\"overlay crease overlap intersect\",close:\"closed close closed-path closePath\",range:\"range dataBox\",viewport:\"viewport viewBox\",hole:\"holes hole hollow\",splitNull:\"splitNull\"}),y||(e.passes[p]=y={id:p,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:r.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},t=a({},g.defaults,t)),null!=t.thickness&&(y.thickness=parseFloat(t.thickness)),null!=t.opacity&&(y.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(y.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(y.overlay=!!t.overlay,p=D}));(P=P.slice(0,R)).push(D)}for(var F=function(t){var e=k.slice(2*O,2*P[t]).concat(D?k.slice(2*D):[]),r=(y.hole||[]).map((function(e){return e-D+(P[t]-O)})),n=l(e,r);n=n.map((function(e){return e+O+(e+Ot.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\\n\\t\\tdiscard;\\n\\t}\\n\\n\\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\\n\\n\\tfloat borderRadius = fragBorderRadius;\\n\\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\\n\\tvec4 color = mix(fragColor, fragBorderColor, ratio);\\n\\tcolor.a *= alpha * opacity;\\n\\tgl_FragColor = color;\\n}\\n\"]),l.vert=h([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute float x, y, xFract, yFract;\\nattribute float size, borderSize;\\nattribute vec4 colorId, borderColorId;\\nattribute float isActive;\\n\\n// `invariant` effectively turns off optimizations for the position.\\n// We need this because -fast-math on M1 Macs is re-ordering\\n// floating point operations in a way that causes floating point\\n// precision limits to put points in the wrong locations.\\ninvariant gl_Position;\\n\\nuniform bool constPointSize;\\nuniform float pixelRatio;\\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\\nuniform sampler2D paletteTexture;\\n\\nconst float maxSize = 100.;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth;\\n\\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\\n\\nbool isDirect = (paletteSize.x < 1.);\\n\\nvec4 getColor(vec4 id) {\\n return isDirect ? id / 255. : texture2D(paletteTexture,\\n vec2(\\n (id.x + .5) / paletteSize.x,\\n (id.y + .5) / paletteSize.y\\n )\\n );\\n}\\n\\nvoid main() {\\n // ignore inactive points\\n if (isActive == 0.) return;\\n\\n vec2 position = vec2(x, y);\\n vec2 positionFract = vec2(xFract, yFract);\\n\\n vec4 color = getColor(colorId);\\n vec4 borderColor = getColor(borderColorId);\\n\\n float size = size * maxSize / 255.;\\n float borderSize = borderSize * maxSize / 255.;\\n\\n gl_PointSize = (size + borderSize) * pointSizeScale;\\n\\n vec2 pos = (position + translate) * scale\\n + (positionFract + translateFract) * scale\\n + (position + translate) * scaleFract\\n + (positionFract + translateFract) * scaleFract;\\n\\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\\n\\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\\n fragColor = color;\\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\\n fragWidth = 1. / gl_PointSize;\\n}\\n\"]),m&&(l.frag=l.frag.replace(\"smoothstep\",\"smoothStep\"),s.frag=s.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=t(l)}x.defaults={color:\"black\",borderColor:\"transparent\",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=c(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var f={primitive:\"points\",usage:\"static\",data:e.tree,type:\"uint32\"};e.elements?e.elements(f):e.elements=o.elements(f)}var p=g.float32(t);return i({data:p,usage:\"dynamic\"}),a({data:g.fract32(t,p),usage:\"dynamic\"}),l({data:new Uint8Array(u),type:\"uint8\",usage:\"stream\"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&\"number\"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(t){if(\"number\"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}t.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[s(t.byteLength)>>2].push(t)}var r=o(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function c(t){return!!t&&\"object\"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&\"number\"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||K(t.data))}function u(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===h?i>>=1:5125===h&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},l=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var h=[];return{create:function(t,e){function s(t){if(t)if(\"number\"==typeof t)l(t),h.primType=4,h.vertCount=0|t,h.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,f=0;Array.isArray(t)||K(t)||c(t)?e=t:(\"data\"in t&&(e=t.data),\"usage\"in t&&(r=nt[t.usage]),\"primitive\"in t&&(n=st[t.primitive]),\"count\"in t&&(i=0|t.count),\"type\"in t&&(f=u[t.type]),\"length\"in t?o=0|t.length:(o=i,5123===f||5122===f?o*=2:5125!==f&&5124!==f||(o*=4))),a(h,e,r,n,i,o,f)}else l(),h.primType=4,h.vertCount=0,h.type=5121;return s}var l=r.create(null,34963,!0),h=new i(l._buffer);return n.elementsCount++,s(t),s._reglType=\"elements\",s._elements=h,s.subdata=function(t,e){return l.subdata(t,e),s},s.destroy=function(){o(h)},s},createStream:function(t){var e=h.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){h.push(t)},getElements:function(t){return\"function\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Q(s).forEach(o)}}}function y(t){for(var e=$.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(ct).forEach((function(e){t+=ct[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;I.call(r);var a=C();return\"number\"==typeof t?M(a,0|t,\"number\"==typeof e?0|e:0|t):t?(P(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),z(r,3553),R(),L(a),o.profile&&(i.stats.size=A(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=X[i.internalformat],n.type=J[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new O(3553);return ct[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=m();return l(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),R(),g(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,D(i);for(var l=0;i.mipmask>>l;++l){var c=a>>l,u=s>>l;if(!c||!u)break;t.texImage2D(3553,l,i.format,c,u,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=A(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType=\"texture2d\",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,c){function h(t,e,r,n,i,a){var s,c=f.texInfo;for(I.call(c),s=0;6>s;++s)y[s]=C();if(\"number\"!=typeof t&&t){if(\"object\"==typeof t)if(e)S(y[0],t),S(y[1],e),S(y[2],r),S(y[3],n),S(y[4],i),S(y[5],a);else if(P(c,t),u(f,t),\"faces\"in t)for(t=t.faces,s=0;6>s;++s)l(y[s],f),S(y[s],t[s]);else for(s=0;6>s;++s)S(y[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(y[s],t,t);for(l(f,y[0]),f.mipmask=c.genMipmaps?(y[0].width<<1)-1:y[0].mipmask,f.internalformat=y[0].internalformat,h.width=y[0].width,h.height=y[0].height,D(f),s=0;6>s;++s)E(y[s],34069+s);for(z(c,34067),R(),o.profile&&(f.stats.size=A(f.internalformat,f.type,h.width,h.height,c.genMipmaps,!0)),h.format=X[f.internalformat],h.type=J[f.type],h.mag=rt[c.magFilter],h.min=nt[c.minFilter],h.wrapS=it[c.wrapS],h.wrapT=it[c.wrapT],s=0;6>s;++s)L(y[s]);return h}var f=new O(34067);ct[f.id]=f,a.cubeCount++;var y=Array(6);return h(e,r,n,i,s,c),h.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=m();return l(a,f),a.width=0,a.height=0,p(a,e),a.width=a.width||(f.width>>i)-r,a.height=a.height||(f.height>>i)-n,D(f),d(a,34069+t,r,n,i),R(),g(a),h},h.resize=function(e){if((e|=0)!==f.width){h.width=f.width=e,h.height=f.height=e,D(f);for(var r=0;6>r;++r)for(var n=0;f.mipmask>>n;++n)t.texImage2D(34069+r,n,f.format,e>>n,e>>n,0,f.format,f.type,null);return R(),o.profile&&(f.stats.size=A(f.internalformat,f.type,h.width,h.height,!1,!0)),h}},h._reglType=\"textureCube\",h._texture=f,o.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);z(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(c=0;ct;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:\"framebufferCube\",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Q(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),y(e)}))}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function C(t,e,r,n,i,a,o){function s(){this.id=++h,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,f[this.id]=this,this.buffers=[]}var l=r.maxAttributes,u=Array(l);for(r=0;r=f.byteLength?l.subdata(f):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(u,34962,!1,!0)),h.buffer=i.getBuffer(l),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1,t[s]=1):i.getBuffer(u)?(h.buffer=i.getBuffer(u),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1):i.getBuffer(u.buffer)?(h.buffer=i.getBuffer(u.buffer),h.size=0|(+u.size||h.buffer.dimension),h.normalized=!!u.normalized||!1,h.type=\"type\"in u?rt[u.type]:h.buffer.dtype,h.offset=0|(u.offset||0),h.stride=0|(u.stride||0),h.divisor=0|(u.divisor||0),h.state=1):\"x\"in u&&(h.x=+u.x||0,h.y=+u.y||0,h.z=+u.z||0,h.w=+u.w||0,h.state=2)}for(l=0;lt&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Q(c).forEach(e),c={},Q(u).forEach(e),u={},f.forEach((function(e){t.deleteProgram(e.program)})),f.length=0,h={},r.shaderCount=0},program:function(e,n,i,a){var o=h[n];o||(o=h[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),f.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=f.indexOf(d);f.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(u[d.vertId]),delete u[d.vertId],delete h[d.fragId][d.vertId]),Object.keys(h[d.fragId]).length||(t.deleteShader(c[d.fragId]),delete c[d.fragId],delete h[d.fragId])}})},restore:function(){c={},u={};for(var t=0;t>>e|t<<32-e}function z(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function O(t){return Array.prototype.slice.call(t)}function D(t){return O(t).join(\"\")}function R(t){function e(){var t=[],e=[];return G((function(){t.push.apply(t,O(arguments))}),{def:function(){var r=\"v\"+i++;return e.push(r),0>>4&15)+\"0123456789abcdef\".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,c,u,h,f,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,u=0;uh;h++){var m;16>h?r[h]=e[h+u]:(f=h,p=z(p=P(p=r[h-2],17)^P(p,19)^p>>>10,r[h-7]),m=P(m=r[h-15],7)^P(m,18)^m>>>3,r[f]=z(z(p,m),r[h-16])),f=z(z(z(z(c,f=P(f=o,6)^P(f,11)^P(f,25)),o&s^~o&l),Mt[h]),r[h]),p=z(c=P(c=d,2)^P(c,13)^P(c,22),d&n^d&i^n&i),c=l,l=s,s=o,o=z(a,f),a=i,i=n,n=d,d=z(f,p)}t[0]=z(d,t[0]),t[1]=z(n,t[1]),t[2]=z(i,t[2]),t[3]=z(a,t[3]),t[4]=z(o,t[4]),t[5]=z(s,t[5]),t[6]=z(l,t[6]),t[7]=z(c,t[7])}for(e=\"\",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n=\"\",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function F(t){return Array.isArray(t)||K(t)||c(t)}function B(t){return t.sort((function(t,e){return\"viewport\"===t?-1:\"viewport\"===e?1:t\"+e+\"?\"+i+\".constant[\"+e+\"]:0;\"})).join(\"\"),\"}}else{\",\"if(\",s,\"(\",i,\".buffer)){\",u,\"=\",a,\".createStream(\",34962,\",\",i,\".buffer);\",\"}else{\",u,\"=\",a,\".getBuffer(\",i,\".buffer);\",\"}\",h,'=\"type\" in ',i,\"?\",o.glTypes,\"[\",i,\".type]:\",u,\".dtype;\",l.normalized,\"=!!\",i,\".normalized;\"),n(\"size\"),n(\"offset\"),n(\"stride\"),n(\"divisor\"),r(\"}}\"),r.exit(\"if(\",l.isStream,\"){\",a,\".destroyStream(\",u,\");\",\"}\"),l}))})),o}function M(t,e,n,i,a){function s(t){var e=c[t];e&&(f[t]=e)}var l=function(t,e){if(\"string\"==typeof(r=t.static).frag&&\"string\"==typeof r.vert){if(0>1)\",s],\");\")}function e(){r(l,\".drawArraysInstancedANGLE(\",[d,m,g,s],\");\")}p&&\"null\"!==p?v?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}function o(){function t(){r(u+\".drawElements(\"+[d,g,y,m+\"<<((\"+y+\"-5121)>>1)\"]+\");\")}function e(){r(u+\".drawArrays(\"+[d,m,g]+\");\")}p&&\"null\"!==p?v?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}var s,l,c=t.shared,u=c.gl,h=c.draw,f=n.draw,p=function(){var i=f.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),f.elementsActive&&a(\"if(\"+i+\")\"+u+\".bindBuffer(34963,\"+i+\".buffer.buffer);\")):(i=a.def(),a(i,\"=\",h,\".\",\"elements\",\";\",\"if(\",i,\"){\",u,\".bindBuffer(\",34963,\",\",i,\".buffer.buffer);}\",\"else if(\",c.vao,\".currentVAO){\",i,\"=\",t.shared.elements+\".getElements(\"+c.vao,\".currentVAO.elements);\",et?\"\":\"if(\"+i+\")\"+u+\".bindBuffer(34963,\"+i+\".buffer.buffer);\",\"}\")),i}(),d=i(\"primitive\"),m=i(\"offset\"),g=function(){var i=f.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(h,\".\",\"count\"),i}();if(\"number\"==typeof g){if(0===g)return}else r(\"if(\",g,\"){\"),r.exit(\"}\");Q&&(s=i(\"instances\"),l=t.instancing);var y=p+\".type\",v=f.elements&&j(f.elements)&&!f.vaoActive;Q&&(\"number\"!=typeof s||0<=s)?\"string\"==typeof s?(r(\"if(\",s,\">0){\"),a(),r(\"}else if(\",s,\"<0){\"),o(),r(\"}\")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc(\"body\",i),Q&&(e.instancing=i.def(e.shared.extensions,\".angle_instanced_arrays\")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){I(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,e),\");\"):e(t.shared.vao,\".setVAO(\",t.shared.vao,\".targetVAO);\"):(e(t.shared.vao,\".setVAO(null);\"),z(t,e,r,n.attributes,(function(){return!0}))),O(t,e,r,n.uniforms,(function(){return!0}),!1),D(t,e,e,r)}function Z(t,e,r,n){function i(){return!0}t.batchId=\"a1\",I(t,e),z(t,e,r,n.attributes,i),O(t,e,r,n.uniforms,i,!1),D(t,e,e,r)}function Y(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}I(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,\"for(\",s,\"=0;\",s,\"<\",\"a1\",\";++\",s,\"){\",l,\"=\",\"a0\",\"[\",s,\"];\",u,\"}\",c.exit),r.needsContext&&S(t,u,r.context),r.needsFramebuffer&&E(t,u,r.framebuffer),L(t,u,r.state,i),r.profile&&i(r.profile)&&P(t,u,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?u(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,u),\");\"):c(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,c),\");\"):c(t.shared.vao,\".setVAO(\",t.shared.vao,\".targetVAO);\"):(c(t.shared.vao,\".setVAO(null);\"),z(t,c,r,n.attributes,a),z(t,u,r,n.attributes,i)),O(t,c,r,n.uniforms,a,!1),O(t,u,r,n.uniforms,i,!0),D(t,c,u,r)):(e=t.global.def(\"{}\"),n=r.shader.progVar.append(t,u),l=u.def(n,\".id\"),c=u.def(e,\"[\",l,\"]\"),u(t.shared.gl,\".useProgram(\",n,\".program);\",\"if(!\",c,\"){\",c,\"=\",e,\"[\",l,\"]=\",t.link((function(e){return q(Z,t,r,e,2)})),\"(\",n,\");}\",c,\".call(this,a0[\",s,\"],\",s,\");\"))}function X(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,\".\"+e,n):i.set(a.shader,\".\"+e,t.link(n,{stable:!0})))}var i=t.proc(\"scope\",3);t.batchId=\"a2\";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),B(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);v(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],\"[\"+n+\"]\",r):i.set(t.next[e],\"[\"+n+\"]\",t.link(r,{stable:!0}))})):j(n)?i.set(a.next,\".\"+e,t.link(o,{stable:!0})):i.set(a.next,\".\"+e,o)})),P(t,i,r,!0,!0),[\"elements\",\"offset\",\"count\",\"instances\",\"primitive\"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,\".\"+e,n):i.set(a.draw,\".\"+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o=\"[\"+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+\"]\"),i.set(a.uniforms,\"[\"+t.link(e.id(n),{stable:!0})+\"]\",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new J).forEach((function(t){i.set(a,\".\"+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,\".targetVAO\",s):i.set(a.vao,\".targetVAO\",t.link(s,{stable:!0}))}n(\"vert\"),n(\"frag\"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach((function(e){t+=u[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,u=32854;if(\"object\"==typeof e&&e?(\"shape\"in e?(n=0|(a=e.shape)[0],a=0|a[1]):(\"radius\"in e&&(n=a=0|e.radius),\"width\"in e&&(n=0|e.width),\"height\"in e&&(a=0|e.height)),\"format\"in e&&(u=s[e.format])):\"number\"==typeof e?(n=0|e,a=\"number\"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=wt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height||(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=wt[c.format]*c.width*c.height)),o},o._reglType=\"renderbuffer\",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){Q(u).forEach(o)},restore:function(){Q(u).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},kt=[];kt[6408]=4,kt[6407]=3;var At=[];At[5121]=1,At[5126]=4,At[36193]=2;var Mt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],St=[\"x\",\"y\",\"z\",\"w\"],Et=\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\".split(\" \"),Ct={0:0,1:1,zero:0,one:1,\"src color\":768,\"one minus src color\":769,\"src alpha\":770,\"one minus src alpha\":771,\"dst color\":774,\"one minus dst color\":775,\"dst alpha\":772,\"one minus dst alpha\":773,\"constant color\":32769,\"one minus constant color\":32770,\"constant alpha\":32771,\"one minus constant alpha\":32772,\"src alpha saturate\":776},Lt={never:512,less:513,\"<\":513,equal:514,\"=\":514,\"==\":514,\"===\":514,lequal:515,\"<=\":515,greater:516,\">\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},It={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},Pt={cw:2304,ccw:2305},zt=new N(!1,!1,!1,(function(){}));return function(t){function e(){if(0===$.length)T&&T.update(),et=null;else{et=Y.next(e),h();for(var t=$.length-1;0<=t;--t){var r=$[t];r&&r(P,null,0)}d.flush(),T&&T.update()}}function r(){!et&&0<$.length&&(et=Y.next(e))}function n(){et&&(Y.cancel(e),et=null)}function i(t){t.preventDefault(),n(),K.forEach((function(t){t()}))}function o(t){d.getError(),v.restore(),F.restore(),O.restore(),B.restore(),N.restore(),j.restore(),R.restore(),T&&T.restore(),U.procs.refresh(),r(),Q.forEach((function(t){t()}))}function s(t){function e(t,e){var r={},n={};return Object.keys(t).forEach((function(i){var a=t[i];if(W.isDynamic(a))n[i]=W.unbox(a,i);else{if(e&&Array.isArray(a))for(var o=0;o=$.length&&n()}}}}function u(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,P.viewportWidth=P.framebufferWidth=P.drawingBufferWidth=t[2]=e[2]=d.drawingBufferWidth,P.viewportHeight=P.framebufferHeight=P.drawingBufferHeight=t[3]=e[3]=d.drawingBufferHeight}function h(){P.tick+=1,P.time=p(),u(),U.procs.poll()}function f(){B.refresh(),u(),U.procs.refresh(),T&&T.update()}function p(){return(X()-k)/1e3}if(!(t=a(t)))return null;var d=t.gl,y=d.getContextAttributes();d.isContextLost();var v=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)rt(G({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:W.define.bind(null,1),context:W.define.bind(null,2),this:W.define.bind(null,3),draw:s({}),buffer:function(t){return O.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:y,frame:c,on:function(t,e){var r;switch(t){case\"frame\":return c(e);case\"lost\":r=K;break;case\"restore\":r=Q;break;case\"destroy\":r=tt}return r.push(e),{cancel:function(){for(var t=0;t4294967295||l(e)!==e)throw new s(\"`length` must be a positive 32-bit integer\");var r=arguments.length>2&&!!arguments[2],n=!0,c=!0;if(\"length\"in t&&o){var u=o(t,\"length\");u&&!u.configurable&&(n=!1),u&&!u.writable&&(c=!1)}return(n||c||!r)&&(a?i(t,\"length\",e,!0,!0):i(t,\"length\",e)),t}},90386:function(t,e,r){t.exports=i;var n=r(7683).EventEmitter;function i(){n.call(this)}r(28062)(i,n),i.Readable=r(44639),i.Writable=r(84627),i.Duplex=r(71977),i.Transform=r(40255),i.PassThrough=r(28765),i.finished=r(37165),i.pipeline=r(6772),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on(\"data\",i),t.on(\"drain\",a),t._isStdio||e&&!1===e.end||(r.on(\"end\",s),r.on(\"close\",l));var o=!1;function s(){o||(o=!0,t.end())}function l(){o||(o=!0,\"function\"==typeof t.destroy&&t.destroy())}function c(t){if(u(),0===n.listenerCount(this,\"error\"))throw t}function u(){r.removeListener(\"data\",i),t.removeListener(\"drain\",a),r.removeListener(\"end\",s),r.removeListener(\"close\",l),r.removeListener(\"error\",c),t.removeListener(\"error\",c),r.removeListener(\"end\",u),r.removeListener(\"close\",u),t.removeListener(\"close\",u)}return r.on(\"error\",c),t.on(\"error\",c),r.on(\"end\",u),r.on(\"close\",u),t.on(\"close\",u),t.emit(\"pipe\",r),t}},44059:function(t){\"use strict\";var e={};function r(t,r,n){n||(n=Error);var i=function(t){var e,n;function i(e,n,i){return t.call(this,function(t,e,n){return\"string\"==typeof r?r:r(t,e,n)}(e,n,i))||this}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=t,e[t]=i}function n(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?\"one of \".concat(e,\" \").concat(t.slice(0,r-1).join(\", \"),\", or \")+t[r-1]:2===r?\"one of \".concat(e,\" \").concat(t[0],\" or \").concat(t[1]):\"of \".concat(e,\" \").concat(t[0])}return\"of \".concat(e,\" \").concat(String(t))}r(\"ERR_INVALID_OPT_VALUE\",(function(t,e){return'The value \"'+e+'\" is invalid for option \"'+t+'\"'}),TypeError),r(\"ERR_INVALID_ARG_TYPE\",(function(t,e,r){var i,a,o,s,l;if(\"string\"==typeof e&&(a=\"not \",e.substr(0,4)===a)?(i=\"must not be\",e=e.replace(/^not /,\"\")):i=\"must be\",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t,\" argument\"))o=\"The \".concat(t,\" \").concat(i,\" \").concat(n(e,\"type\"));else{var c=(\"number\"!=typeof l&&(l=0),l+1>(s=t).length||-1===s.indexOf(\".\",l)?\"argument\":\"property\");o='The \"'.concat(t,'\" ').concat(c,\" \").concat(i,\" \").concat(n(e,\"type\"))}return o+\". Received type \".concat(typeof r)}),TypeError),r(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\"),r(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(t){return\"The \"+t+\" method is not implemented\"})),r(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\"),r(\"ERR_STREAM_DESTROYED\",(function(t){return\"Cannot call \"+t+\" after a stream was destroyed\"})),r(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\"),r(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\"),r(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\"),r(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),r(\"ERR_UNKNOWN_ENCODING\",(function(t){return\"Unknown encoding: \"+t}),TypeError),r(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\"),t.exports.F=e},71977:function(t,e,r){\"use strict\";var n=r(33282),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=u;var a=r(44639),o=r(84627);r(28062)(u,a);for(var s=i(o.prototype),l=0;l0)if(\"string\"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n)s.endEmitted?w(t,new b):S(t,s,e,!0);else if(s.ended)w(t,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?S(t,s,e,!1):P(t,s)):S(t,s,e,!1)}else n||(s.reading=!1,P(t,s));return!s.ended&&(s.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=E?t=E:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function L(t){var e=t._readableState;a(\"emitReadable\",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(a(\"emitReadable\",e.flowing),e.emittedReadable=!0,i.nextTick(I,t))}function I(t){var e=t._readableState;a(\"emitReadable_\",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit(\"readable\"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t)}function P(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(z,t,e))}function z(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount(\"data\")>0&&t.resume()}function D(t){a(\"readable nexttick read 0\"),t.read(0)}function R(t,e){a(\"resume\",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit(\"resume\"),F(t),e.flowing&&!e.reading&&t.read(0)}function F(t){var e=t._readableState;for(a(\"flow\",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(\"\"):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function N(t){var e=t._readableState;a(\"endReadable\",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t))}function j(t,e){if(a(\"endReadableNT\",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit(\"end\"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return a(\"read: emitReadable\",e.length,e.ended),0===e.length&&e.ended?N(this):L(this),null;if(0===(t=C(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,i=e.needReadable;return a(\"need readable\",i),(0===e.length||e.length-t0?B(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&N(this)),null!==n&&this.emit(\"data\",n),n},A.prototype._read=function(t){w(this,new _(\"_read()\"))},A.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,a(\"pipe count=%d opts=%j\",n.pipesCount,e);var s=e&&!1===e.end||t===i.stdout||t===i.stderr?m:l;function l(){a(\"onend\"),t.end()}n.endEmitted?i.nextTick(s):r.once(\"end\",s),t.on(\"unpipe\",(function e(i,o){a(\"onunpipe\"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a(\"cleanup\"),t.removeListener(\"close\",p),t.removeListener(\"finish\",d),t.removeListener(\"drain\",c),t.removeListener(\"error\",f),t.removeListener(\"unpipe\",e),r.removeListener(\"end\",l),r.removeListener(\"end\",m),r.removeListener(\"data\",h),u=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||c())}));var c=function(t){return function(){var e=t._readableState;a(\"pipeOnDrain\",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,\"data\")&&(e.flowing=!0,F(t))}}(r);t.on(\"drain\",c);var u=!1;function h(e){a(\"ondata\");var i=t.write(e);a(\"dest.write\",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!u&&(a(\"false write response, pause\",n.awaitDrain),n.awaitDrain++),r.pause())}function f(e){a(\"onerror\",e),m(),t.removeListener(\"error\",f),0===o(t,\"error\")&&w(t,e)}function p(){t.removeListener(\"finish\",d),m()}function d(){a(\"onfinish\"),t.removeListener(\"close\",p),m()}function m(){a(\"unpipe\"),r.unpipe(t)}return r.on(\"data\",h),function(t,e,r){if(\"function\"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,\"error\",f),t.once(\"close\",p),t.once(\"finish\",d),t.emit(\"pipe\",r),n.flowing||(a(\"pipe resume\"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit(\"unpipe\",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):\"readable\"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a(\"on readable\",n.length,n.reading),n.length?L(this):n.reading||i.nextTick(D,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return\"readable\"===t&&i.nextTick(O,this),r},A.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return\"readable\"!==t&&void 0!==t||i.nextTick(O,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(a(\"resume\"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return a(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(a(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on(\"end\",(function(){if(a(\"wrapped end\"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on(\"data\",(function(i){a(\"wrapped data\"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&\"function\"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new b(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new m(\"_write()\"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var n=this._writableState;return\"function\"==typeof t?(r=t,t=null,e=null):\"function\"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,I(t,e),r&&(e.finished?i.nextTick(r):t.once(\"finish\",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(A.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=h.destroy,A.prototype._undestroy=h.undestroy,A.prototype._destroy=function(t,e){e(t)}},73726:function(t,e,r){\"use strict\";var n,i=r(33282);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(37165),s=Symbol(\"lastResolve\"),l=Symbol(\"lastReject\"),c=Symbol(\"error\"),u=Symbol(\"ended\"),h=Symbol(\"lastPromise\"),f=Symbol(\"handlePromise\"),p=Symbol(\"stream\");function d(t,e){return{value:t,done:e}}function m(t){var e=t[s];if(null!==e){var r=t[p].read();null!==r&&(t[h]=null,t[s]=null,t[l]=null,e(d(r,!1)))}}function g(t){i.nextTick(m,t)}var y=Object.getPrototypeOf((function(){})),v=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var t=this,e=this[c];if(null!==e)return Promise.reject(e);if(this[u])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[c]?r(t[c]):e(d(void 0,!0))}))}));var r,n=this[h];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[u]?r(d(void 0,!0)):e[f](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[f])}return this[h]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,\"return\",(function(){var t=this;return new Promise((function(e,r){t[p].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),y);t.exports=function(t){var e,r=Object.create(v,(a(e={},p,{value:t,writable:!0}),a(e,s,{value:null,writable:!0}),a(e,l,{value:null,writable:!0}),a(e,c,{value:null,writable:!0}),a(e,u,{value:t._readableState.endEmitted,writable:!0}),a(e,f,{value:function(t,e){var n=r[p].read();n?(r[h]=null,r[s]=null,r[l]=null,t(d(n,!1))):(r[s]=t,r[l]=e)},writable:!0}),e));return r[h]=null,o(t,(function(t){if(t&&\"ERR_STREAM_PREMATURE_CLOSE\"!==t.code){var e=r[l];return null!==e&&(r[h]=null,r[s]=null,r[l]=null,e(t)),void(r[c]=t)}var n=r[s];null!==n&&(r[h]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[u]=!0})),t.on(\"readable\",g.bind(null,r)),r}},29930:function(t,e,r){\"use strict\";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:\"unshift\",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:\"shift\",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(t){if(0===this.length)return\"\";for(var e=this.head,r=\"\"+e.data;e=e.next;)r+=t+e.data;return r}},{key:\"concat\",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:\"consume\",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:\"_getBuffer\",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){u||(u=t),t&&f.forEach(l),a||(f.forEach(l),h(u))}))}));return e.reduce(c)}},31976:function(t,e,r){\"use strict\";var n=r(44059).F.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:\"highWaterMark\",a);return Math.floor(a)}return t.objectMode?16:16384}}},60032:function(t,e,r){t.exports=r(7683).EventEmitter},54304:function(t,e,r){\"use strict\";var n=r(41041).Buffer,i=n.isEncoding||function(t){switch((t=\"\"+t)&&t.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return\"utf8\";for(var e;;)switch(t){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return t;default:if(e)return;t=(\"\"+t).toLowerCase(),e=!0}}(t);if(\"string\"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error(\"Unknown encoding: \"+t);return e||t}(t),this.encoding){case\"utf16le\":this.text=l,this.end=c,e=4;break;case\"utf8\":this.fillLast=s,e=4;break;case\"base64\":this.text=u,this.end=h,e=3;break;default:return this.write=f,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,\"�\";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,\"�\";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,\"�\"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString(\"utf16le\",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString(\"utf16le\",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString(\"utf16le\",0,r)}return e}function u(t,e){var r=(t.length-e)%3;return 0===r?t.toString(\"base64\",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString(\"base64\",e,t.length-r))}function h(t){var e=t&&t.length?this.write(t):\"\";return this.lastNeed?e+this.lastChar.toString(\"base64\",0,3-this.lastNeed):e}function f(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):\"\"}e.I=a,a.prototype.write=function(t){if(0===t.length)return\"\";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return\"\";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString(\"utf8\",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString(\"utf8\",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},79743:function(t,e,r){var n=r(45708).Buffer,i=r(85672),a=r(79399)(\"stream-parser\");t.exports=function(t){var e=t&&\"function\"==typeof t._transform,r=t&&\"function\"==typeof t._write;if(!e&&!r)throw new Error(\"must pass a Writable or Transform stream in\");a(\"extending Parser into stream\"),t._bytes=h,t._skipBytes=f,e&&(t._passthrough=p),e?t._transform=m:t._write=d};var o=-1,s=0,l=1,c=2;function u(t){a(\"initializing parser stream\"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=o,t._parserCallback=null,\"function\"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function h(t,e){i(!this._parserCallback,'there is already a \"callback\" set!'),i(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got \"'+t+'\"'),this._parserInit||u(this),a(\"buffering %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=s}function f(t,e){i(!this._parserCallback,'there is already a \"callback\" set!'),i(t>0,'can only skip > 0 bytes, got \"'+t+'\"'),this._parserInit||u(this),a(\"skipping %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=l}function p(t,e){i(!this._parserCallback,'There is already a \"callback\" set!'),i(t>0,'can only pass through > 0 bytes, got \"'+t+'\"'),this._parserInit||u(this),a(\"passing through %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=c}function d(t,e,r){this._parserInit||u(this),a(\"write(%o bytes)\",t.length),\"function\"==typeof e&&(r=e),y(this,t,null,r)}function m(t,e,r){this._parserInit||u(this),a(\"transform(%o bytes)\",t.length),\"function\"!=typeof e&&(e=this._parserOutput),y(this,t,e,r)}function g(t,e,r,i){if(t._parserBytesLeft-=e.length,a(\"%o bytes left for stream piece\",t._parserBytesLeft),t._parserState===s?(t._parserBuffers.push(e),t._parserBuffered+=e.length):t._parserState===c&&r(e),0!==t._parserBytesLeft)return i;var l=t._parserCallback;if(l&&t._parserState===s&&t._parserBuffers.length>1&&(e=n.concat(t._parserBuffers,t._parserBuffered)),t._parserState!==s&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=o,t._parserBuffers.splice(0),l){var u=[];e&&u.push(e),r&&u.push(r);var h=l.length>u.length;h&&u.push(v(i));var f=l.apply(t,u);if(!h||i===f)return i}}var y=v((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error(\"got data but not currently parsing anything\")):r.length<=e._parserBytesLeft?function(){return g(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return g(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function v(t){return function(){for(var e=t.apply(this,arguments);\"function\"==typeof e;)e=e();return e}}},79399:function(t,e,r){var n=r(33282);function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==n&&\"env\"in n&&(t=n.env.DEBUG),t}(e=t.exports=r(43228)).log=function(){return\"object\"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var r=this.useColors;if(t[0]=(r?\"%c\":\"\")+this.namespace+(r?\" %c\":\" \")+t[0]+(r?\"%c \":\" \")+\"+\"+e.humanize(this.diff),r){var n=\"color: \"+this.color;t.splice(1,0,n,\"color: inherit\");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){\"%%\"!==t&&(i++,\"%c\"===t&&(a=i))})),t.splice(a,0,n)}},e.save=function(t){try{null==t?e.storage.removeItem(\"debug\"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){return!(\"undefined\"==typeof window||!window.process||\"renderer\"!==window.process.type)||(\"undefined\"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||\"undefined\"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/))},e.storage=\"undefined\"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}},e.enable(i())},43228:function(t,e,r){var n;function i(t){function r(){if(r.enabled){var t=r,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var o=parseFloat(a[1]);switch((a[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return 315576e5*o;case\"days\":case\"day\":case\"d\":return o*i;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return o*n;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return o*r;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return o*e;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return o;default:return}}}}(t);if(\"number\"===l&&!1===isNaN(t))return o.long?a(s=t,i,\"day\")||a(s,n,\"hour\")||a(s,r,\"minute\")||a(s,e,\"second\")||s+\" ms\":function(t){return t>=i?Math.round(t/i)+\"d\":t>=n?Math.round(t/n)+\"h\":t>=r?Math.round(t/r)+\"m\":t>=e?Math.round(t/e)+\"s\":t+\"ms\"}(t);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(t))}},28089:function(t,e,r){\"use strict\";var n=r(59811);t.exports=function(t,e,r){if(null==t)throw Error(\"First argument should be a string\");if(null==e)throw Error(\"Separator should be a string or a RegExp\");r?(\"string\"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"“”\",\"«»\"]:(\"string\"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=c[c.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[m])}a[e]=d}else{if(n[e]===r[e]){var g=[],y=[],v=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),v+=s[x].length,o[x]=h.length,x===e){l.length=d;break}}h.push(g);var _=new Array(v);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};e.default=function(t){var e=t.px,r=t.py,s=t.cx,l=t.cy,c=t.rx,u=t.ry,h=t.xAxisRotation,f=void 0===h?0:h,p=t.largeArcFlag,d=void 0===p?0:p,m=t.sweepFlag,g=void 0===m?0:m,y=[];if(0===c||0===u)return[];var v=Math.sin(f*n/360),x=Math.cos(f*n/360),_=x*(e-s)/2+v*(r-l)/2,b=-v*(e-s)/2+x*(r-l)/2;if(0===_&&0===b)return[];c=Math.abs(c),u=Math.abs(u);var w=Math.pow(_,2)/Math.pow(c,2)+Math.pow(b,2)/Math.pow(u,2);w>1&&(c*=Math.sqrt(w),u*=Math.sqrt(w));var T=function(t,e,r,i,a,s,l,c,u,h,f,p){var d=Math.pow(a,2),m=Math.pow(s,2),g=Math.pow(f,2),y=Math.pow(p,2),v=d*m-d*y-m*g;v<0&&(v=0),v/=d*y+m*g;var x=(v=Math.sqrt(v)*(l===c?-1:1))*a/s*p,_=v*-s/a*f,b=h*x-u*_+(t+r)/2,w=u*x+h*_+(e+i)/2,T=(f-x)/a,k=(p-_)/s,A=(-f-x)/a,M=(-p-_)/s,S=o(1,0,T,k),E=o(T,k,A,M);return 0===c&&E>0&&(E-=n),1===c&&E<0&&(E+=n),[b,w,S,E]}(e,r,s,l,c,u,d,g,v,x,_,b),k=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],C=Math.abs(E)/(n/4);Math.abs(1-C)<1e-7&&(C=1);var L=Math.max(Math.ceil(C),1);E/=L;for(var I=0;Ie[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},41883:function(t,e,r){\"use strict\";t.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,h=null,f=0,p=0,d=0,m=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=f,s=p),r.push(g)}return r};var n=r(13193);function i(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},96021:function(t,e,r){\"use strict\";var n,i=r(97251),a=r(26953),o=r(95620),s=r(13986),l=r(88772),c=document.createElement(\"canvas\"),u=c.getContext(\"2d\");t.exports=function(t,e){if(!s(t))throw Error(\"Argument should be valid svg path string\");var r,h;e||(e={}),e.shape?(r=e.shape[0],h=e.shape[1]):(r=c.width=e.w||e.width||200,h=c.height=e.h||e.height||200);var f=Math.min(r,h),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),m=[r/(d[2]-d[0]),h/(d[3]-d[1])],g=Math.min(m[0]||0,m[1]||0)/2;if(u.fillStyle=\"black\",u.fillRect(0,0,r,h),u.fillStyle=\"white\",p&&(\"number\"!=typeof p&&(p=1),u.strokeStyle=p>0?\"white\":\"black\",u.lineWidth=Math.abs(p)),u.translate(.5*r,.5*h),u.scale(g,g),function(){if(null!=n)return n;var t=document.createElement(\"canvas\").getContext(\"2d\");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D(\"M0,0h1v1h-1v-1Z\");t.fillStyle=\"black\",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var y=new Path2D(t);u.fill(y),p&&u.stroke(y)}else{var v=a(t);o(u,v),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*f})}},65657:function(t,e,r){var n;!function(i){var a=/^\\s+/,o=/\\s+$/,s=0,l=i.round,c=i.min,u=i.max,h=i.random;function f(t,e){if(e=e||{},(t=t||\"\")instanceof f)return t;if(!(this instanceof f))return new f(t,e);var r=function(t){var e,r,n,s={r:0,g:0,b:0},l=1,h=null,f=null,p=null,d=!1,m=!1;return\"string\"==typeof t&&(t=function(t){t=t.replace(a,\"\").replace(o,\"\").toLowerCase();var e,r=!1;if(L[t])t=L[t],r=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};return(e=q.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=q.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=q.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=q.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=q.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=q.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=q.hex8.exec(t))?{r:D(e[1]),g:D(e[2]),b:D(e[3]),a:N(e[4]),format:r?\"name\":\"hex8\"}:(e=q.hex6.exec(t))?{r:D(e[1]),g:D(e[2]),b:D(e[3]),format:r?\"name\":\"hex\"}:(e=q.hex4.exec(t))?{r:D(e[1]+\"\"+e[1]),g:D(e[2]+\"\"+e[2]),b:D(e[3]+\"\"+e[3]),a:N(e[4]+\"\"+e[4]),format:r?\"name\":\"hex8\"}:!!(e=q.hex3.exec(t))&&{r:D(e[1]+\"\"+e[1]),g:D(e[2]+\"\"+e[2]),b:D(e[3]+\"\"+e[3]),format:r?\"name\":\"hex\"}}(t)),\"object\"==typeof t&&(H(t.r)&&H(t.g)&&H(t.b)?(e=t.r,r=t.g,n=t.b,s={r:255*z(e,255),g:255*z(r,255),b:255*z(n,255)},d=!0,m=\"%\"===String(t.r).substr(-1)?\"prgb\":\"rgb\"):H(t.h)&&H(t.s)&&H(t.v)?(h=F(t.s),f=F(t.v),s=function(t,e,r){t=6*z(t,360),e=z(e,100),r=z(r,100);var n=i.floor(t),a=t-n,o=r*(1-e),s=r*(1-a*e),l=r*(1-(1-a)*e),c=n%6;return{r:255*[r,s,o,o,l,r][c],g:255*[l,r,r,s,o,o][c],b:255*[o,o,l,r,r,s][c]}}(t.h,h,f),d=!0,m=\"hsv\"):H(t.h)&&H(t.s)&&H(t.l)&&(h=F(t.s),p=F(t.l),s=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=z(t,360),e=z(e,100),r=z(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(t.h,h,p),d=!0,m=\"hsl\"),t.hasOwnProperty(\"a\")&&(l=t.a)),l=P(l),{ok:d,format:t.format||m,r:c(255,u(s.r,0)),g:c(255,u(s.g,0)),b:c(255,u(s.b,0)),a:l}}(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(t,e,r){t=z(t,255),e=z(e,255),r=z(r,255);var n,i,a=u(t,e,r),o=c(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(f(n));return a}function C(t,e){e=e||6;for(var r=f(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(f({h:n,s:i,v:a})),a=(a+s)%1;return o}f.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,n=this.toRgb();return t=n.r/255,e=n.g/255,r=n.b/255,.2126*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=P(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=d(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=d(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=p(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=p(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return m(this._r,this._g,this._b,t)},toHexString:function(t){return\"#\"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join(\"\")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+l(this._r)+\", \"+l(this._g)+\", \"+l(this._b)+\")\":\"rgba(\"+l(this._r)+\", \"+l(this._g)+\", \"+l(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:l(100*z(this._r,255))+\"%\",g:l(100*z(this._g,255))+\"%\",b:l(100*z(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+l(100*z(this._r,255))+\"%, \"+l(100*z(this._g,255))+\"%, \"+l(100*z(this._b,255))+\"%)\":\"rgba(\"+l(100*z(this._r,255))+\"%, \"+l(100*z(this._g,255))+\"%, \"+l(100*z(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(I[m(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+g(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?\"GradientType = 1, \":\"\";if(t){var i=f(t);r=\"#\"+g(i._r,i._g,i._b,i._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+n+\"startColorstr=\"+e+\",endColorstr=\"+r+\")\"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||\"hex\"!==t&&\"hex6\"!==t&&\"hex3\"!==t&&\"hex4\"!==t&&\"hex8\"!==t&&\"name\"!==t?(\"rgb\"===t&&(r=this.toRgbString()),\"prgb\"===t&&(r=this.toPercentageRgbString()),\"hex\"!==t&&\"hex6\"!==t||(r=this.toHexString()),\"hex3\"===t&&(r=this.toHexString(!0)),\"hex4\"===t&&(r=this.toHex8String(!0)),\"hex8\"===t&&(r=this.toHex8String()),\"name\"===t&&(r=this.toName()),\"hsl\"===t&&(r=this.toHslString()),\"hsv\"===t&&(r=this.toHsvString()),r||this.toHexString()):\"name\"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return f(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(_,arguments)},brighten:function(){return this._applyModification(b,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(v,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(C,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},f.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\"a\"===n?t[n]:F(t[n]));t=r}return f(t,e)},f.equals=function(t,e){return!(!t||!e)&&f(t).toRgbString()==f(e).toRgbString()},f.random=function(){return f.fromRatio({r:h(),g:h(),b:h()})},f.mix=function(t,e,r){r=0===r?0:r||50;var n=f(t).toRgb(),i=f(e).toRgb(),a=r/100;return f({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},f.readability=function(t,e){var r=f(t),n=f(e);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},f.isReadable=function(t,e,r){var n,i,a,o,s,l=f.readability(t,e);switch(i=!1,(a=r,\"AA\"!==(o=((a=a||{level:\"AA\",size:\"small\"}).level||\"AA\").toUpperCase())&&\"AAA\"!==o&&(o=\"AA\"),\"small\"!==(s=(a.size||\"small\").toLowerCase())&&\"large\"!==s&&(s=\"small\"),n={level:o,size:s}).level+n.size){case\"AAsmall\":case\"AAAlarge\":i=l>=4.5;break;case\"AAlarge\":i=l>=3;break;case\"AAAsmall\":i=l>=7}return i},f.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var c=0;cl&&(l=n,s=f(e[c]));return f.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,f.mostReadable(t,[\"#fff\",\"#000\"],r))};var L=f.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},I=f.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(L);function P(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function z(t,e){(function(t){return\"string\"==typeof t&&-1!=t.indexOf(\".\")&&1===parseFloat(t)})(t)&&(t=\"100%\");var r=function(t){return\"string\"==typeof t&&-1!=t.indexOf(\"%\")}(t);return t=c(e,u(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function O(t){return c(1,u(0,t))}function D(t){return parseInt(t,16)}function R(t){return 1==t.length?\"0\"+t:\"\"+t}function F(t){return t<=1&&(t=100*t+\"%\"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function N(t){return D(t)/255}var j,U,V,q=(U=\"[\\\\s|\\\\(]+(\"+(j=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\")+\")[,|\\\\s]+(\"+j+\")[,|\\\\s]+(\"+j+\")\\\\s*\\\\)?\",V=\"[\\\\s|\\\\(]+(\"+j+\")[,|\\\\s]+(\"+j+\")[,|\\\\s]+(\"+j+\")[,|\\\\s]+(\"+j+\")\\\\s*\\\\)?\",{CSS_UNIT:new RegExp(j),rgb:new RegExp(\"rgb\"+U),rgba:new RegExp(\"rgba\"+V),hsl:new RegExp(\"hsl\"+U),hsla:new RegExp(\"hsla\"+V),hsv:new RegExp(\"hsv\"+U),hsva:new RegExp(\"hsva\"+V),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function H(t){return!!q.CSS_UNIT.exec(t)}t.exports?t.exports=f:void 0===(n=function(){return f}.call(e,r,e,t))||(t.exports=n)}(Math)},51498:function(t){\"use strict\";t.exports=r,t.exports.float32=t.exports.float=r,t.exports.fract32=t.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=r(t));for(var n=0,i=e.length;n\":(e.length>100&&(e=e.slice(0,99)+\"…\"),e=e.replace(i,(function(t){switch(t){case\"\\n\":return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}})))}},76481:function(t,e,r){\"use strict\";var n=r(80299),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},6887:function(t,e,r){\"use strict\";var n=r(99497),i=r(63461);t.exports=function(t){return i(t)?t:n(t,\"%v is not a plain function\",arguments[1])}},63461:function(t,e,r){\"use strict\";var n=r(64276),i=/^\\s*class[\\s{/}]/,a=Function.prototype.toString;t.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},31350:function(t,e,r){\"use strict\";var n=r(76481);t.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},58698:function(t,e,r){\"use strict\";var n=r(80299),i=r(76481),a=Object.prototype.toString;t.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if(\"function\"!=typeof e)return null;if(e===a)return null}try{return\"\"+t}catch(t){return null}}},9557:function(t,e,r){\"use strict\";var n=r(99497),i=r(80299);t.exports=function(t){return i(t)?t:n(t,\"Cannot use %v\",arguments[1])}},80299:function(t){\"use strict\";t.exports=function(t){return null!=t}},66127:function(t,e,r){\"use strict\";var n=r(54689),i=r(49523),a=r(45708).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o=\"undefined\"!=typeof Uint8ClampedArray,s=\"undefined\"!=typeof BigUint64Array,l=\"undefined\"!=typeof BigInt64Array,c=r.g.__TYPEDARRAY_POOL;c.UINT8C||(c.UINT8C=i([32,0])),c.BIGUINT64||(c.BIGUINT64=i([32,0])),c.BIGINT64||(c.BIGINT64=i([32,0])),c.BUFFER||(c.BUFFER=i([32,0]));var u=c.DATA,h=c.BUFFER;function f(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);u[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=u[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function m(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function v(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function _(t){return new Float32Array(p(4*t),0,t)}function b(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=h[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))h[n.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){f(t.buffer)},e.freeArrayBuffer=f,e.freeBuffer=function(t){h[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return p(t);switch(e){case\"uint8\":return d(t);case\"uint16\":return m(t);case\"uint32\":return g(t);case\"int8\":return y(t);case\"int16\":return v(t);case\"int32\":return x(t);case\"float\":case\"float32\":return _(t);case\"double\":case\"float64\":return b(t);case\"uint8_clamped\":return w(t);case\"bigint64\":return k(t);case\"biguint64\":return T(t);case\"buffer\":return M(t);case\"data\":case\"dataview\":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=m,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=v,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=_,e.mallocFloat64=e.mallocDouble=b,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,h[t].length=0}},80886:function(t){var e=/[\\'\\\"]/;t.exports=function(t){return t?(e.test(t.charAt(0))&&(t=t.substr(1)),e.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}},79788:function(t){\"use strict\";t.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n=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}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),_(n.showHidden)&&(n.showHidden=!1),_(n.depth)&&(n.depth=2),_(n.colors)&&(n.colors=!1),_(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=u),f(n,t,n.depth)}function u(t,e){var r=c.styles[e];return r?\"\u001b[\"+c.colors[r][0]+\"m\"+t+\"\u001b[\"+c.colors[r][1]+\"m\":t}function h(t,e){return t}function f(t,r,n){if(t.customInspect&&r&&A(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return x(i)||(i=f(t,i,n)),i}var a=function(t,e){if(_(e))return t.stylize(\"undefined\",\"undefined\");if(x(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}return v(e)?t.stylize(\"\"+e,\"number\"):g(e)?t.stylize(\"\"+e,\"boolean\"):y(e)?t.stylize(\"null\",\"null\"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),k(r)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return p(r);if(0===o.length){if(A(r)){var l=r.name?\": \"+r.name:\"\";return t.stylize(\"[Function\"+l+\"]\",\"special\")}if(b(r))return t.stylize(RegExp.prototype.toString.call(r),\"regexp\");if(T(r))return t.stylize(Date.prototype.toString.call(r),\"date\");if(k(r))return p(r)}var c,u=\"\",h=!1,w=[\"{\",\"}\"];return m(r)&&(h=!0,w=[\"[\",\"]\"]),A(r)&&(u=\" [Function\"+(r.name?\": \"+r.name:\"\")+\"]\"),b(r)&&(u=\" \"+RegExp.prototype.toString.call(r)),T(r)&&(u=\" \"+Date.prototype.toUTCString.call(r)),k(r)&&(u=\" \"+p(r)),0!==o.length||h&&0!=r.length?n<0?b(r)?t.stylize(RegExp.prototype.toString.call(r),\"regexp\"):t.stylize(\"[Object]\",\"special\"):(t.seen.push(r),c=h?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o60?r[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n \")+\" \"+r[1]:r[0]+e+\" \"+t.join(\", \")+\" \"+r[1]}(c,u,w)):w[0]+u+w[1]}function p(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function d(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):l.set&&(s=t.stylize(\"[Setter]\",\"special\")),C(n,i)||(o=\"[\"+i+\"]\"),s||(t.seen.indexOf(l.value)<0?(s=y(r)?f(t,l.value,null):f(t,l.value,r-1)).indexOf(\"\\n\")>-1&&(s=a?s.split(\"\\n\").map((function(t){return\" \"+t})).join(\"\\n\").slice(2):\"\\n\"+s.split(\"\\n\").map((function(t){return\" \"+t})).join(\"\\n\")):s=t.stylize(\"[Circular]\",\"special\")),_(o)){if(a&&i.match(/^\\d+$/))return s;(o=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=t.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=t.stylize(o,\"string\"))}return o+\": \"+s}function m(t){return Array.isArray(t)}function g(t){return\"boolean\"==typeof t}function y(t){return null===t}function v(t){return\"number\"==typeof t}function x(t){return\"string\"==typeof t}function _(t){return void 0===t}function b(t){return w(t)&&\"[object RegExp]\"===M(t)}function w(t){return\"object\"==typeof t&&null!==t}function T(t){return w(t)&&\"[object Date]\"===M(t)}function k(t){return w(t)&&(\"[object Error]\"===M(t)||t instanceof Error)}function A(t){return\"function\"==typeof t}function M(t){return Object.prototype.toString.call(t)}function S(t){return t<10?\"0\"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(s.test(t)){var r=n.pid;o[t]=function(){var n=e.format.apply(e,arguments);console.error(\"%s %d: %s\",t,r,n)}}else o[t]=function(){};return o[t]},e.inspect=c,c.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]},c.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},e.types=r(15724),e.isArray=m,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=v,e.isString=x,e.isSymbol=function(t){return\"symbol\"==typeof t},e.isUndefined=_,e.isRegExp=b,e.types.isRegExp=b,e.isObject=w,e.isDate=T,e.types.isDate=T,e.isError=k,e.types.isNativeError=k,e.isFunction=A,e.isPrimitive=function(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||void 0===t},e.isBuffer=r(44123);var E=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function C(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,r;console.log(\"%s - %s\",(r=[S((t=new Date).getHours()),S(t.getMinutes()),S(t.getSeconds())].join(\":\"),[t.getDate(),E[t.getMonth()],r].join(\" \")),e.format.apply(e,arguments))},e.inherits=r(28062),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var L=\"undefined\"!=typeof Symbol?Symbol(\"util.promisify.custom\"):void 0;function I(t,e){if(!t){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=t,t=r}return e(t)}e.promisify=function(t){if(\"function\"!=typeof t)throw new TypeError('The \"original\" argument must be of type Function');if(L&&t[L]){var e;if(\"function\"!=typeof(e=t[L]))throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(e,L,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],a=0;a-1?e:\"Object\"===e&&function(t){var e=!1;return n(m,(function(r,n){if(!e)try{r(t),e=f(n,1)}catch(t){}})),e}(t)}return s?function(t){var e=!1;return n(m,(function(r,n){if(!e)try{\"$\"+r(t)===n&&(e=f(n,1))}catch(t){}})),e}(t):null}},1401:function(t,e,r){var n=r(24453),i=r(27976),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Chinese\",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(t,e){if(\"string\"==typeof t){var r=t.match(l);return r?r[0]:\"\"}var n=this._validateYear(t),i=t.month(),a=\"\"+this.toChineseMonth(n,i);return e&&a.length<2&&(a=\"0\"+a),this.isIntercalaryMonth(n,i)&&(a+=\"i\"),a},monthNames:function(t){if(\"string\"==typeof t){var e=t.match(c);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=[\"一月\",\"二月\",\"三月\",\"四月\",\"五月\",\"六月\",\"七月\",\"八月\",\"九月\",\"十月\",\"十一月\",\"十二月\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"闰\"+i),i},monthNamesShort:function(t){if(\"string\"==typeof t){var e=t.match(u);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=[\"一\",\"二\",\"三\",\"四\",\"五\",\"六\",\"七\",\"八\",\"九\",\"十\",\"十一\",\"十二\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"闰\"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))\"闰\"===e[0]&&(r=!0,e=e.substring(1)),\"月\"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+[\"一\",\"二\",\"三\",\"四\",\"五\",\"六\",\"七\",\"八\",\"九\",\"十\",\"十一\",\"十二\"].indexOf(e);else{var i=e[e.length-1];r=\"i\"===i||\"I\"===i}return this.toMonthIndex(t,n,r)},dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),\"number\"!=typeof t||t<1888||t>2111)throw e.replace(/\\{0\\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=f[o-f[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),\"d\");var h=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(h/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=h[t-h[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if(\"object\"==typeof t)o=t,a=e||{};else{var l;if(!(\"number\"==typeof t&&t>=1888&&t<=2111))throw new Error(\"Lunar year outside range 1888-2111\");if(!(\"number\"==typeof e&&e>=1&&e<=12))throw new Error(\"Lunar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=30))throw new Error(\"Lunar day outside range 1 - 30\");\"object\"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var c,u=h[o.year-h[0]],p=u>>13;c=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(m>>5&15)-1,(31&m)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if(\"object\"==typeof t)i=t,a=e||{};else{if(!(\"number\"==typeof t&&t>=1888&&t<=2111))throw new Error(\"Solar year outside range 1888-2111\");if(!(\"number\"==typeof e&&e>=1&&e<=12))throw new Error(\"Solar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=31))throw new Error(\"Solar day outside range 1 - 31\");i={year:t,month:e,day:r},a={}}var o=f[i.year-f[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=f[a.year-f[0]];var l,c=new Date(o>>9&4095,(o>>5&15)-1,31&o),u=new Date(i.year,i.month-1,i.day);l=Math.round((u-c)/864e5);var p,d=h[a.year-h[0]];for(p=0;p<13;p++){var m=d&1<<12-p?30:29;if(l>13;return!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||\"\"}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:\"Fruitbat\",21:\"Anchovy\"};n.calendars.discworld=a},81133:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Ethiopian\",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Ethiopian\",epochs:[\"BEE\",\"EE\"],monthNames:[\"Meskerem\",\"Tikemet\",\"Hidar\",\"Tahesas\",\"Tir\",\"Yekatit\",\"Megabit\",\"Miazia\",\"Genbot\",\"Sene\",\"Hamle\",\"Nehase\",\"Pagume\"],monthNamesShort:[\"Mes\",\"Tik\",\"Hid\",\"Tah\",\"Tir\",\"Yek\",\"Meg\",\"Mia\",\"Gen\",\"Sen\",\"Ham\",\"Neh\",\"Pag\"],dayNames:[\"Ehud\",\"Segno\",\"Maksegno\",\"Irob\",\"Hamus\",\"Arb\",\"Kidame\"],dayNamesShort:[\"Ehu\",\"Seg\",\"Mak\",\"Iro\",\"Ham\",\"Arb\",\"Kid\"],dayNamesMin:[\"Eh\",\"Se\",\"Ma\",\"Ir\",\"Ha\",\"Ar\",\"Ki\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},78295:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},25512:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Islamic\",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Islamic\",epochs:[\"BH\",\"AH\"],monthNames:[\"Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' al-thani\",\"Jumada al-awwal\",\"Jumada al-thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-ahad\",\"Yawm al-ithnayn\",\"Yawm ath-thulaathaa'\",\"Yawm al-arbi'aa'\",\"Yawm al-khamīs\",\"Yawm al-jum'a\",\"Yawm as-sabt\"],dayNamesShort:[\"Aha\",\"Ith\",\"Thu\",\"Arb\",\"Kha\",\"Jum\",\"Sab\"],dayNamesMin:[\"Ah\",\"It\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},42645:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Julian\",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Julian\",epochs:[\"BC\",\"AD\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},62324:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+\".\"+Math.floor(t/20)+\".\"+t%20},forYear:function(t){if((t=t.split(\".\")).length<3)throw\"Invalid Mayan year\";for(var e=0,r=0;r19||r>0&&n<0)throw\"Invalid Mayan year\";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o(8+(t-=this.jdEpoch)+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s(20+(t-=this.jdEpoch),20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},91662:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar;var o=n.instance(\"gregorian\");i(a.prototype,{name:\"Nanakshahi\",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},66445:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Nepali\",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,\"d\").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),h=t-this.toJD(l,u,1)+1;return this.newDate(l,u,h)}}),n.calendars.persian=a,n.calendars.jalali=a},84756:function(t,e,r){var n=r(24453),i=r(27976),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Taiwan\",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Taiwan\",epochs:[\"BROC\",\"ROC\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},41858:function(t,e,r){var n=r(24453),i=r(27976),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Thai\",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Thai\",epochs:[\"BBE\",\"BE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},57985:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"UmmAlQura\",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Umm al-Qura\",epochs:[\"BH\",\"AH\"],monthNames:[\"Al-Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' Al-Thani\",\"Jumada Al-Awwal\",\"Jumada Al-Thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-Ahad\",\"Yawm al-Ithnain\",\"Yawm al-Thalāthā’\",\"Yawm al-Arba‘ā’\",\"Yawm al-Khamīs\",\"Yawm al-Jum‘a\",\"Yawm al-Sabt\"],dayNamesMin:[\"Ah\",\"Ith\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\\{0\\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},24453:function(t,e,r){var n=r(27976);function i(){this.regionalOptions=[],this.regionalOptions[\"\"]={invalidCalendar:\"Calendar {0} not found\",invalidDate:\"Invalid {0} date\",invalidMonth:\"Invalid {0} month\",invalidYear:\"Invalid {0} year\",differentCalendars:\"Cannot mix {0} and {1} dates\"},this.local=this.regionalOptions[\"\"],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function o(t,e){return\"000000\".substring(0,e-(t=\"\"+t).length)+t}function s(){this.shortYearCutoff=\"+10\"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[\"\"]}n(i.prototype,{instance:function(t,e){t=(t||\"gregorian\").toLowerCase(),e=e||\"\";var r=this._localCals[t+\"-\"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+\"-\"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():\"string\"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+\"\").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(0===a?\"\":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,\"y\")},month:function(t){return 0===arguments.length?this._month:this.set(t,\"m\")},day:function(t){return 0===arguments.length?this._day:this.set(t,\"d\")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?\"-\":\"\")+o(Math.abs(this.year()),4)+\"-\"+o(this.month(),2)+\"-\"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return(e.year()<0?\"-\":\"\")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,\"d\"===r||\"w\"===r){var n=t.toJD()+e*(\"w\"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(\"y\"===r?e:0),o=t.monthOfYear()+(\"m\"===r?e:0);i=t.day(),\"y\"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\"m\"===r&&(function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||\"y\"!==n&&\"m\"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);var n=\"y\"===r?e:t.year(),i=\"m\"===r?e:t.month(),a=\"d\"===r?e:t.day();return\"y\"!==r&&\"m\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=t.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},23428:function(t,e,r){var n=r(27976),i=r(24453);n(i.regionalOptions[\"\"],{invalidArguments:\"Invalid arguments\",invalidFormat:\"Cannot format a date from another calendar\",missingNumberAt:\"Missing number at position {0}\",unknownNameAt:\"Unknown name at position {0}\",unexpectedLiteralAt:\"Unexpected literal at position {0}\",unexpectedText:\"Additional text found at end\"}),i.local=i.regionalOptions[\"\"],n(i.cdate.prototype,{formatDate:function(t,e){return\"string\"!=typeof t&&(e=t,t=\"\"),this._calendar.formatDate(t||\"\",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(t,e,r){if(\"string\"!=typeof t&&(r=e,e=t,t=\"\"),!e)return\"\";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[\"\"].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,c=r.monthNumbers||this.local.monthNumbers,u=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,f=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;b+n1}),p=function(t,e,r,n){var i=\"\"+e;if(f(t,n))for(;i.length1},x=function(t,r){var n=v(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][\"oyYJ@!\".indexOf(t)+1],o=new RegExp(\"^-?\\\\d{1,\"+a+\"}\"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,A);return A+=s[0].length,parseInt(s[0],10)},_=this,b=function(){if(\"function\"==typeof l){v(\"m\");var t=l.call(_,e.substring(A));return A+=t.length,t}return x(\"m\")},w=function(t,r,n,a){for(var o=v(t,a)?n:r,s=0;s-1){p=1,d=m;for(var E=this.daysInMonth(f,p);d>E;E=this.daysInMonth(f,p))p++,d-=E}return h>-1?this.fromJD(h):this.newDate(f,p,d)},determineDate:function(t,e,r,n,i){r&&\"object\"!=typeof r&&(i=n,n=r,r=null),\"string\"!=typeof n&&(i=n,n=\"\");var a=this;return e=e?e.newDate():null,null==t?e:\"string\"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||\"d\"),s=o.exec(t);return e}(t):\"number\"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,\"d\"):a.newDate(t)}})},96144:function(t,e,r){\"use strict\";r.r(e);var n=r(85072),i=r.n(n),a=r(97825),o=r.n(a),s=r(77659),l=r.n(s),c=r(55056),u=r.n(c),h=r(10540),f=r.n(h),p=r(41113),d=r.n(p),m=r(5955),g={};g.styleTagTransform=d(),g.setAttributes=u(),g.insert=l().bind(null,\"head\"),g.domAPI=o(),g.insertStyleElement=f(),i()(m.A,g),e.default=m.A&&m.A.locals?m.A.locals:void 0},85072:function(t){\"use strict\";var e=[];function r(t){for(var r=-1,n=0;n0?\" \".concat(r.layer):\"\",\" {\")),n+=r.css,i&&(n+=\"}\"),r.media&&(n+=\"}\"),r.supports&&(n+=\"}\");var a=r.sourceMap;a&&\"undefined\"!=typeof btoa&&(n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),e.styleTagTransform(n,t,e.options)}(e,t,r)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},41113:function(t){\"use strict\";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},25446:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2722%27 height=%2722%27 fill=%27%23333%27 viewBox=%270 0 22 22%27%3E%3Cpath d=%27m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0%27/%3E%3C/svg%3E\"},56694:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2722%27 height=%2722%27 fill=%27%2333b5e5%27 viewBox=%270 0 22 22%27%3E%3Cpath d=%27m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0%27/%3E%3C/svg%3E\"},26117:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 fill-rule=%27evenodd%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0%27/%3E%3C/svg%3E\"},66311:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 fill=%27%23fff%27 fill-rule=%27evenodd%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0%27/%3E%3C/svg%3E\"},24420:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E\"},77035:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z%27/%3E%3C/svg%3E\"},43470:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5%27/%3E%3C/svg%3E\"},13490:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z%27/%3E%3C/svg%3E\"},80216:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27m10.5 14 4-8 4 8z%27/%3E%3Cpath fill=%27%23ccc%27 d=%27m10.5 16 4 8 4-8z%27/%3E%3C/svg%3E\"},47695:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%2333b5e5%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3C/svg%3E\"},92228:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%2333b5e5%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E\"},43737:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23666%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath fill=%27red%27 d=%27m14 5 1 1-9 9-1-1z%27/%3E%3C/svg%3E\"},48460:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23999%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath fill=%27red%27 d=%27m14 5 1 1-9 9-1-1z%27/%3E%3C/svg%3E\"},75796:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23aaa%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath fill=%27red%27 d=%27m14 5 1 1-9 9-1-1z%27/%3E%3C/svg%3E\"},28869:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23e54e33%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3C/svg%3E\"},9819:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23e58978%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E\"},30557:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E\"},68164:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z%27/%3E%3C/svg%3E\"},64665:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5%27/%3E%3C/svg%3E\"},91413:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z%27/%3E%3C/svg%3E\"},13913:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z%27/%3E%3C/svg%3E\"},61907:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27m10.5 14 4-8 4 8z%27/%3E%3Cpath fill=%27%23ccc%27 d=%27m10.5 16 4 8 4-8z%27/%3E%3C/svg%3E\"},56539:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E\"},4890:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z%27/%3E%3C/svg%3E\"},13363:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5%27/%3E%3C/svg%3E\"},47603:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z%27/%3E%3C/svg%3E\"},64643:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z%27/%3E%3C/svg%3E\"},68605:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27m10.5 14 4-8 4 8z%27/%3E%3Cpath fill=%27%23ccc%27 d=%27m10.5 16 4 8 4-8z%27/%3E%3C/svg%3E\"},47914:function(t){\"use strict\";t.exports=\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2788%27 height=%2723%27 fill=%27none%27%3E%3Cpath fill=%27%23000%27 fill-opacity=%27.4%27 fill-rule=%27evenodd%27 d=%27M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z%27/%3E%3Cpath fill=%27%23fff%27 d=%27m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z%27/%3E%3Cpath fill=%27%23e1e3e9%27 d=%27M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z%27/%3E%3Cpath d=%27M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z%27 style=%27fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001%27/%3E%3Cg style=%27stroke-width:1.12603545%27%3E%3Cpath d=%27M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668%27 style=%27color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto%27 transform=%27translate%2815.553 2.85%29scale%28.88807%29%27/%3E%3Cpath d=%27M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3%27 style=%27clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4%27 transform=%27translate%2815.553 2.85%29scale%28.88807%29%27/%3E%3Cpath d=%27M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z%27 style=%27clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4%27 transform=%27translate%2815.553 2.85%29scale%28.88807%29%27/%3E%3C/g%3E%3C/svg%3E\"},63779:function(){},77199:function(){},61990:function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(85846),i=r(66030);function a(t){return i.geomReduce.call(void 0,t,((t,e)=>t+function(t){let e,r=0;switch(t.type){case\"Polygon\":return o(t.coordinates);case\"MultiPolygon\":for(e=0;e0){e+=Math.abs(c(t[0]));for(let r=1;r=e?(n+2)%e:n+2],s=i[0]*l,c=a[1]*l;r+=(o[0]*l-s)*Math.sin(c),n++}return r*s}var u=a;e.area=a,e.default=u},25368:function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(66030);function i(t,e={}){if(null!=t.bbox&&!0!==e.recompute)return t.bbox;const r=[1/0,1/0,-1/0,-1/0];return n.coordEach.call(void 0,t,(t=>{r[0]>t[0]&&(r[0]=t[0]),r[1]>t[1]&&(r[1]=t[1]),r[2]0?t>180?t-360:t:t<-180?t+360:t},e.bearingToAzimuth=function(t){let e=t%360;return e<0&&(e+=360),e},e.convertArea=function(t,e=\"meters\",r=\"kilometers\"){if(!(t>=0))throw new Error(\"area must be a positive number\");const n=i[e];if(!n)throw new Error(\"invalid original units\");const a=i[r];if(!a)throw new Error(\"invalid final units\");return t/n*a},e.convertLength=function(t,e=\"kilometers\",r=\"kilometers\"){if(!(t>=0))throw new Error(\"length must be a positive number\");return p(d(t,e),r)},e.degreesToRadians=function(t){return t%360*Math.PI/180},e.earthRadius=r,e.factors=n,e.feature=a,e.featureCollection=c,e.geometry=function(t,e,r={}){switch(t){case\"Point\":return o(e).geometry;case\"LineString\":return l(e).geometry;case\"Polygon\":return s(e).geometry;case\"MultiPoint\":return h(e).geometry;case\"MultiLineString\":return u(e).geometry;case\"MultiPolygon\":return f(e).geometry;default:throw new Error(t+\" is invalid\")}},e.geometryCollection=function(t,e,r={}){return a({type:\"GeometryCollection\",geometries:t},e,r)},e.isNumber=g,e.isObject=function(t){return null!==t&&\"object\"==typeof t&&!Array.isArray(t)},e.lengthToDegrees=function(t,e){return m(d(t,e))},e.lengthToRadians=d,e.lineString=l,e.lineStrings=function(t,e,r={}){return c(t.map((t=>l(t,e))),r)},e.multiLineString=u,e.multiPoint=h,e.multiPolygon=f,e.point=o,e.points=function(t,e,r={}){return c(t.map((t=>o(t,e))),r)},e.polygon=s,e.polygons=function(t,e,r={}){return c(t.map((t=>s(t,e))),r)},e.radiansToDegrees=m,e.radiansToLength=p,e.round=function(t,e=0){if(e&&!(e>=0))throw new Error(\"precision must be a positive number\");const r=Math.pow(10,e||0);return Math.round(t*r)/r},e.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((t=>{if(!g(t))throw new Error(\"bbox must only contain numbers\")}))},e.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\")}},66030:function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(85846);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,c,u,h,f=0,p=0,d=t.type,m=\"FeatureCollection\"===d,g=\"Feature\"===d,y=m?t.features.length:1,v=0;vc||p>u||d>h)return l=i,c=r,u=p,h=d,void(o=0);var m=n.lineString.call(void 0,[l,i],t.properties);if(!1===e(m,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function u(t,e){if(!t)throw new Error(\"geojson is required\");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case\"LineString\":if(!1===e(t,r,i,0,0))return!1;break;case\"Polygon\":for(var s=0;s1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var l=r(o);let c,u;function h(){return null==c&&(c=\"undefined\"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof createImageBitmap),c}function f(){if(null==u&&(u=!1,h())){const t=5,e=new OffscreenCanvas(t,t).getContext(\"2d\",{willReadFrequently:!0});if(e){for(let r=0;ri.solve(t)}const d=p(.25,.1,.25,1);function m(t,e,r){return Math.min(r,Math.max(e,t))}function g(t,e,r){const n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function y(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}let v=1;function x(t,e,r){const n={};for(const r in t)n[r]=e.call(this,t[r],r,t);return n}function _(t,e,r){const n={};for(const r in t)e.call(this,t[r],r,t)&&(n[r]=t[r]);return n}function b(t){return Array.isArray(t)?t.map(b):\"object\"==typeof t&&t?x(t,b):t}const w={};function T(t){w[t]||(\"undefined\"!=typeof console&&console.warn(t),w[t]=!0)}function k(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function A(t){return\"undefined\"!=typeof WorkerGlobalScope&&void 0!==t&&t instanceof WorkerGlobalScope}let M=null;function S(t){return\"undefined\"!=typeof ImageBitmap&&t instanceof ImageBitmap}const E=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function C(t,r,n,i,a){return e(this,void 0,void 0,(function*(){if(\"undefined\"==typeof VideoFrame)throw new Error(\"VideoFrame not supported\");const e=new VideoFrame(t,{timestamp:0});try{const o=null==e?void 0:e.format;if(!o||!o.startsWith(\"BGR\")&&!o.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${o}`);const s=o.startsWith(\"BGR\"),l=new Uint8ClampedArray(i*a*4);if(yield e.copyTo(l,function(t,e,r,n,i){const a=4*Math.max(-e,0),o=(Math.max(0,r)-r)*n*4+a,s=4*n,l=Math.max(0,e),c=Math.max(0,r);return{rect:{x:l,y:c,width:Math.min(t.width,e+n)-l,height:Math.min(t.height,r+i)-c},layout:[{offset:o,stride:s}]}}(t,r,n,i,a)),s)for(let t=0;tA(self)?self.worker&&self.worker.referrer:(\"blob:\"===window.location.protocol?window.parent:window).location.href;const N=function(t,r){if(/:\\/\\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){const e=D(t.url);if(e)return e(t,r);if(A(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:t,targetMapId:R},r)}if(n=t.url,!(/^file:/.test(n)||/^file:/.test(B())&&!/^\\w+:/.test(n))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(t,r){return e(this,void 0,void 0,(function*(){const e=new Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,cache:t.cache,referrer:B(),signal:r.signal});\"json\"!==t.type||e.headers.has(\"Accept\")||e.headers.set(\"Accept\",\"application/json\");const n=yield fetch(e);if(!n.ok){const e=yield n.blob();throw new F(n.status,n.statusText,t.url,e)}let i;i=\"arrayBuffer\"===t.type||\"image\"===t.type?n.arrayBuffer():\"json\"===t.type?n.json():n.text();const a=yield i;if(r.signal.aborted)throw z();return{data:a,cacheControl:n.headers.get(\"Cache-Control\"),expires:n.headers.get(\"Expires\")}}))}(t,r);if(A(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:t,mustQueue:!0,targetMapId:R},r)}var n;return function(t,e){return new Promise(((r,n)=>{var i;const a=new XMLHttpRequest;a.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"!==t.type&&\"image\"!==t.type||(a.responseType=\"arraybuffer\");for(const e in t.headers)a.setRequestHeader(e,t.headers[e]);\"json\"===t.type&&(a.responseType=\"text\",(null===(i=t.headers)||void 0===i?void 0:i.Accept)||a.setRequestHeader(\"Accept\",\"application/json\")),a.withCredentials=\"include\"===t.credentials,a.onerror=()=>{n(new Error(a.statusText))},a.onload=()=>{if(!e.signal.aborted)if((a.status>=200&&a.status<300||0===a.status)&&null!==a.response){let e=a.response;if(\"json\"===t.type)try{e=JSON.parse(a.response)}catch(t){return void n(t)}r({data:e,cacheControl:a.getResponseHeader(\"Cache-Control\"),expires:a.getResponseHeader(\"Expires\")})}else{const e=new Blob([a.response],{type:a.getResponseHeader(\"Content-Type\")});n(new F(a.status,a.statusText,t.url,e))}},e.signal.addEventListener(\"abort\",(()=>{a.abort(),n(z())})),a.send(t.body)}))}(t,r)};function j(t){if(!t||t.indexOf(\"://\")<=0||0===t.indexOf(\"data:image/\")||0===t.indexOf(\"blob:\"))return!0;const e=new URL(t),r=window.location;return e.protocol===r.protocol&&e.host===r.host}function U(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e))}function V(t,e,r){if(r&&r[t]){const n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}class q{constructor(t,e={}){y(this,e),this.type=t}}class H extends q{constructor(t,e={}){super(\"error\",y({error:t},e))}}class G{on(t,e){return this._listeners=this._listeners||{},U(t,e,this._listeners),this}off(t,e){return V(t,e,this._listeners),V(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},U(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){\"string\"==typeof t&&(t=new q(t,e||{}));const r=t.type;if(this.listens(r)){t.target=this;const e=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];for(const r of e)r.call(this,t);const n=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];for(const e of n)V(r,e,this._oneTimeListeners),e.call(this,t);const i=this._eventedParent;i&&(y(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(t))}else t instanceof H&&console.error(t.error);return this}listens(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var Z={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sky:{type:\"sky\"},projection:{type:\"projection\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},sky:{\"sky-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#88C6FC\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-ground-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-fog-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"sky-horizon-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"atmosphere-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},projection:{type:{type:\"enum\",default:\"mercator\",values:{mercator:{},globe:{}}}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};const W=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function Y(t,e){const r={};for(const e in t)\"ref\"!==e&&(r[e]=t[e]);return W.forEach((t=>{t in e&&(r[t]=e[t])})),r}function X(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let r=0;r`:\"value\"===t.itemType.kind?\"array\":`array<${e}>`}return t.kind}const wt=[lt,ct,ut,ht,ft,gt,pt,_t(dt),yt,vt,xt];function Tt(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!Tt(t.itemType,e.itemType))&&(\"number\"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(const t of wt)if(!Tt(t,e))return null}return`Expected ${bt(t)} but found ${bt(e)} instead.`}function kt(t,e){return e.some((e=>e.kind===t.kind))}function At(t,e){return e.some((e=>\"null\"===e?null===t:\"array\"===e?Array.isArray(t):\"object\"===e?t&&!Array.isArray(t)&&\"object\"==typeof t:e===typeof t))}function Mt(t,e){return\"array\"===t.kind&&\"array\"===e.kind?t.itemType.kind===e.itemType.kind&&\"number\"==typeof t.N:t.kind===e.kind}const St=.96422,Et=1,Ct=.82521,Lt=4/29,It=6/29,Pt=3*It*It,zt=It*It*It,Ot=Math.PI/180,Dt=180/Math.PI;function Rt(t){return(t%=360)<0&&(t+=360),t}function Ft([t,e,r,n]){let i,a;const o=Nt((.2225045*(t=Bt(t))+.7168786*(e=Bt(e))+.0606169*(r=Bt(r)))/Et);t===e&&e===r?i=a=o:(i=Nt((.4360747*t+.3850649*e+.1430804*r)/St),a=Nt((.0139322*t+.0971045*e+.7141733*r)/Ct));const s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),n]}function Bt(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Nt(t){return t>zt?Math.pow(t,1/3):t/Pt+Lt}function jt([t,e,r,n]){let i=(t+16)/116,a=isNaN(e)?i:i+e/500,o=isNaN(r)?i:i-r/200;return i=Et*Vt(i),a=St*Vt(a),o=Ct*Vt(o),[Ut(3.1338561*a-1.6168667*i-.4906146*o),Ut(-.9787684*a+1.9161415*i+.033454*o),Ut(.0719453*a-.2289914*i+1.4052427*o),n]}function Ut(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function Vt(t){return t>It?t*t*t:Pt*(t-Lt)}function qt(t){if(\"transparent\"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=Yt[t];if(e){const[t,r,n]=e;return[t/255,r/255,n/255,1]}if(t.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let r=1;return[Ht(t.slice(r,r+=e)),Ht(t.slice(r,r+=e)),Ht(t.slice(r,r+=e)),Ht(t.slice(r,r+e)||\"ff\")]}if(t.startsWith(\"rgb\")){const e=/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/,r=t.match(e);if(r){const[t,e,n,i,a,o,s,l,c,u,h,f]=r,p=[i||\" \",s||\" \",u].join(\"\");if(\" \"===p||\" /\"===p||\",,\"===p||\",,,\"===p){const t=[n,o,c].join(\"\"),r=\"%%%\"===t?100:\"\"===t?255:0;if(r){const t=[Zt(+e/r,0,1),Zt(+a/r,0,1),Zt(+l/r,0,1),h?Gt(+h,f):1];if(Wt(t))return t}}return}}const r=t.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(r){const[t,e,n,i,a,o,s,l,c]=r,u=[n||\" \",a||\" \",s].join(\"\");if(\" \"===u||\" /\"===u||\",,\"===u||\",,,\"===u){const t=[+e,Zt(+i,0,100),Zt(+o,0,100),l?Gt(+l,c):1];if(Wt(t))return function([t,e,r,n]){function i(n){const i=(n+t/30)%12,a=e*Math.min(r,1-r);return r-a*Math.max(-1,Math.min(i-3,9-i,1))}return t=Rt(t),e/=100,r/=100,[i(0),i(8),i(4),n]}(t)}}}function Ht(t){return parseInt(t.padEnd(2,t),16)/255}function Gt(t,e){return Zt(e?t/100:t,0,1)}function Zt(t,e,r){return Math.min(Math.max(e,t),r)}function Wt(t){return!t.some(Number.isNaN)}const Yt={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]};class Xt{constructor(t,e,r,n=1,i=!0){this.r=t,this.g=e,this.b=r,this.a=n,i||(this.r*=n,this.g*=n,this.b*=n,n||this.overwriteGetter(\"rgb\",[t,e,r,n]))}static parse(t){if(t instanceof Xt)return t;if(\"string\"!=typeof t)return;const e=qt(t);return e?new Xt(...e,!1):void 0}get rgb(){const{r:t,g:e,b:r,a:n}=this,i=n||1/0;return this.overwriteGetter(\"rgb\",[t/i,e/i,r/i,n])}get hcl(){return this.overwriteGetter(\"hcl\",function(t){const[e,r,n,i]=Ft(t),a=Math.sqrt(r*r+n*n);return[Math.round(1e4*a)?Rt(Math.atan2(n,r)*Dt):NaN,a,e,i]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",Ft(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,r,n]=this.rgb;return`rgba(${[t,e,r].map((t=>Math.round(255*t))).join(\",\")},${n})`}}Xt.black=new Xt(0,0,0,1),Xt.white=new Xt(1,1,1,1),Xt.transparent=new Xt(0,0,0,0),Xt.red=new Xt(1,0,0,1);class $t{constructor(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Jt{constructor(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i}}class Kt{constructor(t){this.sections=t}static fromString(t){return new Kt([new Jt(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Kt?t:Kt.fromString(t)}toString(){return 0===this.sections.length?\"\":this.sections.map((t=>t.text)).join(\"\")}}class Qt{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Qt)return t;if(\"number\"==typeof t)return new Qt([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if(\"number\"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new Qt(t)}}toString(){return JSON.stringify(this.values)}}const te=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class ee{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof ee)return t;if(Array.isArray(t)&&!(t.length<1)&&t.length%2==0){for(let e=0;e=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[t,e,r,n].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function ie(t){if(null===t||\"string\"==typeof t||\"boolean\"==typeof t||\"number\"==typeof t||t instanceof Xt||t instanceof $t||t instanceof Kt||t instanceof Qt||t instanceof ee||t instanceof re)return!0;if(Array.isArray(t)){for(const e of t)if(!ie(e))return!1;return!0}if(\"object\"==typeof t){for(const e in t)if(!ie(t[e]))return!1;return!0}return!1}function ae(t){if(null===t)return lt;if(\"string\"==typeof t)return ut;if(\"boolean\"==typeof t)return ht;if(\"number\"==typeof t)return ct;if(t instanceof Xt)return ft;if(t instanceof $t)return mt;if(t instanceof Kt)return gt;if(t instanceof Qt)return yt;if(t instanceof ee)return xt;if(t instanceof re)return vt;if(Array.isArray(t)){const e=t.length;let r;for(const e of t){const t=ae(e);if(r){if(r===t)continue;r=dt;break}r=t}return _t(r||dt,e)}return pt}function oe(t){const e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof Xt||t instanceof Kt||t instanceof Qt||t instanceof ee||t instanceof re?t.toString():JSON.stringify(t)}class se{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!ie(t[1]))return e.error(\"invalid value\");const r=t[1];let n=ae(r);const i=e.expectedType;return\"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new se(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class le{constructor(t){this.name=\"ExpressionEvaluationError\",this.message=t}toJSON(){return this.message}}const ce={string:ut,number:ct,boolean:ht,object:pt};class ue{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");let r,n=1;const i=t[0];if(\"array\"===i){let i,a;if(t.length>2){const r=t[1];if(\"string\"!=typeof r||!(r in ce)||\"object\"===r)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);i=ce[r],n++}else i=dt;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);a=t[2],n++}r=_t(i,a)}else{if(!ce[i])throw new Error(`Types doesn't contain name = ${i}`);r=ce[i]}const a=[];for(;nt.outputDefined()))}}const he={\"to-boolean\":ht,\"to-color\":ft,\"to-number\":ct,\"to-string\":ut};class fe{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[0];if(!he[r])throw new Error(`Can't parse ${r} as it is not part of the known types`);if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");const n=he[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:ne(e[0],e[1],e[2],e[3]),!r))return new Xt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new le(r||`Could not parse color from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"padding\":{let e;for(const r of this.args){e=r.evaluate(t);const n=Qt.parse(e);if(n)return n}throw new le(`Could not parse padding from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"variableAnchorOffsetCollection\":{let e;for(const r of this.args){e=r.evaluate(t);const n=ee.parse(e);if(n)return n}throw new le(`Could not parse variableAnchorOffsetCollection from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"number\":{let e=null;for(const r of this.args){if(e=r.evaluate(t),null===e)return 0;const n=Number(e);if(!isNaN(n))return n}throw new le(`Could not convert ${JSON.stringify(e)} to number.`)}case\"formatted\":return Kt.fromString(oe(this.args[0].evaluate(t)));case\"resolvedImage\":return re.fromString(oe(this.args[0].evaluate(t)));default:return oe(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const pe=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class de{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?\"number\"==typeof this.feature.type?pe[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Xt.parse(t)),e}}class me{constructor(t,e,r=[],n,i=new st,a=[]){this.registry=t,this.path=r,this.key=r.map((t=>`[${t}]`)).join(\"\"),this.scope=i,this.errors=a,this.expectedType=n,this._isConstant=e}parse(t,e,r,n,i={}){return e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)}_parse(t,e){function r(t,e,r){return\"assert\"===r?new ue(e,[t]):\"coerce\"===r?new fe(e,[t]):t}if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');const n=t[0];if(\"string\"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;const i=this.registry[n];if(i){let n=i.parse(t,this);if(!n)return null;if(this.expectedType){const t=this.expectedType,i=n.type;if(\"string\"!==t.kind&&\"number\"!==t.kind&&\"boolean\"!==t.kind&&\"object\"!==t.kind&&\"array\"!==t.kind||\"value\"!==i.kind)if(\"color\"!==t.kind&&\"formatted\"!==t.kind&&\"resolvedImage\"!==t.kind||\"value\"!==i.kind&&\"string\"!==i.kind)if(\"padding\"!==t.kind||\"value\"!==i.kind&&\"number\"!==i.kind&&\"array\"!==i.kind)if(\"variableAnchorOffsetCollection\"!==t.kind||\"value\"!==i.kind&&\"array\"!==i.kind){if(this.checkSubtype(t,i))return null}else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"assert\")}if(!(n instanceof se)&&\"resolvedImage\"!==n.type.kind&&this._isConstant(n)){const t=new de;try{n=new se(n.type,n.evaluate(t))}catch(t){return this.error(t.message),null}}return n}return this.error(`Unknown expression \"${n}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return void 0===t?this.error(\"'undefined' value invalid. Use null instead.\"):\"object\"==typeof t?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(`Expected an array, but found ${typeof t} instead.`)}concat(t,e,r){const n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new me(this.registry,this._isConstant,n,e||null,i,this.errors)}error(t,...e){const r=`${this.key}${e.map((t=>`[${t}]`)).join(\"\")}`;this.errors.push(new ot(r,t))}checkSubtype(t,e){const r=Tt(t,e);return r&&this.error(r),r}}class ge{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const r=[];for(let n=1;n=r.length)throw new le(`Array index out of bounds: ${e} > ${r.length-1}.`);if(e!==Math.floor(e))throw new le(`Array index must be an integer, but found ${e} instead.`);return r[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class xe{constructor(t,e){this.type=ht,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,dt);return r&&n?kt(r.type,[ht,ut,ct,lt,dt])?new xe(r,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${bt(r.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!At(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new le(`Expected first argument to be of type boolean, string, number or null, but found ${bt(ae(e))} instead.`);if(!At(r,[\"string\",\"array\"]))throw new le(`Expected second argument to be of type array or string, but found ${bt(ae(r))} instead.`);return r.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class _e{constructor(t,e,r){this.type=ct,this.needle=t,this.haystack=e,this.fromIndex=r}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,dt);if(!r||!n)return null;if(!kt(r.type,[ht,ut,ct,lt,dt]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${bt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ct);return i?new _e(r,n,i):null}return new _e(r,n)}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!At(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new le(`Expected first argument to be of type boolean, string, number or null, but found ${bt(ae(e))} instead.`);if(!At(r,[\"string\",\"array\"]))throw new le(`Expected second argument to be of type array or string, but found ${bt(ae(r))} instead.`);if(this.fromIndex){const n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class be{constructor(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");let r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);const i={},a=[];for(let o=2;oNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(\"number\"==typeof t&&Math.floor(t)!==t)return c.error(\"Numeric branch labels must be integer values.\");if(r){if(c.checkSubtype(r,ae(t)))return null}else r=ae(t);if(void 0!==i[String(t)])return c.error(\"Branch labels must be unique.\");i[String(t)]=a.length}const u=e.parse(l,o,n);if(!u)return null;n=n||u.type,a.push(u)}const o=e.parse(t[1],1,dt);if(!o)return null;const s=e.parse(t[t.length-1],t.length-1,n);return s?\"value\"!==o.type.kind&&e.concat(1).checkSubtype(r,o.type)?null:new be(r,n,o,i,a,s):null}evaluate(t){const e=this.input.evaluate(t);return(ae(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class we{constructor(t,e,r){this.type=t,this.branches=e,this.otherwise=r}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error(\"Expected an odd number of arguments.\");let r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);const n=[];for(let i=1;ie.outputDefined()))&&this.otherwise.outputDefined()}}class Te{constructor(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,ct);if(!r||!n)return null;if(!kt(r.type,[_t(dt),ut,dt]))return e.error(`Expected first argument to be of type array or string, but found ${bt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ct);return i?new Te(r.type,r,n,i):null}return new Te(r.type,r,n)}evaluate(t){const e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!At(e,[\"string\",\"array\"]))throw new le(`Expected first argument to be of type array or string, but found ${bt(ae(e))} instead.`);if(this.endIndex){const n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function ke(t,e){const r=t.length-1;let n,i,a=0,o=r,s=0;for(;a<=o;)if(s=Math.floor((a+o)/2),n=t[s],i=t[s+1],n<=e){if(s===r||ee))throw new le(\"Input is not a number.\");o=s-1}return 0}class Ae{constructor(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of r)this.labels.push(t),this.outputs.push(e)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");const r=e.parse(t[1],1,ct);if(!r)return null;const n=[];let i=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(i=e.expectedType);for(let r=1;r=a)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',s);const c=e.parse(o,l,i);if(!c)return null;i=i||c.type,n.push([a,c])}return new Ae(i,r,n)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[ke(e,n)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Me(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var Se=Ee;function Ee(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=r,this.p2y=n}Ee.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var Ce=Me(Se);function Le(t,e,r){return t+r*(e-t)}function Ie(t,e,r){return t.map(((t,n)=>Le(t,e[n],r)))}const Pe={number:Le,color:function(t,e,r,n=\"rgb\"){switch(n){case\"rgb\":{const[n,i,a,o]=Ie(t.rgb,e.rgb,r);return new Xt(n,i,a,o,!1)}case\"hcl\":{const[n,i,a,o]=t.hcl,[s,l,c,u]=e.hcl;let h,f;if(isNaN(n)||isNaN(s))isNaN(n)?isNaN(s)?h=NaN:(h=s,1!==a&&0!==a||(f=l)):(h=n,1!==c&&0!==c||(f=i));else{let t=s-n;s>n&&t>180?t-=360:s180&&(t+=360),h=n+r*t}const[p,d,m,g]=function([t,e,r,n]){return t=isNaN(t)?0:t*Ot,jt([r,Math.cos(t)*e,Math.sin(t)*e,n])}([h,null!=f?f:Le(i,l,r),Le(a,c,r),Le(o,u,r)]);return new Xt(p,d,m,g,!1)}case\"lab\":{const[n,i,a,o]=jt(Ie(t.lab,e.lab,r));return new Xt(n,i,a,o,!1)}}},array:Ie,padding:function(t,e,r){return new Qt(Ie(t.values,e.values,r))},variableAnchorOffsetCollection:function(t,e,r){const n=t.values,i=e.values;if(n.length!==i.length)throw new le(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${e.toString()}`);const a=[];for(let t=0;t\"number\"!=typeof t||t<0||t>1)))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(i=e.parse(i,2,ct),!i)return null;const o=[];let s=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?s=ft:e.expectedType&&\"value\"!==e.expectedType.kind&&(s=e.expectedType);for(let t=0;t=r)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',i);const c=e.parse(n,l,s);if(!c)return null;s=s||c.type,o.push([r,c])}return Mt(s,ct)||Mt(s,ft)||Mt(s,yt)||Mt(s,xt)||Mt(s,_t(ct))?new ze(s,r,n,i,o):e.error(`Type ${bt(s)} is not interpolatable.`)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);const a=ke(e,n),o=e[a],s=e[a+1],l=ze.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(t),u=r[a+1].evaluate(t);switch(this.operator){case\"interpolate\":return Pe[this.type.kind](c,u,l);case\"interpolate-hcl\":return Pe.color(c,u,l,\"hcl\");case\"interpolate-lab\":return Pe.color(c,u,l,\"lab\")}}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Oe(t,e,r,n){const i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}class De{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");let r=null;const n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);const i=[];for(const n of t.slice(1)){const t=e.parse(n,1+i.length,r,void 0,{typeAnnotation:\"omit\"});if(!t)return null;r=r||t.type,i.push(t)}if(!r)throw new Error(\"No output type\");const a=n&&i.some((t=>Tt(n,t.type)));return new De(a?dt:r,i)}evaluate(t){let e,r=null,n=0;for(const i of this.args)if(n++,r=i.evaluate(t),r&&r instanceof re&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null!==r)break;return r}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}function Re(t,e){return\"==\"===t||\"!=\"===t?\"boolean\"===e.kind||\"string\"===e.kind||\"number\"===e.kind||\"null\"===e.kind||\"value\"===e.kind:\"string\"===e.kind||\"number\"===e.kind||\"value\"===e.kind}function Fe(t,e,r,n){return 0===n.compare(e,r)}function Be(t,e,r){const n=\"==\"!==t&&\"!=\"!==t;return class i{constructor(t,e,r){this.type=ht,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument=\"value\"===t.type.kind||\"value\"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");const r=t[0];let a=e.parse(t[1],1,dt);if(!a)return null;if(!Re(r,a.type))return e.concat(1).error(`\"${r}\" comparisons are not supported for type '${bt(a.type)}'.`);let o=e.parse(t[2],2,dt);if(!o)return null;if(!Re(r,o.type))return e.concat(2).error(`\"${r}\" comparisons are not supported for type '${bt(o.type)}'.`);if(a.type.kind!==o.type.kind&&\"value\"!==a.type.kind&&\"value\"!==o.type.kind)return e.error(`Cannot compare types '${bt(a.type)}' and '${bt(o.type)}'.`);n&&(\"value\"===a.type.kind&&\"value\"!==o.type.kind?a=new ue(o.type,[a]):\"value\"!==a.type.kind&&\"value\"===o.type.kind&&(o=new ue(a.type,[o])));let s=null;if(4===t.length){if(\"string\"!==a.type.kind&&\"string\"!==o.type.kind&&\"value\"!==a.type.kind&&\"value\"!==o.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(s=e.parse(t[3],3,mt),!s)return null}return new i(a,o,s)}evaluate(i){const a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){const e=ae(a),r=ae(o);if(e.kind!==r.kind||\"string\"!==e.kind&&\"number\"!==e.kind)throw new le(`Expected arguments for \"${t}\" to be (string, string) or (number, number), but found (${e.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const t=ae(a),r=ae(o);if(\"string\"!==t.kind||\"string\"!==r.kind)return e(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):e(i,a,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const Ne=Be(\"==\",(function(t,e,r){return e===r}),Fe),je=Be(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!Fe(0,e,r,n)})),Ue=Be(\"<\",(function(t,e,r){return e\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),qe=Be(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),He=Be(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0}));class Ge{constructor(t,e,r){this.type=mt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e}static parse(t,e){if(2!==t.length)return e.error(\"Expected one argument.\");const r=t[1];if(\"object\"!=typeof r||Array.isArray(r))return e.error(\"Collator options argument must be an object.\");const n=e.parse(void 0!==r[\"case-sensitive\"]&&r[\"case-sensitive\"],1,ht);if(!n)return null;const i=e.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,ht);if(!i)return null;let a=null;return r.locale&&(a=e.parse(r.locale,1,ut),!a)?null:new Ge(n,i,a)}evaluate(t){return new $t(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}}class Ze{constructor(t,e,r,n,i){this.type=ut,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i}static parse(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,ct);if(!r)return null;const n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");let i=null;if(n.locale&&(i=e.parse(n.locale,1,ut),!i))return null;let a=null;if(n.currency&&(a=e.parse(n.currency,1,ut),!a))return null;let o=null;if(n[\"min-fraction-digits\"]&&(o=e.parse(n[\"min-fraction-digits\"],1,ct),!o))return null;let s=null;return n[\"max-fraction-digits\"]&&(s=e.parse(n[\"max-fraction-digits\"],1,ct),!s)?null:new Ze(r,i,a,o,s)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class We{constructor(t){this.type=gt,this.sections=t}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");const n=[];let i=!1;for(let r=1;r<=t.length-1;++r){const a=t[r];if(i&&\"object\"==typeof a&&!Array.isArray(a)){i=!1;let t=null;if(a[\"font-scale\"]&&(t=e.parse(a[\"font-scale\"],1,ct),!t))return null;let r=null;if(a[\"text-font\"]&&(r=e.parse(a[\"text-font\"],1,_t(ut)),!r))return null;let o=null;if(a[\"text-color\"]&&(o=e.parse(a[\"text-color\"],1,ft),!o))return null;const s=n[n.length-1];s.scale=t,s.font=r,s.textColor=o}else{const a=e.parse(t[r],1,dt);if(!a)return null;const o=a.type.kind;if(\"string\"!==o&&\"value\"!==o&&\"null\"!==o&&\"resolvedImage\"!==o)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:a,scale:null,font:null,textColor:null})}}return new We(n)}evaluate(t){return new Kt(this.sections.map((e=>{const r=e.content.evaluate(t);return ae(r)===vt?new Jt(\"\",r,null,null,null):new Jt(oe(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor)}outputDefined(){return!1}}class Ye{constructor(t){this.type=vt,this.input=t}static parse(t,e){if(2!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,ut);return r?new Ye(r):e.error(\"No image name provided.\")}evaluate(t){const e=this.input.evaluate(t),r=re.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r}eachChild(t){t(this.input)}outputDefined(){return!1}}class Xe{constructor(t){this.type=ct,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(`Expected argument of type string or array, but found ${bt(r.type)} instead.`):new Xe(r):null}evaluate(t){const e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new le(`Expected value to be of type string or array, but found ${bt(ae(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const $e=8192;function Je(t,e){const r=(180+t[0])/360,n=(a=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+a*Math.PI/360)))/360),i=Math.pow(2,e.z);var a;return[Math.round(r*i*$e),Math.round(n*i*$e)]}function Ke(t,e){const r=Math.pow(2,e.z),n=(t[0]/$e+e.x)/r,i=(t[1]/$e+e.y)/r;return[(o=n,360*o-180),(a=i,360/Math.PI*Math.atan(Math.exp((180-360*a)*Math.PI/180))-90)];var a,o}function Qe(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function tr(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function er(t,e,r){const n=t[0]-e[0],i=t[1]-e[1],a=t[0]-r[0],o=t[1]-r[1];return n*o-a*i==0&&n*a<=0&&i*o<=0}function rr(t,e,r,n){const i=[e[0]-t[0],e[1]-t[1]];return 0!=(a=[n[0]-r[0],n[1]-r[1]],o=i,a[0]*o[1]-a[1]*o[0])&&!(!lr(t,e,r,n)||!lr(r,n,t,e));var a,o}function nr(t,e,r){for(const n of r)for(let r=0;ri[1]!=o[1]>i[1]&&i[0]<(o[0]-a[0])*(i[1]-a[1])/(o[1]-a[1])+a[0]&&(n=!n)}var i,a,o;return n}function ar(t,e){for(const r of e)if(ir(t,r))return!0;return!1}function or(t,e){for(const r of t)if(!ir(r,e))return!1;for(let r=0;r0&&h<0||u<0&&h>0}function cr(t,e,r){const n=[];for(let i=0;ir[2]){const e=.5*n;let i=t[0]-r[0]>e?-n:r[0]-t[0]>e?n:0;0===i&&(i=t[0]-r[2]>e?-n:r[2]-t[0]>e?n:0),t[0]+=i}Qe(e,t)}function fr(t,e,r,n){const i=Math.pow(2,n.z)*$e,a=[n.x*$e,n.y*$e],o=[];for(const n of t)for(const t of n){const n=[t.x+a[0],t.y+a[1]];hr(n,e,r,i),o.push(n)}return o}function pr(t,e,r,n){const i=Math.pow(2,n.z)*$e,a=[n.x*$e,n.y*$e],o=[];for(const r of t){const t=[];for(const n of r){const r=[n.x+a[0],n.y+a[1]];Qe(e,r),t.push(r)}o.push(t)}if(e[2]-e[0]<=i/2){(s=e)[0]=s[1]=1/0,s[2]=s[3]=-1/0;for(const t of o)for(const n of t)hr(n,e,r,i)}var s;return o}class dr{constructor(t,e){this.type=ht,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(ie(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type){const t=[];for(const r of e.features){const{type:e,coordinates:n}=r.geometry;\"Polygon\"===e&&t.push(n),\"MultiPolygon\"===e&&t.push(...n)}if(t.length)return new dr(e,{type:\"MultiPolygon\",coordinates:t})}else if(\"Feature\"===e.type){const t=e.geometry.type;if(\"Polygon\"===t||\"MultiPolygon\"===t)return new dr(e,e.geometry)}else if(\"Polygon\"===e.type||\"MultiPolygon\"===e.type)return new dr(e,e)}return e.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){const a=cr(e.coordinates,n,i),o=fr(t.geometry(),r,n,i);if(!tr(r,n))return!1;for(const t of o)if(!ir(t,a))return!1}if(\"MultiPolygon\"===e.type){const a=ur(e.coordinates,n,i),o=fr(t.geometry(),r,n,i);if(!tr(r,n))return!1;for(const t of o)if(!ar(t,a))return!1}return!0}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){const a=cr(e.coordinates,n,i),o=pr(t.geometry(),r,n,i);if(!tr(r,n))return!1;for(const t of o)if(!or(t,a))return!1}if(\"MultiPolygon\"===e.type){const a=ur(e.coordinates,n,i),o=pr(t.geometry(),r,n,i);if(!tr(r,n))return!1;for(const t of o)if(!sr(t,a))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let mr=class{constructor(t=[],e=gr){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=a,t=n}e[t]=i}};function gr(t,e){return te?1:0}function yr(t,e,r,n,i){vr(t,e,r,n||t.length-1,i||_r)}function vr(t,e,r,n,i){for(;n>r;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);vr(t,e,Math.max(r,Math.floor(e-o*l/a+c)),Math.min(n,Math.floor(e+(a-o)*l/a+c)),i)}var u=t[e],h=r,f=n;for(xr(t,r,e),i(t[n],u)>0&&xr(t,r,n);h0;)f--}0===i(t[r],u)?xr(t,r,f):xr(t,++f,n),f<=e&&(r=f+1),e<=f&&(n=f-1)}}function xr(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function _r(t,e){return te?1:0}function br(t,e){if(t.length<=1)return[t];const r=[];let n,i;for(const e of t){const t=Tr(e);0!==t&&(e.area=Math.abs(t),void 0===i&&(i=t<0),i===t<0?(n&&r.push(n),n=[e]):n.push(e))}if(n&&r.push(n),e>1)for(let t=0;t1?(l=t[s+1][0],c=t[s+1][1]):f>0&&(l+=u/this.kx*f,c+=h/this.ky*f)),u=this.wrap(e[0]-l)*this.kx,h=(e[1]-c)*this.ky;const p=u*u+h*h;p180;)t-=360;return t}}const Er=100,Cr=50;function Lr(t,e){return e[0]-t[0]}function Ir(t){return t[1]-t[0]+1}function Pr(t,e){return t[1]>=t[0]&&t[1]t[1])return[null,null];const r=Ir(t);if(e){if(2===r)return[t,null];const e=Math.floor(r/2);return[[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===r)return[t,null];const n=Math.floor(r/2)-1;return[[t[0],t[0]+n],[t[0]+n+1,t[1]]]}function Or(t,e){if(!Pr(e,t.length))return[1/0,1/0,-1/0,-1/0];const r=[1/0,1/0,-1/0,-1/0];for(let n=e[0];n<=e[1];++n)Qe(r,t[n]);return r}function Dr(t){const e=[1/0,1/0,-1/0,-1/0];for(const r of t)for(const t of r)Qe(e,t);return e}function Rr(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function Fr(t,e,r){if(!Rr(t)||!Rr(e))return NaN;let n=0,i=0;return t[2]e[2]&&(n=t[0]-e[2]),t[1]>e[3]&&(i=t[1]-e[3]),t[3]=n)return n;if(tr(i,a)){if(Hr(t,e))return 0}else if(Hr(e,t))return 0;let o=1/0;for(const n of t)for(let t=0,i=n.length,a=i-1;t0;){const i=o.pop();if(i[0]>=a)continue;const l=i[1],c=e?Cr:Er;if(Ir(l)<=c){if(!Pr(l,t.length))return NaN;if(e){const e=qr(t,l,r,n);if(isNaN(e)||0===e)return e;a=Math.min(a,e)}else for(let e=l[0];e<=l[1];++e){const i=Vr(t[e],r,n);if(a=Math.min(a,i),0===a)return 0}}else{const r=zr(l,e);Zr(o,a,n,t,s,r[0]),Zr(o,a,n,t,s,r[1])}}return a}function Xr(t,e,r,n,i,a=1/0){let o=Math.min(a,i.distance(t[0],r[0]));if(0===o)return o;const s=new mr([[0,[0,t.length-1],[0,r.length-1]]],Lr);for(;s.length>0;){const a=s.pop();if(a[0]>=o)continue;const l=a[1],c=a[2],u=e?Cr:Er,h=n?Cr:Er;if(Ir(l)<=u&&Ir(c)<=h){if(!Pr(l,t.length)&&Pr(c,r.length))return NaN;let a;if(e&&n)a=jr(t,l,r,c,i),o=Math.min(o,a);else if(e&&!n){const e=t.slice(l[0],l[1]+1);for(let t=c[0];t<=c[1];++t)if(a=Br(r[t],e,i),o=Math.min(o,a),0===o)return o}else if(!e&&n){const e=r.slice(c[0],c[1]+1);for(let r=l[0];r<=l[1];++r)if(a=Br(t[r],e,i),o=Math.min(o,a),0===o)return o}else a=Ur(t,l,r,c,i),o=Math.min(o,a)}else{const a=zr(l,e),u=zr(c,n);Wr(s,o,i,t,r,a[0],u[0]),Wr(s,o,i,t,r,a[0],u[1]),Wr(s,o,i,t,r,a[1],u[0]),Wr(s,o,i,t,r,a[1],u[1])}}return o}function $r(t){return\"MultiPolygon\"===t.type?t.coordinates.map((t=>({type:\"Polygon\",coordinates:t}))):\"MultiLineString\"===t.type?t.coordinates.map((t=>({type:\"LineString\",coordinates:t}))):\"MultiPoint\"===t.type?t.coordinates.map((t=>({type:\"Point\",coordinates:t}))):[t]}class Jr{constructor(t,e){this.type=ct,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(ie(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type)return new Jr(e,e.features.map((t=>$r(t.geometry))).flat());if(\"Feature\"===e.type)return new Jr(e,$r(e.geometry));if(\"type\"in e&&\"coordinates\"in e)return new Jr(e,$r(e))}return e.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>Ke([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new Sr(n[0][1]);let a=1/0;for(const t of e){switch(t.type){case\"Point\":a=Math.min(a,Xr(n,!1,[t.coordinates],!1,i,a));break;case\"LineString\":a=Math.min(a,Xr(n,!1,t.coordinates,!0,i,a));break;case\"Polygon\":a=Math.min(a,Yr(n,!1,t.coordinates,i,a))}if(0===a)return a}return a}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>Ke([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new Sr(n[0][1]);let a=1/0;for(const t of e){switch(t.type){case\"Point\":a=Math.min(a,Xr(n,!0,[t.coordinates],!1,i,a));break;case\"LineString\":a=Math.min(a,Xr(n,!0,t.coordinates,!0,i,a));break;case\"Polygon\":a=Math.min(a,Yr(n,!0,t.coordinates,i,a))}if(0===a)return a}return a}(t,this.geometries);if(\"Polygon\"===t.geometryType())return function(t,e){const r=t.geometry();if(0===r.length||0===r[0].length)return NaN;const n=br(r,0).map((e=>e.map((e=>e.map((e=>Ke([e.x,e.y],t.canonical))))))),i=new Sr(n[0][0][0][1]);let a=1/0;for(const t of e)for(const e of n){switch(t.type){case\"Point\":a=Math.min(a,Yr([t.coordinates],!1,e,i,a));break;case\"LineString\":a=Math.min(a,Yr(t.coordinates,!0,e,i,a));break;case\"Polygon\":a=Math.min(a,Gr(e,t.coordinates,i,a))}if(0===a)return a}return a}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}const Kr={\"==\":Ne,\"!=\":je,\">\":Ve,\"<\":Ue,\">=\":He,\"<=\":qe,array:ue,at:ve,boolean:ue,case:we,coalesce:De,collator:Ge,format:We,image:Ye,in:xe,\"index-of\":_e,interpolate:ze,\"interpolate-hcl\":ze,\"interpolate-lab\":ze,length:Xe,let:ge,literal:se,match:be,number:ue,\"number-format\":Ze,object:ue,slice:Te,step:Ae,string:ue,\"to-boolean\":fe,\"to-color\":fe,\"to-number\":fe,\"to-string\":fe,var:ye,within:dr,distance:Jr};class Qr{constructor(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const r=t[0],n=Qr.definitions[r];if(!n)return e.error(`Unknown expression \"${r}\". If you wanted a literal array, use [\"literal\", [...]].`,0);const i=Array.isArray(n)?n[0]:n.type,a=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=a.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let s=null;for(const[n,a]of o){s=new me(e.registry,an,e.path,null,e.scope);const o=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(bt).join(\", \")})`:`(${bt(e.type)}...)`;var e})).join(\" | \"),n=[];for(let r=1;r{r=e?r&&an(t):r&&t instanceof se})),!!r&&on(t)&&ln(t,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function on(t){if(t instanceof Qr){if(\"get\"===t.name&&1===t.args.length)return!1;if(\"feature-state\"===t.name)return!1;if(\"has\"===t.name&&1===t.args.length)return!1;if(\"properties\"===t.name||\"geometry-type\"===t.name||\"id\"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof dr)return!1;if(t instanceof Jr)return!1;let e=!0;return t.eachChild((t=>{e&&!on(t)&&(e=!1)})),e}function sn(t){if(t instanceof Qr&&\"feature-state\"===t.name)return!1;let e=!0;return t.eachChild((t=>{e&&!sn(t)&&(e=!1)})),e}function ln(t,e){if(t instanceof Qr&&e.indexOf(t.name)>=0)return!1;let r=!0;return t.eachChild((t=>{r&&!ln(t,e)&&(r=!1)})),r}function cn(t){return{result:\"success\",value:t}}function un(t){return{result:\"error\",value:t}}function hn(t){return\"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function fn(t){return!!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function pn(t){return!!t.expression&&t.expression.interpolated}function dn(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function mn(t){return\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function gn(t){return t}function yn(t,e){const r=\"color\"===e.type,n=t.stops&&\"object\"==typeof t.stops[0][0],i=n||void 0!==t.property,a=n||!i,o=t.type||(pn(e)?\"exponential\":\"interval\");if(r||\"padding\"===e.type){const n=r?Xt.parse:Qt.parse;(t=at({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],n(t[1])]))),t.default?t.default=n(t.default):t.default=n(e.default)}if(t.colorSpace&&(\"rgb\"!==(s=t.colorSpace)&&\"hcl\"!==s&&\"lab\"!==s))throw new Error(`Unknown color space: \"${t.colorSpace}\"`);var s;let l,c,u;if(\"exponential\"===o)l=bn;else if(\"interval\"===o)l=_n;else if(\"categorical\"===o){l=xn,c=Object.create(null);for(const e of t.stops)c[e[0]]=e[1];u=typeof t.stops[0][0]}else{if(\"identity\"!==o)throw new Error(`Unknown function type \"${o}\"`);l=wn}if(n){const r={},n=[];for(let e=0;et[0])),evaluate({zoom:r},n){return bn({stops:i,base:t.base},e,r).evaluate(r,n)}}}if(a){const r=\"exponential\"===o?{name:\"exponential\",base:void 0!==t.base?t.base:1}:null;return{kind:\"camera\",interpolationType:r,interpolationFactor:ze.interpolationFactor.bind(void 0,r),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:r})=>l(t,e,r,c,u)}}return{kind:\"source\",evaluate(r,n){const i=n&&n.properties?n.properties[t.property]:void 0;return void 0===i?vn(t.default,e.default):l(t,e,i,c,u)}}}function vn(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function xn(t,e,r,n,i){return vn(typeof r===i?n[r]:void 0,t.default,e.default)}function _n(t,e,r){if(\"number\"!==dn(r))return vn(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];const i=ke(t.stops.map((t=>t[0])),r);return t.stops[i][1]}function bn(t,e,r){const n=void 0!==t.base?t.base:1;if(\"number\"!==dn(r))return vn(t.default,e.default);const i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];const a=ke(t.stops.map((t=>t[0])),r),o=function(t,e,r,n){const i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],c=Pe[e.type]||gn;return\"function\"==typeof s.evaluate?{evaluate(...e){const r=s.evaluate.apply(void 0,e),n=l.evaluate.apply(void 0,e);if(void 0!==r&&void 0!==n)return c(r,n,o,t.colorSpace)}}:c(s,l,o,t.colorSpace)}function wn(t,e,r){switch(e.type){case\"color\":r=Xt.parse(r);break;case\"formatted\":r=Kt.fromString(r.toString());break;case\"resolvedImage\":r=re.fromString(r.toString());break;case\"padding\":r=Qt.parse(r);break;default:dn(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0)}return vn(r,t.default,e.default)}Qr.register(Kr,{error:[{kind:\"error\"},[ut],(t,[e])=>{throw new le(e.evaluate(t))}],typeof:[ut,[dt],(t,[e])=>bt(ae(e.evaluate(t)))],\"to-rgba\":[_t(ct,4),[ft],(t,[e])=>{const[r,n,i,a]=e.evaluate(t).rgb;return[255*r,255*n,255*i,a]}],rgb:[ft,[ct,ct,ct],tn],rgba:[ft,[ct,ct,ct,ct],tn],has:{type:ht,overloads:[[[ut],(t,[e])=>en(e.evaluate(t),t.properties())],[[ut,pt],(t,[e,r])=>en(e.evaluate(t),r.evaluate(t))]]},get:{type:dt,overloads:[[[ut],(t,[e])=>rn(e.evaluate(t),t.properties())],[[ut,pt],(t,[e,r])=>rn(e.evaluate(t),r.evaluate(t))]]},\"feature-state\":[dt,[ut],(t,[e])=>rn(e.evaluate(t),t.featureState||{})],properties:[pt,[],t=>t.properties()],\"geometry-type\":[ut,[],t=>t.geometryType()],id:[dt,[],t=>t.id()],zoom:[ct,[],t=>t.globals.zoom],\"heatmap-density\":[ct,[],t=>t.globals.heatmapDensity||0],\"line-progress\":[ct,[],t=>t.globals.lineProgress||0],accumulated:[dt,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],\"+\":[ct,nn(ct),(t,e)=>{let r=0;for(const n of e)r+=n.evaluate(t);return r}],\"*\":[ct,nn(ct),(t,e)=>{let r=1;for(const n of e)r*=n.evaluate(t);return r}],\"-\":{type:ct,overloads:[[[ct,ct],(t,[e,r])=>e.evaluate(t)-r.evaluate(t)],[[ct],(t,[e])=>-e.evaluate(t)]]},\"/\":[ct,[ct,ct],(t,[e,r])=>e.evaluate(t)/r.evaluate(t)],\"%\":[ct,[ct,ct],(t,[e,r])=>e.evaluate(t)%r.evaluate(t)],ln2:[ct,[],()=>Math.LN2],pi:[ct,[],()=>Math.PI],e:[ct,[],()=>Math.E],\"^\":[ct,[ct,ct],(t,[e,r])=>Math.pow(e.evaluate(t),r.evaluate(t))],sqrt:[ct,[ct],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))],log2:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[ct,[ct],(t,[e])=>Math.sin(e.evaluate(t))],cos:[ct,[ct],(t,[e])=>Math.cos(e.evaluate(t))],tan:[ct,[ct],(t,[e])=>Math.tan(e.evaluate(t))],asin:[ct,[ct],(t,[e])=>Math.asin(e.evaluate(t))],acos:[ct,[ct],(t,[e])=>Math.acos(e.evaluate(t))],atan:[ct,[ct],(t,[e])=>Math.atan(e.evaluate(t))],min:[ct,nn(ct),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[ct,nn(ct),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[ct,[ct],(t,[e])=>Math.abs(e.evaluate(t))],round:[ct,[ct],(t,[e])=>{const r=e.evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[ct,[ct],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[ct,[ct],(t,[e])=>Math.ceil(e.evaluate(t))],\"filter-==\":[ht,[ut,dt],(t,[e,r])=>t.properties()[e.value]===r.value],\"filter-id-==\":[ht,[dt],(t,[e])=>t.id()===e.value],\"filter-type-==\":[ht,[ut],(t,[e])=>t.geometryType()===e.value],\"filter-<\":[ht,[ut,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n{const r=t.id(),n=e.value;return typeof r==typeof n&&r\":[ht,[ut,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>i}],\"filter-id->\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>n}],\"filter-<=\":[ht,[ut,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n<=i}],\"filter-id-<=\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r<=n}],\"filter->=\":[ht,[ut,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>=i}],\"filter-id->=\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>=n}],\"filter-has\":[ht,[dt],(t,[e])=>e.value in t.properties()],\"filter-has-id\":[ht,[],t=>null!==t.id()&&void 0!==t.id()],\"filter-type-in\":[ht,[_t(ut)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],\"filter-id-in\":[ht,[_t(dt)],(t,[e])=>e.value.indexOf(t.id())>=0],\"filter-in-small\":[ht,[ut,_t(dt)],(t,[e,r])=>r.value.indexOf(t.properties()[e.value])>=0],\"filter-in-large\":[ht,[ut,_t(dt)],(t,[e,r])=>function(t,e,r,n){for(;r<=n;){const i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[e.value],r.value,0,r.value.length-1)],all:{type:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)&&r.evaluate(t)],[nn(ht),(t,e)=>{for(const r of e)if(!r.evaluate(t))return!1;return!0}]]},any:{type:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)||r.evaluate(t)],[nn(ht),(t,e)=>{for(const r of e)if(r.evaluate(t))return!0;return!1}]]},\"!\":[ht,[ht],(t,[e])=>!e.evaluate(t)],\"is-supported-script\":[ht,[ut],(t,[e])=>{const r=t.globals&&t.globals.isSupportedScript;return!r||r(e.evaluate(t))}],upcase:[ut,[ut],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[ut,[ut],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[ut,nn(dt),(t,e)=>e.map((e=>oe(e.evaluate(t)))).join(\"\")],\"resolved-locale\":[ut,[mt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class Tn{constructor(t,e){var r;this.expression=t,this._warningHistory={},this._evaluator=new de,this._defaultValue=e?\"color\"===(r=e).type&&mn(r.default)?new Xt(0,0,0,0):\"color\"===r.type?Xt.parse(r.default)||null:\"padding\"===r.type?Qt.parse(r.default)||null:\"variableAnchorOffsetCollection\"===r.type?ee.parse(r.default)||null:void 0===r.default?null:r.default:null,this._enumValues=e&&\"enum\"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||\"number\"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new le(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(\", \")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function kn(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in Kr}function An(t,e){const r=new me(Kr,an,[],e?function(t){const e={color:ft,string:ut,number:ct,enum:ut,boolean:ht,formatted:gt,padding:yt,resolvedImage:vt,variableAnchorOffsetCollection:xt};return\"array\"===t.type?_t(e[t.value]||dt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?cn(new Tn(n,e)):un(r.errors)}class Mn{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!sn(e.expression)}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)}evaluate(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)}}class Sn{constructor(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!sn(e.expression),this.interpolationType=n}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)}evaluate(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)}interpolationFactor(t,e,r){return this.interpolationType?ze.interpolationFactor(this.interpolationType,t,e,r):0}}function En(t,e){const r=An(t,e);if(\"error\"===r.result)return r;const n=r.value.expression,i=on(n);if(!i&&!hn(e))return un([new ot(\"\",\"data expressions not supported\")]);const a=ln(n,[\"zoom\"]);if(!a&&!fn(e))return un([new ot(\"\",\"zoom expressions not supported\")]);const o=Ln(n);if(!o&&!a)return un([new ot(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(o instanceof ot)return un([o]);if(o instanceof ze&&!pn(e))return un([new ot(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!o)return cn(new Mn(i?\"constant\":\"source\",r.value));const s=o instanceof ze?o.interpolation:void 0;return cn(new Sn(i?\"camera\":\"composite\",r.value,o.labels,s))}class Cn{constructor(t,e){this._parameters=t,this._specification=e,at(this,yn(this._parameters,this._specification))}static deserialize(t){return new Cn(t._parameters,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification}}}function Ln(t){let e=null;if(t instanceof ge)e=Ln(t.result);else if(t instanceof De){for(const r of t.args)if(e=Ln(r),e)break}else(t instanceof Ae||t instanceof ze)&&t.input instanceof Qr&&\"zoom\"===t.input.name&&(e=t);return e instanceof ot||t.eachChild((t=>{const r=Ln(t);r instanceof ot?e=r:!e&&r?e=new ot(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):e&&r&&e!==r&&(e=new ot(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))})),e}function In(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case\"has\":return t.length>=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":return t.length>=3&&(\"string\"!=typeof t[1]||Array.isArray(t[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case\"any\":case\"all\":for(const e of t.slice(1))if(!In(e)&&\"boolean\"!=typeof e)return!1;return!0;default:return!0}}const Pn={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function zn(t){if(null==t)return{filter:()=>!0,needGeometry:!1};In(t)||(t=Rn(t));const e=An(t,Pn);if(\"error\"===e.result)throw new Error(e.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));return{filter:(t,r,n)=>e.value.evaluate(t,r,{},n),needGeometry:Dn(t)}}function On(t,e){return te?1:0}function Dn(t){if(!Array.isArray(t))return!1;if(\"within\"===t[0]||\"distance\"===t[0])return!0;for(let e=1;e\"===e||\"<=\"===e||\">=\"===e?Fn(t[1],t[2],e):\"any\"===e?(r=t.slice(1),[\"any\"].concat(r.map(Rn))):\"all\"===e?[\"all\"].concat(t.slice(1).map(Rn)):\"none\"===e?[\"all\"].concat(t.slice(1).map(Rn).map(jn)):\"in\"===e?Bn(t[1],t.slice(2)):\"!in\"===e?jn(Bn(t[1],t.slice(2))):\"has\"===e?Nn(t[1]):\"!has\"!==e||jn(Nn(t[1]));var r}function Fn(t,e,r){switch(t){case\"$type\":return[`filter-type-${r}`,e];case\"$id\":return[`filter-id-${r}`,e];default:return[`filter-${r}`,t,e]}}function Bn(t,e){if(0===e.length)return!1;switch(t){case\"$type\":return[\"filter-type-in\",[\"literal\",e]];case\"$id\":return[\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?[\"filter-in-large\",t,[\"literal\",e.sort(On)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function Nn(t){switch(t){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",t]}}function jn(t){return[\"!\",t]}function Un(t){const e=typeof t;if(\"number\"===e||\"boolean\"===e||\"string\"===e||null==t)return JSON.stringify(t);if(Array.isArray(t)){let e=\"[\";for(const r of t)e+=`${Un(r)},`;return`${e}]`}const r=Object.keys(t).sort();let n=\"{\";for(let e=0;en.maximum?[new it(e,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function Xn(t){const e=t.valueSpec,r=Hn(t.value.type);let n,i,a,o={};const s=\"categorical\"!==r&&void 0===t.value.property,l=!s,c=\"array\"===dn(t.value.stops)&&\"array\"===dn(t.value.stops[0])&&\"object\"===dn(t.value.stops[0][0]),u=Zn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===r)return[new it(t.key,t.value,'identity function may not have a \"stops\" property')];let e=[];const n=t.value;return e=e.concat(Wn({key:t.key,value:n,valueSpec:t.valueSpec,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),\"array\"===dn(n)&&0===n.length&&e.push(new it(t.key,n,\"array must have at least one stop\")),e},default:function(t){return t.validateSpec({key:t.key,value:t.value,valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec})}}});return\"identity\"===r&&s&&u.push(new it(t.key,t.value,'missing required property \"property\"')),\"identity\"===r||t.value.stops||u.push(new it(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===r&&t.valueSpec.expression&&!pn(t.valueSpec)&&u.push(new it(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!hn(t.valueSpec)?u.push(new it(t.key,t.value,\"property functions not supported\")):s&&!fn(t.valueSpec)&&u.push(new it(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==r&&!c||void 0!==t.value.property||u.push(new it(t.key,t.value,'\"property\" property is required')),u;function h(t){let r=[];const n=t.value,s=t.key;if(\"array\"!==dn(n))return[new it(s,n,`array expected, ${dn(n)} found`)];if(2!==n.length)return[new it(s,n,`array length 2 expected, length ${n.length} found`)];if(c){if(\"object\"!==dn(n[0]))return[new it(s,n,`object expected, ${dn(n[0])} found`)];if(void 0===n[0].zoom)return[new it(s,n,\"object stop key must have zoom\")];if(void 0===n[0].value)return[new it(s,n,\"object stop key must have value\")];if(a&&a>Hn(n[0].zoom))return[new it(s,n[0].zoom,\"stop zoom values must appear in ascending order\")];Hn(n[0].zoom)!==a&&(a=Hn(n[0].zoom),i=void 0,o={}),r=r.concat(Zn({key:`${s}[0]`,value:n[0],valueSpec:{zoom:{}},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Yn,value:f}}))}else r=r.concat(f({key:`${s}[0]`,value:n[0],valueSpec:{},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec},n));return kn(Gn(n[1]))?r.concat([new it(`${s}[1]`,n[1],\"expressions are not allowed in function stops.\")]):r.concat(t.validateSpec({key:`${s}[1]`,value:n[1],valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec}))}function f(t,a){const s=dn(t.value),l=Hn(t.value),c=null!==t.value?t.value:a;if(n){if(s!==n)return[new it(t.key,c,`${s} stop domain type must match previous stop domain type ${n}`)]}else n=s;if(\"number\"!==s&&\"string\"!==s&&\"boolean\"!==s)return[new it(t.key,c,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==s&&\"categorical\"!==r){let n=`number expected, ${s} found`;return hn(e)&&void 0===r&&(n+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new it(t.key,c,n)]}return\"categorical\"!==r||\"number\"!==s||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==r&&\"number\"===s&&void 0!==i&&lnew it(`${t.key}${e.key}`,t.value,e.message)));const r=e.value.expression||e.value._styleExpression.expression;if(\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&!r.outputDefined())return[new it(t.key,t.value,`Invalid data expression for \"${t.propertyKey}\". Output values must be contained as literals within the expression.`)];if(\"property\"===t.expressionContext&&\"layout\"===t.propertyType&&!sn(r))return[new it(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===t.expressionContext&&!sn(r))return[new it(t.key,t.value,'\"feature-state\" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf(\"cluster\")){if(!ln(r,[\"zoom\",\"feature-state\"]))return[new it(t.key,t.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===t.expressionContext&&!on(r))return[new it(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Jn(t){const e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Hn(r))&&i.push(new it(e,r,`expected one of [${n.values.join(\", \")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(Hn(r))&&i.push(new it(e,r,`expected one of [${Object.keys(n.values).join(\", \")}], ${JSON.stringify(r)} found`)),i}function Kn(t){return In(Gn(t.value))?$n(at({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Qn(t)}function Qn(t){const e=t.value,r=t.key;if(\"array\"!==dn(e))return[new it(r,e,`array expected, ${dn(e)} found`)];const n=t.styleSpec;let i,a=[];if(e.length<1)return[new it(r,e,\"filter array must have at least 1 element\")];switch(a=a.concat(Jn({key:`${r}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),Hn(e[0])){case\"<\":case\"<=\":case\">\":case\">=\":e.length>=2&&\"$type\"===Hn(e[1])&&a.push(new it(r,e,`\"$type\" cannot be use with operator \"${e[0]}\"`));case\"==\":case\"!=\":3!==e.length&&a.push(new it(r,e,`filter array for operator \"${e[0]}\" must have 3 elements`));case\"in\":case\"!in\":e.length>=2&&(i=dn(e[1]),\"string\"!==i&&a.push(new it(`${r}[1]`,e[1],`string expected, ${i} found`)));for(let o=2;o{t in r&&e.push(new it(n,r[t],`\"${t}\" is prohibited for ref layers`))})),i.layers.forEach((e=>{Hn(e.id)===s&&(t=e)})),t?t.ref?e.push(new it(n,r.ref,\"ref cannot reference another ref layer\")):o=Hn(t.type):e.push(new it(n,r.ref,`ref layer \"${s}\" not found`))}else if(\"background\"!==o)if(r.source){const t=i.sources&&i.sources[r.source],a=t&&Hn(t.type);t?\"vector\"===a&&\"raster\"===o?e.push(new it(n,r.source,`layer \"${r.id}\" requires a raster source`)):\"raster-dem\"!==a&&\"hillshade\"===o?e.push(new it(n,r.source,`layer \"${r.id}\" requires a raster-dem source`)):\"raster\"===a&&\"raster\"!==o?e.push(new it(n,r.source,`layer \"${r.id}\" requires a vector source`)):\"vector\"!==a||r[\"source-layer\"]?\"raster-dem\"===a&&\"hillshade\"!==o?e.push(new it(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==o||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===a&&t.lineMetrics||e.push(new it(n,r,`layer \"${r.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):e.push(new it(n,r,`layer \"${r.id}\" must specify a \"source-layer\"`)):e.push(new it(n,r.source,`source \"${r.source}\" not found`))}else e.push(new it(n,r,'missing required property \"source\"'));return e=e.concat(Zn({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\"(){return[]},type(){return t.validateSpec({key:`${n}.type`,value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,object:r,objectKey:\"type\"})},filter:Kn,layout(t){return Zn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\"(t){return ri(at({layerType:o},t))}}})},paint(t){return Zn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\"(t){return ei(at({layerType:o},t))}}})}}})),e}function ii(t){const e=t.value,r=t.key,n=dn(e);return\"string\"!==n?[new it(r,e,`string expected, ${n} found`)]:[]}const ai={promoteId:function({key:t,value:e}){if(\"string\"===dn(e))return ii({key:t,value:e});{const r=[];for(const n in e)r.push(...ii({key:`${t}.${n}`,value:e[n]}));return r}}};function oi(t){const e=t.value,r=t.key,n=t.styleSpec,i=t.style,a=t.validateSpec;if(!e.type)return[new it(r,e,'\"type\" is required')];const o=Hn(e.type);let s;switch(o){case\"vector\":case\"raster\":return s=Zn({key:r,value:e,valueSpec:n[`source_${o.replace(\"-\",\"_\")}`],style:t.style,styleSpec:n,objectElementValidators:ai,validateSpec:a}),s;case\"raster-dem\":return s=function(t){var e;const r=null!==(e=t.sourceName)&&void 0!==e?e:\"\",n=t.value,i=t.styleSpec,a=i.source_raster_dem,o=t.style;let s=[];const l=dn(n);if(void 0===n)return s;if(\"object\"!==l)return s.push(new it(\"source_raster_dem\",n,`object expected, ${l} found`)),s;const c=\"custom\"===Hn(n.encoding),u=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],h=t.value.encoding?`\"${t.value.encoding}\"`:\"Default\";for(const e in n)!c&&u.includes(e)?s.push(new it(e,n[e],`In \"${r}\": \"${e}\" is only valid when \"encoding\" is set to \"custom\". ${h} encoding found`)):a[e]?s=s.concat(t.validateSpec({key:e,value:n[e],valueSpec:a[e],validateSpec:t.validateSpec,style:o,styleSpec:i})):s.push(new it(e,n[e],`unknown property \"${e}\"`));return s}({sourceName:r,value:e,style:t.style,styleSpec:n,validateSpec:a}),s;case\"geojson\":if(s=Zn({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,validateSpec:a,objectElementValidators:ai}),e.cluster)for(const t in e.clusterProperties){const[n,i]=e.clusterProperties[t],o=\"string\"==typeof n?[n,[\"accumulated\"],[\"get\",t]]:n;s.push(...$n({key:`${r}.${t}.map`,value:i,validateSpec:a,expressionContext:\"cluster-map\"})),s.push(...$n({key:`${r}.${t}.reduce`,value:o,validateSpec:a,expressionContext:\"cluster-reduce\"}))}return s;case\"video\":return Zn({key:r,value:e,valueSpec:n.source_video,style:i,validateSpec:a,styleSpec:n});case\"image\":return Zn({key:r,value:e,valueSpec:n.source_image,style:i,validateSpec:a,styleSpec:n});case\"canvas\":return[new it(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Jn({key:`${r}.type`,value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,validateSpec:a,styleSpec:n})}}function si(t){const e=t.value,r=t.styleSpec,n=r.light,i=t.style;let a=[];const o=dn(e);if(void 0===e)return a;if(\"object\"!==o)return a=a.concat([new it(\"light\",e,`object expected, ${o} found`)]),a;for(const o in e){const s=o.match(/^(.*)-transition$/);a=s&&n[s[1]]&&n[s[1]].transition?a.concat(t.validateSpec({key:o,value:e[o],valueSpec:r.transition,validateSpec:t.validateSpec,style:i,styleSpec:r})):n[o]?a.concat(t.validateSpec({key:o,value:e[o],valueSpec:n[o],validateSpec:t.validateSpec,style:i,styleSpec:r})):a.concat([new it(o,e[o],`unknown property \"${o}\"`)])}return a}function li(t){const e=t.value,r=t.styleSpec,n=r.sky,i=t.style,a=dn(e);if(void 0===e)return[];if(\"object\"!==a)return[new it(\"sky\",e,`object expected, ${a} found`)];let o=[];for(const a in e)o=n[a]?o.concat(t.validateSpec({key:a,value:e[a],valueSpec:n[a],style:i,styleSpec:r})):o.concat([new it(a,e[a],`unknown property \"${a}\"`)]);return o}function ci(t){const e=t.value,r=t.styleSpec,n=r.terrain,i=t.style;let a=[];const o=dn(e);if(void 0===e)return a;if(\"object\"!==o)return a=a.concat([new it(\"terrain\",e,`object expected, ${o} found`)]),a;for(const o in e)a=n[o]?a.concat(t.validateSpec({key:o,value:e[o],valueSpec:n[o],validateSpec:t.validateSpec,style:i,styleSpec:r})):a.concat([new it(o,e[o],`unknown property \"${o}\"`)]);return a}function ui(t){let e=[];const r=t.value,n=t.key;if(Array.isArray(r)){const i=[],a=[];for(const o in r){r[o].id&&i.includes(r[o].id)&&e.push(new it(n,r,`all the sprites' ids must be unique, but ${r[o].id} is duplicated`)),i.push(r[o].id),r[o].url&&a.includes(r[o].url)&&e.push(new it(n,r,`all the sprites' URLs must be unique, but ${r[o].url} is duplicated`)),a.push(r[o].url);const s={id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}};e=e.concat(Zn({key:`${n}[${o}]`,value:r[o],valueSpec:s,validateSpec:t.validateSpec}))}return e}return ii({key:n,value:r})}const hi={\"*\"(){return[]},array:Wn,boolean:function(t){const e=t.value,r=t.key,n=dn(e);return\"boolean\"!==n?[new it(r,e,`boolean expected, ${n} found`)]:[]},number:Yn,color:function(t){const e=t.key,r=t.value,n=dn(r);return\"string\"!==n?[new it(e,r,`color expected, ${n} found`)]:Xt.parse(String(r))?[]:[new it(e,r,`color expected, \"${r}\" found`)]},constants:qn,enum:Jn,filter:Kn,function:Xn,layer:ni,object:Zn,source:oi,light:si,sky:li,terrain:ci,projection:function(t){const e=t.value,r=t.styleSpec,n=r.projection,i=t.style,a=dn(e);if(void 0===e)return[];if(\"object\"!==a)return[new it(\"projection\",e,`object expected, ${a} found`)];let o=[];for(const a in e)o=n[a]?o.concat(t.validateSpec({key:a,value:e[a],valueSpec:n[a],style:i,styleSpec:r})):o.concat([new it(a,e[a],`unknown property \"${a}\"`)]);return o},string:ii,formatted:function(t){return 0===ii(t).length?[]:$n(t)},resolvedImage:function(t){return 0===ii(t).length?[]:$n(t)},padding:function(t){const e=t.key,r=t.value;if(\"array\"===dn(r)){if(r.length<1||r.length>4)return[new it(e,r,`padding requires 1 to 4 values; ${r.length} values found`)];const n={type:\"number\"};let i=[];for(let a=0;at.line-e.line))}function yi(t){return function(...e){return gi(t.apply(this,e))}}di.source=yi(mi(oi)),di.sprite=yi(mi(ui)),di.glyphs=yi(mi(pi)),di.light=yi(mi(si)),di.sky=yi(mi(li)),di.terrain=yi(mi(ci)),di.layer=yi(mi(ni)),di.filter=yi(mi(Kn)),di.paintProperty=yi(mi(ei)),di.layoutProperty=yi(mi(ri));const vi=di;vi.source;const xi=vi.light,_i=vi.sky;vi.terrain,vi.filter;const bi=vi.paintProperty,wi=vi.layoutProperty;function Ti(t,e){let r=!1;if(e&&e.length)for(const n of e)t.fire(new H(new Error(n.message))),r=!0;return r}class ki{constructor(t,e,r){const n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const i=new Int32Array(this.arrayBuffer);t=i[0],e=i[1],r=i[2],this.d=e+2*r;for(let t=0;t=c[l+0]&&n>=c[l+1])?(o[h]=!0,a.push(i[h])):o[h]=!1}}}}_forEachCell(t,e,r,n,i,a,o,s){const l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n);for(let f=l;f<=u;f++)for(let l=c;l<=h;l++){const c=this.d*l+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(l),this._convertFromCellCoord(f+1),this._convertFromCellCoord(l+1)))&&i.call(this,t,e,r,n,c,a,o,s))return}}_convertFromCellCoord(t){return(t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let r=0;for(let t=0;t=0)continue;const a=t[n];i[n]=Ai[r].shallow.indexOf(n)>=0?a:Li(a,e)}t instanceof Error&&(i.message=t.message)}if(i.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return\"Object\"!==r&&(i.$name=r),i}function Ii(t){if(Ci(t))return t;if(Array.isArray(t))return t.map(Ii);if(\"object\"!=typeof t)throw new Error(\"can't deserialize object of type \"+typeof t);const e=Ei(t)||\"Object\";if(!Ai[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:r}=Ai[e];if(!r)throw new Error(`can't deserialize unregistered class ${e}`);if(r.deserialize)return r.deserialize(t);const n=Object.create(r.prototype);for(const r of Object.keys(t)){if(\"$name\"===r)continue;const i=t[r];n[r]=Ai[e].shallow.indexOf(r)>=0?i:Ii(i)}return n}class Pi{constructor(){this.first=!0}update(t,e){const r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoomt>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,\"Arabic Supplement\":t=>t>=1872&&t<=1919,\"Arabic Extended-A\":t=>t>=2208&&t<=2303,\"Hangul Jamo\":t=>t>=4352&&t<=4607,\"Unified Canadian Aboriginal Syllabics\":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,\"Unified Canadian Aboriginal Syllabics Extended\":t=>t>=6320&&t<=6399,\"General Punctuation\":t=>t>=8192&&t<=8303,\"Letterlike Symbols\":t=>t>=8448&&t<=8527,\"Number Forms\":t=>t>=8528&&t<=8591,\"Miscellaneous Technical\":t=>t>=8960&&t<=9215,\"Control Pictures\":t=>t>=9216&&t<=9279,\"Optical Character Recognition\":t=>t>=9280&&t<=9311,\"Enclosed Alphanumerics\":t=>t>=9312&&t<=9471,\"Geometric Shapes\":t=>t>=9632&&t<=9727,\"Miscellaneous Symbols\":t=>t>=9728&&t<=9983,\"Miscellaneous Symbols and Arrows\":t=>t>=11008&&t<=11263,\"CJK Radicals Supplement\":t=>t>=11904&&t<=12031,\"Kangxi Radicals\":t=>t>=12032&&t<=12255,\"Ideographic Description Characters\":t=>t>=12272&&t<=12287,\"CJK Symbols and Punctuation\":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,\"Hangul Compatibility Jamo\":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,\"Bopomofo Extended\":t=>t>=12704&&t<=12735,\"CJK Strokes\":t=>t>=12736&&t<=12783,\"Katakana Phonetic Extensions\":t=>t>=12784&&t<=12799,\"Enclosed CJK Letters and Months\":t=>t>=12800&&t<=13055,\"CJK Compatibility\":t=>t>=13056&&t<=13311,\"CJK Unified Ideographs Extension A\":t=>t>=13312&&t<=19903,\"Yijing Hexagram Symbols\":t=>t>=19904&&t<=19967,\"CJK Unified Ideographs\":t=>t>=19968&&t<=40959,\"Yi Syllables\":t=>t>=40960&&t<=42127,\"Yi Radicals\":t=>t>=42128&&t<=42191,\"Hangul Jamo Extended-A\":t=>t>=43360&&t<=43391,\"Hangul Syllables\":t=>t>=44032&&t<=55215,\"Hangul Jamo Extended-B\":t=>t>=55216&&t<=55295,\"Private Use Area\":t=>t>=57344&&t<=63743,\"CJK Compatibility Ideographs\":t=>t>=63744&&t<=64255,\"Arabic Presentation Forms-A\":t=>t>=64336&&t<=65023,\"Vertical Forms\":t=>t>=65040&&t<=65055,\"CJK Compatibility Forms\":t=>t>=65072&&t<=65103,\"Small Form Variants\":t=>t>=65104&&t<=65135,\"Arabic Presentation Forms-B\":t=>t>=65136&&t<=65279,\"Halfwidth and Fullwidth Forms\":t=>t>=65280&&t<=65519};function Oi(t){for(const e of t)if(Fi(e.charCodeAt(0)))return!0;return!1}function Di(t){for(const e of t)if(!Ri(e.charCodeAt(0)))return!1;return!0}function Ri(t){return!(zi.Arabic(t)||zi[\"Arabic Supplement\"](t)||zi[\"Arabic Extended-A\"](t)||zi[\"Arabic Presentation Forms-A\"](t)||zi[\"Arabic Presentation Forms-B\"](t))}function Fi(t){return!(746!==t&&747!==t&&(t<4352||!(zi[\"Bopomofo Extended\"](t)||zi.Bopomofo(t)||zi[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||zi[\"CJK Compatibility Ideographs\"](t)||zi[\"CJK Compatibility\"](t)||zi[\"CJK Radicals Supplement\"](t)||zi[\"CJK Strokes\"](t)||!(!zi[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||zi[\"CJK Unified Ideographs Extension A\"](t)||zi[\"CJK Unified Ideographs\"](t)||zi[\"Enclosed CJK Letters and Months\"](t)||zi[\"Hangul Compatibility Jamo\"](t)||zi[\"Hangul Jamo Extended-A\"](t)||zi[\"Hangul Jamo Extended-B\"](t)||zi[\"Hangul Jamo\"](t)||zi[\"Hangul Syllables\"](t)||zi.Hiragana(t)||zi[\"Ideographic Description Characters\"](t)||zi.Kanbun(t)||zi[\"Kangxi Radicals\"](t)||zi[\"Katakana Phonetic Extensions\"](t)||zi.Katakana(t)&&12540!==t||!(!zi[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!zi[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||zi[\"Unified Canadian Aboriginal Syllabics\"](t)||zi[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||zi[\"Vertical Forms\"](t)||zi[\"Yijing Hexagram Symbols\"](t)||zi[\"Yi Syllables\"](t)||zi[\"Yi Radicals\"](t))))}function Bi(t){return!(Fi(t)||function(t){return!!(zi[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||zi[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||zi[\"Letterlike Symbols\"](t)||zi[\"Number Forms\"](t)||zi[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||zi[\"Control Pictures\"](t)&&9251!==t||zi[\"Optical Character Recognition\"](t)||zi[\"Enclosed Alphanumerics\"](t)||zi[\"Geometric Shapes\"](t)||zi[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||zi[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||zi[\"CJK Symbols and Punctuation\"](t)||zi.Katakana(t)||zi[\"Private Use Area\"](t)||zi[\"CJK Compatibility Forms\"](t)||zi[\"Small Form Variants\"](t)||zi[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Ni(t){return zi.Arabic(t)||zi[\"Arabic Supplement\"](t)||zi[\"Arabic Extended-A\"](t)||zi[\"Arabic Presentation Forms-A\"](t)||zi[\"Arabic Presentation Forms-B\"](t)}function ji(t){return t>=1424&&t<=2303||zi[\"Arabic Presentation Forms-A\"](t)||zi[\"Arabic Presentation Forms-B\"](t)}function Ui(t,e){return!(!e&&ji(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||zi.Khmer(t))}function Vi(t){for(const e of t)if(ji(e.charCodeAt(0)))return!0;return!1}const qi=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null}setState(t){this.pluginStatus=t.pluginStatus,this.pluginURL=t.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(t){this.applyArabicShaping=t.applyArabicShaping,this.processBidirectionalText=t.processBidirectionalText,this.processStyledBidirectionalText=t.processStyledBidirectionalText}isParsed(){return null!=this.applyArabicShaping&&null!=this.processBidirectionalText&&null!=this.processStyledBidirectionalText}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Hi{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Pi,this.transition={})}isSupportedScript(t){return function(t,e){for(const r of t)if(!Ui(r.charCodeAt(0),e))return!1;return!0}(t,\"loaded\"===qi.getRTLTextPluginStatus())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}}}class Gi{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(mn(t))return new Cn(t,e);if(kn(t)){const r=En(t,e);if(\"error\"===r.result)throw new Error(r.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));return r.value}{let r=t;return\"color\"===e.type&&\"string\"==typeof t?r=Xt.parse(t):\"padding\"!==e.type||\"number\"!=typeof t&&!Array.isArray(t)?\"variableAnchorOffsetCollection\"===e.type&&Array.isArray(t)&&(r=ee.parse(t)):r=Qt.parse(t),{kind:\"constant\",evaluate:()=>r}}}(void 0===e?t.specification.default:e,t.specification)}isDataDriven(){return\"source\"===this.expression.kind||\"composite\"===this.expression.kind}possiblyEvaluate(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)}}class Zi{constructor(t){this.property=t,this.value=new Gi(t,void 0)}transitioned(t,e){return new Yi(this.property,this.value,e,y({},t.transition,this.transition),t.now)}untransitioned(){return new Yi(this.property,this.value,null,{},0)}}class Wi{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)}getValue(t){return b(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Zi(this._values[t].property)),this._values[t].value=new Gi(this._values[t].property,null===e?void 0:b(e))}getTransition(t){return b(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Zi(this._values[t].property)),this._values[t].transition=b(e)||void 0}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);const n=this.getTransition(e);void 0!==n&&(t[`${e}-transition`]=n)}return t}transitioned(t,e){const r=new Xi(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(t,e._values[n]);return r}untransitioned(){const t=new Xi(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class Yi{constructor(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)}possiblyEvaluate(t,e,r){const n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;const e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}}return i}}class Xi{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)}possiblyEvaluate(t,e,r){const n=new Ki(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return!0;return!1}}class $i{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)}hasValue(t){return void 0!==this._values[t].value}getValue(t){return b(this._values[t].value)}setValue(t,e){this._values[t]=new Gi(this._values[t].property,null===e?void 0:b(e))}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r)}return t}possiblyEvaluate(t,e,r){const n=new Ki(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}}class Ji{constructor(t,e,r){this.property=t,this.value=e,this.parameters=r}isConstant(){return\"constant\"===this.value.kind}constantOr(t){return\"constant\"===this.value.kind?this.value.value:t}evaluate(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)}}class Ki{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)}get(t){return this._values[t]}}class Qi{constructor(t){this.specification=t}possiblyEvaluate(t,e){if(t.isDataDriven())throw new Error(\"Value should not be data driven\");return t.expression.evaluate(e)}interpolate(t,e,r){const n=this.specification.type,i=Pe[n];return i?i(t,e,r):t}}class ta{constructor(t,e){this.specification=t,this.overrides=e}possiblyEvaluate(t,e,r,n){return\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?new Ji(this,{kind:\"constant\",value:t.expression.evaluate(e,null,{},r,n)},e):new Ji(this,t.expression,e)}interpolate(t,e,r){if(\"constant\"!==t.value.kind||\"constant\"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new Ji(this,{kind:\"constant\",value:void 0},t.parameters);const n=this.specification.type,i=Pe[n];if(i){const n=i(t.value.value,e.value.value,r);return new Ji(this,{kind:\"constant\",value:n},t.parameters)}return t}evaluate(t,e,r,n,i,a){return\"constant\"===t.kind?t.value:t.evaluate(e,r,n,i,a)}}class ea extends ta{possiblyEvaluate(t,e,r,n){if(void 0===t.value)return new Ji(this,{kind:\"constant\",value:void 0},e);if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n),a=\"resolvedImage\"===t.property.specification.type&&\"string\"!=typeof i?i.name:i,o=this._calculate(a,a,a,e);return new Ji(this,{kind:\"constant\",value:o},e)}if(\"camera\"===t.expression.kind){const r=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new Ji(this,{kind:\"constant\",value:r},e)}return new Ji(this,t.expression,e)}evaluate(t,e,r,n,i,a){if(\"source\"===t.kind){const o=t.evaluate(e,r,n,i,a);return this._calculate(o,o,o,e)}return\"composite\"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class ra{constructor(t){this.specification=t}possiblyEvaluate(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Hi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Hi(Math.floor(e.zoom),e)),t.expression.evaluate(new Hi(Math.floor(e.zoom+1),e)),e)}}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class na{constructor(t){this.specification=t}possiblyEvaluate(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)}interpolate(){return!1}}class ia{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const e in t){const r=t[e];r.specification.overridable&&this.overridableProperties.push(e);const n=this.defaultPropertyValues[e]=new Gi(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Zi(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}}}Mi(\"DataDrivenProperty\",ta),Mi(\"DataConstantProperty\",Qi),Mi(\"CrossFadedDataDrivenProperty\",ea),Mi(\"CrossFadedProperty\",ra),Mi(\"ColorRampProperty\",na);const aa=\"-transition\";class oa extends G{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},\"custom\"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,\"background\"!==t.type&&(this.source=t.source,this.sourceLayer=t[\"source-layer\"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new $i(e.layout)),e.paint)){this._transitionablePaint=new Wi(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ki(e.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return\"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,r={}){if(null!=e){const n=`layers.${this.id}.layout.${t}`;if(this._validate(wi,n,t,e,r))return}\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e}getPaintProperty(t){return t.endsWith(aa)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,r={}){if(null!=e){const n=`layers.${this.id}.paint.${t}`;if(this._validate(bi,n,t,e,r))return!1}if(t.endsWith(aa))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;{const r=this._transitionablePaint._values[t],n=\"cross-faded-data-driven\"===r.property.specification[\"property-type\"],i=r.value.isDataDriven(),a=r.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const o=this._transitionablePaint._values[t].value;return o.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(t,a,o)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,r){return!1}isHidden(t){return!!(this.minzoom&&t=this.maxzoom)||\"none\"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)}serialize(){const t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),_(t,((t,e)=>!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)))}_validate(t,e,r,n,i={}){return(!i||!1!==i.validate)&&Ti(this,t.call(vi,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Z,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof Ji&&hn(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return!0}return!1}}const sa={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class la{constructor(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class ca{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(t){this.reserve(t),this.length=t}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function ua(t,e=1){let r=0,n=0;return{members:t.map((t=>{const i=(s=t.type,sa[s].BYTES_PER_ELEMENT),a=r=ha(r,Math.max(e,i)),o=t.components||1;var s;return n=Math.max(n,i),r+=i*o,{name:t.name,type:t.type,components:o,offset:a}})),size:ha(r,Math.max(n,e)),alignment:e}}function ha(t,e){return Math.ceil(t/e)*e}class fa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t}}fa.prototype.bytesPerElement=4,Mi(\"StructArrayLayout2i4\",fa);class pa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t}}pa.prototype.bytesPerElement=6,Mi(\"StructArrayLayout3i6\",pa);class da extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t}}da.prototype.bytesPerElement=8,Mi(\"StructArrayLayout4i8\",da);class ma extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,o){const s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t}}ma.prototype.bytesPerElement=12,Mi(\"StructArrayLayout2i4i12\",ma);class ga extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,o){const s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t}}ga.prototype.bytesPerElement=8,Mi(\"StructArrayLayout2i4ub8\",ga);class ya extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t}}ya.prototype.bytesPerElement=8,Mi(\"StructArrayLayout2f8\",ya);class va extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l,c){const u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l,c)}emplace(t,e,r,n,i,a,o,s,l,c,u){const h=10*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint16[h+8]=c,this.uint16[h+9]=u,t}}va.prototype.bytesPerElement=20,Mi(\"StructArrayLayout10ui20\",va);class xa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l,c,u,h){const f=this.length;return this.resize(f+1),this.emplace(f,t,e,r,n,i,a,o,s,l,c,u,h)}emplace(t,e,r,n,i,a,o,s,l,c,u,h,f){const p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,t}}xa.prototype.bytesPerElement=24,Mi(\"StructArrayLayout4i4ui4i24\",xa);class _a extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}_a.prototype.bytesPerElement=12,Mi(\"StructArrayLayout3f12\",_a);class ba extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){const r=1*t;return this.uint32[r+0]=e,t}}ba.prototype.bytesPerElement=4,Mi(\"StructArrayLayout1ul4\",ba);class wa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l)}emplace(t,e,r,n,i,a,o,s,l,c){const u=10*t,h=5*t;return this.int16[u+0]=e,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[h+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,t}}wa.prototype.bytesPerElement=20,Mi(\"StructArrayLayout6i1ul2ui20\",wa);class Ta extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,o){const s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t}}Ta.prototype.bytesPerElement=12,Mi(\"StructArrayLayout2i2i2i12\",Ta);class ka extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)}emplace(t,e,r,n,i,a){const o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t}}ka.prototype.bytesPerElement=16,Mi(\"StructArrayLayout2f1f2i16\",ka);class Aa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,o){const s=16*t,l=4*t,c=8*t;return this.uint8[s+0]=e,this.uint8[s+1]=r,this.float32[l+1]=n,this.float32[l+2]=i,this.int16[c+6]=a,this.int16[c+7]=o,t}}Aa.prototype.bytesPerElement=16,Mi(\"StructArrayLayout2ub2f2i16\",Aa);class Ma extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t}}Ma.prototype.bytesPerElement=6,Mi(\"StructArrayLayout3ui6\",Ma);class Sa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g){const y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g)}emplace(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){const v=24*t,x=12*t,_=48*t;return this.int16[v+0]=e,this.int16[v+1]=r,this.uint16[v+2]=n,this.uint16[v+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[v+10]=l,this.uint16[v+11]=c,this.uint16[v+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[_+36]=p,this.uint8[_+37]=d,this.uint8[_+38]=m,this.uint32[x+10]=g,this.int16[v+22]=y,t}}Sa.prototype.bytesPerElement=48,Mi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Sa);class Ea extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S){const E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S)}emplace(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E){const C=32*t,L=16*t;return this.int16[C+0]=e,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=m,this.uint16[C+15]=g,this.uint16[C+16]=y,this.uint16[C+17]=v,this.uint16[C+18]=x,this.uint16[C+19]=_,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[L+12]=k,this.float32[L+13]=A,this.float32[L+14]=M,this.uint16[C+30]=S,this.uint16[C+31]=E,t}}Ea.prototype.bytesPerElement=64,Mi(\"StructArrayLayout8i15ui1ul2f2ui64\",Ea);class Ca extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){const r=1*t;return this.float32[r+0]=e,t}}Ca.prototype.bytesPerElement=4,Mi(\"StructArrayLayout1f4\",Ca);class La extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=6*t,a=3*t;return this.uint16[i+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,t}}La.prototype.bytesPerElement=12,Mi(\"StructArrayLayout1ui2f12\",La);class Ia extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t}}Ia.prototype.bytesPerElement=8,Mi(\"StructArrayLayout1ul2ui8\",Ia);class Pa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t}}Pa.prototype.bytesPerElement=4,Mi(\"StructArrayLayout2ui4\",Pa);class za extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){const r=1*t;return this.uint16[r+0]=e,t}}za.prototype.bytesPerElement=2,Mi(\"StructArrayLayout1ui2\",za);class Oa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t}}Oa.prototype.bytesPerElement=16,Mi(\"StructArrayLayout4f16\",Oa);class Da extends la{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}}Da.prototype.size=20;class Ra extends wa{get(t){return new Da(this,t)}}Mi(\"CollisionBoxArray\",Ra);class Fa extends la{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Fa.prototype.size=48;class Ba extends Sa{get(t){return new Fa(this,t)}}Mi(\"PlacedSymbolArray\",Ba);class Na extends la{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Na.prototype.size=64;class ja extends Ea{get(t){return new Na(this,t)}}Mi(\"SymbolInstanceArray\",ja);class Ua extends Ca{getoffsetX(t){return this.float32[1*t+0]}}Mi(\"GlyphOffsetArray\",Ua);class Va extends pa{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}Mi(\"SymbolLineVertexArray\",Va);class qa extends la{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}qa.prototype.size=12;class Ha extends La{get(t){return new qa(this,t)}}Mi(\"TextAnchorOffsetArray\",Ha);class Ga extends la{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}Ga.prototype.size=8;class Za extends Ia{get(t){return new Ga(this,t)}}Mi(\"FeatureIndexArray\",Za);class Wa extends fa{}class Ya extends fa{}class Xa extends fa{}class $a extends ma{}class Ja extends ga{}class Ka extends ya{}class Qa extends va{}class to extends xa{}class eo extends _a{}class ro extends ba{}class no extends Ta{}class io extends Aa{}class ao extends Ma{}class oo extends Pa{}const so=ua([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:lo,size:co,alignment:uo}=so;class ho{constructor(t=[]){this.segments=t}prepareSegment(t,e,r,n){let i=this.segments[this.segments.length-1];return t>ho.MAX_VERTEX_ARRAY_LENGTH&&T(`Max vertices per segment is ${ho.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!i||i.vertexLength+t>ho.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy()}static simpleSegment(t,e,r,n){return new ho([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function fo(t,e){return 256*(t=m(Math.floor(t),0,255))+m(Math.floor(e),0,255)}ho.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Mi(\"SegmentVector\",ho);const po=ua([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var mo={exports:{}},go={exports:{}};!function(t){t.exports=function(t,e){var r,n,i,a,o,s,l,c;for(r=3&t.length,n=t.length-r,i=e,o=3432918353,s=461845907,c=0;c>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}}(go);var yo=go.exports,vo={exports:{}};!function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}}(vo);var xo=yo,_o=vo.exports;mo.exports=xo,mo.exports.murmur3=xo,mo.exports.murmur2=_o;var bo=r(mo.exports);class wo{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,e,r,n){this.ids.push(To(t)),this.positions.push(e,r,n)}getPositions(t){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");const e=To(t);let r=0,n=this.ids.length-1;for(;r>1;this.ids[t]>=e?n=t:r=t+1}const i=[];for(;this.ids[r]===e;){const t=this.positions[3*r],e=this.positions[3*r+1],n=this.positions[3*r+2];i.push({index:t,start:e,end:n}),r++}return i}static serialize(t,e){const r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return ko(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(t){const e=new wo;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function To(t){const e=+t;return!isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:bo(String(t))}function ko(t,e,r,n){for(;r>1];let a=r-1,o=n+1;for(;;){do{a++}while(t[a]i);if(a>=o)break;Ao(t,a,o),Ao(e,3*a,3*o),Ao(e,3*a+1,3*o+1),Ao(e,3*a+2,3*o+2)}o-r`u_${t}`)),this.type=r}setUniform(t,e,r){t.set(r.constantOr(this.value))}getBinding(t,e,r){return\"color\"===this.type?new Co(t,e):new So(t,e)}}class zo{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr}setUniform(t,e,r,n){const i=\"u_pattern_to\"===n?this.patternTo:\"u_pattern_from\"===n?this.patternFrom:\"u_pixel_ratio_to\"===n?this.pixelRatioTo:\"u_pixel_ratio_from\"===n?this.pixelRatioFrom:null;i&&t.set(i)}getBinding(t,e,r){return\"u_pattern\"===r.substr(0,9)?new Eo(t,e):new So(t,e)}}class Oo{constructor(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?2:1,offset:0}))),this.paintVertexArray=new n}populatePaintArray(t,e,r,n,i){const a=this.paintVertexArray.length,o=this.expression.evaluate(new Hi(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o)}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i)}_setPaintValue(t,e,r){if(\"color\"===this.type){const n=Io(r);for(let r=t;r`u_${t}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?4:2,offset:0}))),this.paintVertexArray=new a}populatePaintArray(t,e,r,n,i){const a=this.expression.evaluate(new Hi(this.zoom),e,{},n,[],i),o=this.expression.evaluate(new Hi(this.zoom+1),e,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,a,o)}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,a)}_setPaintValue(t,e,r,n){if(\"color\"===this.type){const i=Io(r),a=Io(n);for(let r=t;r`#define HAS_UNIFORM_${t}`)))}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const r=this.binders[e];if(r instanceof Oo||r instanceof Do)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new Fo(n,e,r);this.needsUpload=!1,this._featureMap=new wo,this._bufferOffset=0}populatePaintArrays(t,e,r,n,i,a){for(const r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e,n,i,a);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0}updatePaintArrays(t,e,r,n){for(const i of r)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(t,this._featureMap,e,i,n)||this.needsUpload}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy()}}function No(t,e){return{\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[t]||[t.replace(`${e}-`,\"\").replace(/-/g,\"_\")]}function jo(t,e,r){const n={color:{source:ya,composite:Oa},number:{source:Ca,composite:ya}},i=function(t){return{\"line-pattern\":{source:Qa,composite:Qa},\"fill-pattern\":{source:Qa,composite:Qa},\"fill-extrusion-pattern\":{source:Qa,composite:Qa}}[t]}(t);return i&&i[r]||n[e][r]}Mi(\"ConstantBinder\",Po),Mi(\"CrossFadedConstantBinder\",zo),Mi(\"SourceExpressionBinder\",Oo),Mi(\"CrossFadedCompositeBinder\",Ro),Mi(\"CompositeExpressionBinder\",Do),Mi(\"ProgramConfiguration\",Fo,{omit:[\"_buffers\"]}),Mi(\"ProgramConfigurationSet\",Bo);const Uo=8192,Vo=Math.pow(2,14)-1,qo=-Vo-1;function Ho(t){const e=Uo/t.extent,r=t.loadGeometry();for(let t=0;tr.x+1||ar.y+1)&&T(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return r}function Go(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?Ho(t):[]}}function Zo(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}class Wo{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Ya,this.indexArray=new ao,this.segments=new ho,this.programConfigurations=new Bo(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,r){const n=this.layers[0],i=[];let a=null,o=!1;\"circle\"===n.type&&(a=n.layout.get(\"circle-sort-key\"),o=!a.isConstant());for(const{feature:e,id:n,index:s,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Go(e,t);if(!this.layers[0]._featureFilter.filter(new Hi(this.zoom),c,r))continue;const u=o?a.evaluate(c,{},r):void 0,h={id:n,properties:e.properties,type:e.type,sourceLayerIndex:l,index:s,geometry:t?c.geometry:Ho(e),patterns:{},sortKey:u};i.push(h)}o&&i.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of i){const{geometry:i,index:a,sourceLayerIndex:o}=n,s=t[a].feature;this.addFeature(n,i,a,r),e.featureIndex.insert(s,i,a,o,this.index)}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,lo),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(t,e,r,n){for(const r of e)for(const e of r){const r=e.x,n=e.y;if(r<0||r>=Uo||n<0||n>=Uo)continue;const i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),a=i.vertexLength;Zo(this.layoutVertexArray,r,n,-1,-1),Zo(this.layoutVertexArray,r,n,1,-1),Zo(this.layoutVertexArray,r,n,1,1),Zo(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+3,a+2),i.vertexLength+=4,i.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)}}function Yo(t,e){for(let r=0;r1){if(Ko(t,e))return!0;for(let n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function rs(t,e){let r,n,i,a=!1;for(let o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a)}return a}function ns(t,e){let r=!1;for(let n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function is(t,e,r){const n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;const a=k(t,e,r[0]);return a!==k(t,e,r[1])||a!==k(t,e,r[2])||a!==k(t,e,r[3])}function as(t,e,r){const n=e.paint.get(t).value;return\"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function os(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ss(t,e,r,n,i){if(!e[0]&&!e[1])return t;const o=a.convert(e)._mult(i);\"viewport\"===r&&o._rotate(-n);const s=[];for(let e=0;ews(t,e)))}(l,s),f=u?c*o:c;for(const t of n)for(const e of t){const t=u?e:ws(e,s);let r=f;const n=vs([],[e.x,e.y,0,1],s);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?r*=n[3]/a.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(r*=a.cameraToCenterDistance/n[3]),Xo(h,t,r))return!0}return!1}}function ws(t,e){const r=vs([],[t.x,t.y,0,1],e);return new a(r[0]/r[3],r[1]/r[3])}class Ts extends Wo{}let ks;Mi(\"HeatmapBucket\",Ts,{omit:[\"layers\"]});var As={get paint(){return ks=ks||new ia({\"heatmap-radius\":new ta(Z.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new ta(Z.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Qi(Z.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new na(Z.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Qi(Z.paint_heatmap[\"heatmap-opacity\"])})}};function Ms(t,{width:e,height:r},n,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==e*r*n)throw new RangeError(`mismatched image size. expected: ${i.length} but got: ${e*r*n}`)}else i=new Uint8Array(e*r*n);return t.width=e,t.height=r,t.data=i,t}function Ss(t,{width:e,height:r},n){if(e===t.width&&r===t.height)return;const i=Ms({},{width:e,height:r},n);Es(t,i,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,e),height:Math.min(t.height,r)},n),t.width=e,t.height=r,t.data=i.data}function Es(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");const o=t.data,s=e.data;if(o===s)throw new Error(\"srcData equals dstData, so image is already copied\");for(let l=0;l{e[t.evaluationKey]=a;const o=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*o.r/o.a),i.data[r+n+1]=Math.floor(255*o.g/o.a),i.data[r+n+2]=Math.floor(255*o.b/o.a),i.data[r+n+3]=Math.floor(255*o.a)};if(t.clips)for(let e=0,i=0;e80*r){s=1/0,l=1/0;let e=-1/0,n=-1/0;for(let a=r;ae&&(e=r),i>n&&(n=i)}c=Math.max(e-s,n-l),c=0!==c?32767/c:0}return qs(a,o,r,s,l,c,0),o}function Us(t,e,r,n,i){let a;if(i===function(t,e,r,n){let i=0;for(let a=e,o=r-n;a0)for(let i=e;i=e;i-=n)a=ll(i/n|0,t[i],t[i+1],a);return a&&rl(a,a.next)&&(cl(a),a=a.next),a}function Vs(t,e){if(!t)return t;e||(e=t);let r,n=t;do{if(r=!1,n.steiner||!rl(n,n.next)&&0!==el(n.prev,n,n.next))n=n.next;else{if(cl(n),n=e=n.prev,n===n.next)break;r=!0}}while(r||n!==e);return e}function qs(t,e,r,n,i,a,o){if(!t)return;!o&&a&&function(t,e,r,n){let i=t;do{0===i.z&&(i.z=Js(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){let e,r=1;do{let n,i=t;t=null;let a=null;for(e=0;i;){e++;let o=i,s=0;for(let t=0;t0||l>0&&o;)0!==s&&(0===l||!o||i.z<=o.z)?(n=i,i=i.nextZ,s--):(n=o,o=o.nextZ,l--),a?a.nextZ=n:t=n,n.prevZ=a,a=n;i=o}a.nextZ=null,r*=2}while(e>1)}(i)}(t,n,i,a);let s=t;for(;t.prev!==t.next;){const l=t.prev,c=t.next;if(a?Gs(t,n,i,a):Hs(t))e.push(l.i,t.i,c.i),cl(t),t=c.next,s=c.next;else if((t=c)===s){o?1===o?qs(t=Zs(Vs(t),e),e,r,n,i,a,2):2===o&&Ws(t,e,r,n,i,a):qs(Vs(t),e,r,n,i,a,1);break}}}function Hs(t){const e=t.prev,r=t,n=t.next;if(el(e,r,n)>=0)return!1;const i=e.x,a=r.x,o=n.x,s=e.y,l=r.y,c=n.y,u=ia?i>o?i:o:a>o?a:o,p=s>l?s>c?s:c:l>c?l:c;let d=n.next;for(;d!==e;){if(d.x>=u&&d.x<=f&&d.y>=h&&d.y<=p&&Qs(i,s,a,l,o,c,d.x,d.y)&&el(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function Gs(t,e,r,n){const i=t.prev,a=t,o=t.next;if(el(i,a,o)>=0)return!1;const s=i.x,l=a.x,c=o.x,u=i.y,h=a.y,f=o.y,p=sl?s>c?s:c:l>c?l:c,g=u>h?u>f?u:f:h>f?h:f,y=Js(p,d,e,r,n),v=Js(m,g,e,r,n);let x=t.prevZ,_=t.nextZ;for(;x&&x.z>=y&&_&&_.z<=v;){if(x.x>=p&&x.x<=m&&x.y>=d&&x.y<=g&&x!==i&&x!==o&&Qs(s,u,l,h,c,f,x.x,x.y)&&el(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,_.x>=p&&_.x<=m&&_.y>=d&&_.y<=g&&_!==i&&_!==o&&Qs(s,u,l,h,c,f,_.x,_.y)&&el(_.prev,_,_.next)>=0)return!1;_=_.nextZ}for(;x&&x.z>=y;){if(x.x>=p&&x.x<=m&&x.y>=d&&x.y<=g&&x!==i&&x!==o&&Qs(s,u,l,h,c,f,x.x,x.y)&&el(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;_&&_.z<=v;){if(_.x>=p&&_.x<=m&&_.y>=d&&_.y<=g&&_!==i&&_!==o&&Qs(s,u,l,h,c,f,_.x,_.y)&&el(_.prev,_,_.next)>=0)return!1;_=_.nextZ}return!0}function Zs(t,e){let r=t;do{const n=r.prev,i=r.next.next;!rl(n,i)&&nl(n,r,r.next,i)&&ol(n,i)&&ol(i,n)&&(e.push(n.i,r.i,i.i),cl(r),cl(r.next),r=t=i),r=r.next}while(r!==t);return Vs(r)}function Ws(t,e,r,n,i,a){let o=t;do{let t=o.next.next;for(;t!==o.prev;){if(o.i!==t.i&&tl(o,t)){let s=sl(o,t);return o=Vs(o,o.next),s=Vs(s,s.next),qs(o,e,r,n,i,a,0),void qs(s,e,r,n,i,a,0)}t=t.next}o=o.next}while(o!==t)}function Ys(t,e){return t.x-e.x}function Xs(t,e){const r=function(t,e){let r=e;const n=t.x,i=t.y;let a,o=-1/0;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){const t=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(t<=n&&t>o&&(o=t,a=r.x=r.x&&r.x>=l&&n!==r.x&&Qs(ia.x||r.x===a.x&&$s(a,r)))&&(a=r,u=e)}r=r.next}while(r!==s);return a}(t,e);if(!r)return e;const n=sl(r,t);return Vs(n,n.next),Vs(r,r.next)}function $s(t,e){return el(t.prev,t,e.prev)<0&&el(e.next,t,t.next)<0}function Js(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Ks(t){let e=t,r=t;do{(e.x=(t-o)*(a-s)&&(t-o)*(n-s)>=(r-o)*(e-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function tl(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&nl(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(ol(t,e)&&ol(e,t)&&function(t,e){let r=t,n=!1;const i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(el(t.prev,t,e.prev)||el(t,e.prev,e))||rl(t,e)&&el(t.prev,t,t.next)>0&&el(e.prev,e,e.next)>0)}function el(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function rl(t,e){return t.x===e.x&&t.y===e.y}function nl(t,e,r,n){const i=al(el(t,e,r)),a=al(el(t,e,n)),o=al(el(r,n,t)),s=al(el(r,n,e));return i!==a&&o!==s||!(0!==i||!il(t,r,e))||!(0!==a||!il(t,n,e))||!(0!==o||!il(r,t,n))||!(0!==s||!il(r,e,n))}function il(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 al(t){return t>0?1:t<0?-1:0}function ol(t,e){return el(t.prev,t,t.next)<0?el(t,e,t.next)>=0&&el(t,t.prev,e)>=0:el(t,e,t.prev)<0||el(t,t.next,e)<0}function sl(t,e){const r=ul(t.i,t.x,t.y),n=ul(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function ll(t,e,r,n){const i=ul(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function cl(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 ul(t,e,r){return{i:t,x:e,y:r,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function hl(t,e,r){const n=r.patternDependencies;let i=!1;for(const r of e){const e=r.paint.get(`${t}-pattern`);e.isConstant()||(i=!0);const a=e.constantOr(null);a&&(i=!0,n[a.to]=!0,n[a.from]=!0)}return i}function fl(t,e,r,n,i){const a=i.patternDependencies;for(const o of e){const e=o.paint.get(`${t}-pattern`).value;if(\"constant\"!==e.kind){let t=e.evaluate({zoom:n-1},r,{},i.availableImages),s=e.evaluate({zoom:n},r,{},i.availableImages),l=e.evaluate({zoom:n+1},r,{},i.availableImages);t=t&&t.name?t.name:t,s=s&&s.name?s.name:s,l=l&&l.name?l.name:l,a[t]=!0,a[s]=!0,a[l]=!0,r.patterns[o.id]={min:t,mid:s,max:l}}}return r}class pl{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Xa,this.indexArray=new ao,this.indexArray2=new oo,this.programConfigurations=new Bo(t.layers,t.zoom),this.segments=new ho,this.segments2=new ho,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,r){this.hasPattern=hl(\"fill\",this.layers,e);const n=this.layers[0].layout.get(\"fill-sort-key\"),i=!n.isConstant(),a=[];for(const{feature:o,id:s,index:l,sourceLayerIndex:c}of t){const t=this.layers[0]._featureFilter.needGeometry,u=Go(o,t);if(!this.layers[0]._featureFilter.filter(new Hi(this.zoom),u,r))continue;const h=i?n.evaluate(u,{},r,e.availableImages):void 0,f={id:s,properties:o.properties,type:o.type,sourceLayerIndex:c,index:l,geometry:t?u.geometry:Ho(o),patterns:{},sortKey:h};a.push(f)}i&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of a){const{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){const t=fl(\"fill\",this.layers,n,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(n,i,a,r,{});const s=t[a].feature;e.featureIndex.insert(s,i,a,o,this.index)}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Fs),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(t,e,r,n,i){for(const t of br(e,500)){let e=0;for(const r of t)e+=r.length;const r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],a=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&a.push(i.length/2);const r=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(n+e.length-1,n),i.push(e[0].x),i.push(e[0].y);for(let t=1;t>3}if(i--,1===n||2===n)a+=t.readSVarint(),o+=t.readSVarint(),1===n&&(e&&s.push(e),e=[]),e.push(new kl(a,o));else{if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone())}}return e&&s.push(e),s},Ml.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())c&&(c=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return[o,l,s,c]},Ml.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=Ml.types[this.type];function u(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}Il.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Cl(this._pbf,e,this.extent,this._keys,this._values)};var zl=Ll,Ol=function(t,e){this.layers=t.readFields(Dl,{},e)};function Dl(t,e,r){if(3===t){var n=new zl(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Tl.VectorTile=Ol,Tl.VectorTileFeature=Al,Tl.VectorTileLayer=Ll;const Rl=Tl.VectorTileFeature.types,Fl=Math.pow(2,13);function Bl(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*Fl)+o,i*Fl*2,a*Fl*2,Math.round(s))}class Nl{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new $a,this.centroidVertexArray=new Wa,this.indexArray=new ao,this.programConfigurations=new Bo(t.layers,t.zoom),this.segments=new ho,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,r){this.features=[],this.hasPattern=hl(\"fill-extrusion\",this.layers,e);for(const{feature:n,id:i,index:a,sourceLayerIndex:o}of t){const t=this.layers[0]._featureFilter.needGeometry,s=Go(n,t);if(!this.layers[0]._featureFilter.filter(new Hi(this.zoom),s,r))continue;const l={id:i,sourceLayerIndex:o,index:a,geometry:t?s.geometry:Ho(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(fl(\"fill-extrusion\",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,a,r,{}),e.featureIndex.insert(n,l.geometry,a,o,this.index,!0)}}addFeatures(t,e,r){for(const t of this.features){const{geometry:n}=t;this.addFeature(t,n,t.index,e,r)}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,_l),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,xl.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(t,e,r,n,i){for(const r of br(e,500)){const e={x:0,y:0,vertexCount:0};let n=0;for(const t of r)n+=t.length;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of r){if(0===t.length)continue;if(Ul(t))continue;let r=0;for(let n=0;n=1){const o=t[n-1];if(!jl(a,o)){i.vertexLength+4>ho.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=a.sub(o)._perp()._unit(),n=o.dist(a);r+n>32768&&(r=0),Bl(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,0,r),Bl(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,1,r),e.x+=2*a.x,e.y+=2*a.y,e.vertexCount+=2,r+=n,Bl(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,0,r),Bl(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,1,r),e.x+=2*o.x,e.y+=2*o.y,e.vertexCount+=2;const s=i.vertexLength;this.indexArray.emplaceBack(s,s+2,s+1),this.indexArray.emplaceBack(s+1,s+2,s+3),i.vertexLength+=4,i.primitiveLength+=2}}}}if(i.vertexLength+n>ho.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(n,this.layoutVertexArray,this.indexArray)),\"Polygon\"!==Rl[t.type])continue;const a=[],o=[],s=i.vertexLength;for(const t of r)if(0!==t.length){t!==r[0]&&o.push(a.length/2);for(let r=0;rUo)||t.y===e.y&&(t.y<0||t.y>Uo)}function Ul(t){return t.every((t=>t.x<0))||t.every((t=>t.x>Uo))||t.every((t=>t.y<0))||t.every((t=>t.y>Uo))}let Vl;Mi(\"FillExtrusionBucket\",Nl,{omit:[\"layers\",\"features\"]});var ql={get paint(){return Vl=Vl||new ia({\"fill-extrusion-opacity\":new Qi(Z[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new ta(Z[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Qi(Z[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Qi(Z[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new ea(Z[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new ta(Z[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new ta(Z[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Qi(Z[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class Hl extends oa{constructor(t){super(t,ql)}createBucket(t){return new Nl(t)}queryRadius(){return os(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(t,e,r,n,i,o,s,l){const c=ss(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),o.angle,s),u=this.paint.get(\"fill-extrusion-height\").evaluate(e,r),h=this.paint.get(\"fill-extrusion-base\").evaluate(e,r),f=function(t,e,r,n){const i=[];for(const r of t){const t=[r.x,r.y,n,1];vs(t,t,e),i.push(new a(t[0]/t[3],t[1]/t[3]))}return i}(c,l,0,0),p=function(t,e,r,n){const i=[],o=[],s=n[8]*e,l=n[9]*e,c=n[10]*e,u=n[11]*e,h=n[8]*r,f=n[9]*r,p=n[10]*r,d=n[11]*r;for(const e of t){const t=[],r=[];for(const i of e){const e=i.x,o=i.y,m=n[0]*e+n[4]*o+n[12],g=n[1]*e+n[5]*o+n[13],y=n[2]*e+n[6]*o+n[14],v=n[3]*e+n[7]*o+n[15],x=y+c,_=v+u,b=m+h,w=g+f,T=y+p,k=v+d,A=new a((m+s)/_,(g+l)/_);A.z=x/_,t.push(A);const M=new a(b/k,w/k);M.z=T/k,r.push(M)}i.push(t),o.push(r)}return[i,o]}(n,h,u,l);return function(t,e,r){let n=1/0;$o(r,e)&&(n=Zl(r,e[0]));for(let i=0;it.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={}})),this.layoutVertexArray=new Ja,this.layoutVertexArray2=new Ka,this.indexArray=new ao,this.programConfigurations=new Bo(t.layers,t.zoom),this.segments=new ho,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,r){this.hasPattern=hl(\"line\",this.layers,e);const n=this.layers[0].layout.get(\"line-sort-key\"),i=!n.isConstant(),a=[];for(const{feature:e,id:o,index:s,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Go(e,t);if(!this.layers[0]._featureFilter.filter(new Hi(this.zoom),c,r))continue;const u=i?n.evaluate(c,{},r):void 0,h={id:o,properties:e.properties,type:e.type,sourceLayerIndex:l,index:s,geometry:t?c.geometry:Ho(e),patterns:{},sortKey:u};a.push(h)}i&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of a){const{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){const t=fl(\"line\",this.layers,n,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(n,i,a,r,{});const s=t[a].feature;e.featureIndex.insert(s,i,a,o,this.index)}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Kl)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Yl),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_end\"))return{start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,r,n,i){const a=this.layers[0].layout,o=a.get(\"line-join\").evaluate(t,{}),s=a.get(\"line-cap\"),l=a.get(\"line-miter-limit\"),c=a.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(t);for(const r of e)this.addLine(r,t,o,s,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)}addLine(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[s-1].equals(t[s-2]);)s--;let l=0;for(;l0;if(b&&e>l){const t=h.dist(f);if(t>2*c){const e=h.sub(h.sub(f)._mult(c/t)._round());this.updateDistance(f,e),this.addCurrentVertex(e,d,0,0,u),f=e}}const T=f&&p;let k=T?r:o?\"butt\":n;if(T&&\"round\"===k&&(xi&&(k=\"bevel\"),\"bevel\"===k&&(x>2&&(k=\"flipbevel\"),x100)g=m.mult(-1);else{const t=x*d.add(m).mag()/d.sub(m).mag();g._perp()._mult(t*(w?-1:1))}this.addCurrentVertex(h,g,0,0,u),this.addCurrentVertex(h,g.mult(-1),0,0,u)}else if(\"bevel\"===k||\"fakeround\"===k){const t=-Math.sqrt(x*x-1),e=w?t:0,r=w?0:t;if(f&&this.addCurrentVertex(h,d,e,r,u),\"fakeround\"===k){const t=Math.round(180*_/Math.PI/20);for(let e=1;e2*c){const e=h.add(p.sub(h)._mult(c/t)._round());this.updateDistance(h,e),this.addCurrentVertex(e,m,0,0,u),h=e}}}}addCurrentVertex(t,e,r,n,i,a=!1){const o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,c=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,c,a,!0,-n,i),this.distance>nc/2&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(t,e,r,n,i,a))}addHalfVertex({x:t,y:e},r,n,i,a,o,s){const l=.5*(this.lineClips?this.scaledDistance*(nc-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((t<<1)+(i?1:0),(e<<1)+(a?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===o?0:o<0?-1:1)|(63&l)<<2,l>>6),this.lineClips){const t=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(t,this.lineClipsArray.length)}const c=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),s.primitiveLength++),a?this.e2=c:this.e1=c}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance()}}let ac;Mi(\"LineBucket\",ic,{omit:[\"layers\",\"patternFeatures\"]});let oc;var sc={get paint(){return oc=oc||new ia({\"line-opacity\":new ta(Z.paint_line[\"line-opacity\"]),\"line-color\":new ta(Z.paint_line[\"line-color\"]),\"line-translate\":new Qi(Z.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Qi(Z.paint_line[\"line-translate-anchor\"]),\"line-width\":new ta(Z.paint_line[\"line-width\"]),\"line-gap-width\":new ta(Z.paint_line[\"line-gap-width\"]),\"line-offset\":new ta(Z.paint_line[\"line-offset\"]),\"line-blur\":new ta(Z.paint_line[\"line-blur\"]),\"line-dasharray\":new ra(Z.paint_line[\"line-dasharray\"]),\"line-pattern\":new ea(Z.paint_line[\"line-pattern\"]),\"line-gradient\":new na(Z.paint_line[\"line-gradient\"])})},get layout(){return ac=ac||new ia({\"line-cap\":new Qi(Z.layout_line[\"line-cap\"]),\"line-join\":new ta(Z.layout_line[\"line-join\"]),\"line-miter-limit\":new Qi(Z.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Qi(Z.layout_line[\"line-round-limit\"]),\"line-sort-key\":new ta(Z.layout_line[\"line-sort-key\"])})}};class lc extends ta{possiblyEvaluate(t,e){return e=new Hi(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,zoomHistory:e.zoomHistory,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,r,n){return e=y({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,r,n)}}let cc;class uc extends oa{constructor(t){super(t,sc),this.gradientVersion=0,cc||(cc=new lc(sc.paint.properties[\"line-width\"].specification),cc.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(t){if(\"line-gradient\"===t){const t=this.gradientExpression();!function(t){return void 0!==t._styleExpression}(t)?this.stepInterpolant=!1:this.stepInterpolant=t._styleExpression.expression instanceof Ae,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(t,e){super.recalculate(t,e),this.paint._values[\"line-floorwidth\"]=cc.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,t)}createBucket(t){return new ic(t)}queryRadius(t){const e=t,r=hc(as(\"line-width\",this,e),as(\"line-gap-width\",this,e)),n=as(\"line-offset\",this,e);return r/2+Math.abs(n)+os(this.paint.get(\"line-translate\"))}queryIntersectsFeature(t,e,r,n,i,o,s){const l=ss(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),o.angle,s),c=s/2*hc(this.paint.get(\"line-width\").evaluate(e,r),this.paint.get(\"line-gap-width\").evaluate(e,r)),u=this.paint.get(\"line-offset\").evaluate(e,r);return u&&(n=function(t,e){const r=[];for(let n=0;n=3)for(let e=0;e0?e+2*t:t}const fc=ua([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),pc=ua([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);ua([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);const dc=ua([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);ua([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);const mc=ua([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),gc=ua([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function yc(t,e,r){return t.sections.forEach((t=>{t.text=function(t,e,r){const n=e.layout.get(\"text-transform\").evaluate(r,{});return\"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),qi.applyArabicShaping&&(t=qi.applyArabicShaping(t)),t}(t.text,e,r)})),t}ua([{name:\"triangle\",components:3,type:\"Uint16\"}]),ua([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),ua([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),ua([{type:\"Float32\",name:\"offsetX\"}]),ua([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),ua([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);const vc={\"!\":\"︕\",\"#\":\"#\",$:\"$\",\"%\":\"%\",\"&\":\"&\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"*\",\"+\":\"+\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"/\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"=\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};var xc=24,_c=wc,bc={read:function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},write:function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}};function wc(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}wc.Varint=0,wc.Fixed64=1,wc.Bytes=2,wc.Fixed32=5;var Tc=4294967296,kc=1/Tc,Ac=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf-8\");function Mc(t){return t.type===wc.Bytes?t.readVarint()+t.pos:t.pos+1}function Sc(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Ec(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function Cc(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function jc(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}wc.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Bc(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=jc(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Bc(this.buf,this.pos)+Bc(this.buf,this.pos+4)*Tc;return this.pos+=8,t},readSFixed64:function(){var t=Bc(this.buf,this.pos)+jc(this.buf,this.pos+4)*Tc;return this.pos+=8,t},readFloat:function(){var t=bc.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=bc.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Sc(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Sc(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Sc(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Sc(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Sc(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Sc(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Ac?function(t,e,r){return Ac.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",i=e;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==wc.Bytes)return t.push(this.readVarint(e));var r=Mc(this);for(t=t||[];this.pos127;);else if(e===wc.Bytes)this.pos=this.readVarint()+this.pos;else if(e===wc.Fixed32)this.pos+=4;else{if(e!==wc.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Ec(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),bc.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),bc.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Ec(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,wc.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Cc,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Lc,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,zc,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Ic,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Pc,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Oc,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Dc,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Rc,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Fc,e)},writeBytesField:function(t,e){this.writeTag(t,wc.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,wc.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,wc.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,wc.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,wc.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,wc.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,wc.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,wc.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,wc.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,wc.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var Uc=r(_c);const Vc=3;function qc(t,e,r){1===t&&r.readMessage(Hc,e)}function Hc(t,e,r){if(3===t){const{id:t,bitmap:n,width:i,height:a,left:o,top:s,advance:l}=r.readMessage(Gc,{});e.push({id:t,bitmap:new Cs({width:i+2*Vc,height:a+2*Vc},n),metrics:{width:i,height:a,left:o,top:s,advance:l}})}}function Gc(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}const Zc=Vc;function Wc(t){let e=0,r=0;for(const n of t)e+=n.w*n.h,r=Math.max(r,n.w);t.sort(((t,e)=>e.h-t.h));const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}];let i=0,a=0;for(const e of t)for(let t=n.length-1;t>=0;t--){const r=n[t];if(!(e.w>r.w||e.h>r.h)){if(e.x=r.x,e.y=r.y,a=Math.max(a,e.y+e.h),i=Math.max(i,e.x+e.w),e.w===r.w&&e.h===r.h){const e=n.pop();t=0&&r>=t&&ru[this.text.charCodeAt(r)];r--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e)}substring(t,e){const r=new tu;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Qc.forText(t.scale,t.fontStack||e));const r=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function eu(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m){const g=tu.fromFeature(e,a);let y;f===t.ai.vertical&&g.verticalizePunctuation();const{processBidirectionalText:v,processStyledBidirectionalText:x}=qi;if(v&&1===g.sections.length){y=[];const t=v(g.toString(),uu(g,u,o,r,i,d));for(const e of t){const t=new tu;t.text=e,t.sections=g.sections;for(let r=0;r0&&n>b&&(b=n)}else{const t=n[m.fontStack],e=t&&t[y];if(e&&e.rect)w=e.rect,x=e.metrics;else{const t=r[m.fontStack],e=t&&t[y];if(!e)continue;x=e.metrics}v=(a-m.scale)*xc}A?(e.verticalizable=!0,_.push({glyph:y,imageName:T,x:p,y:d+v,vertical:A,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:x,rect:w}),p+=k*m.scale+u):(_.push({glyph:y,imageName:T,x:p,y:d+v,vertical:A,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:x,rect:w}),p+=x.advance*m.scale+u)}if(0!==_.length){const t=p-u;m=Math.max(t,m),fu(_,0,_.length-1,y,b)}p=0;const w=o*a+b;x.lineOffset=Math.max(b,l),d+=w,g=Math.max(w,g),++v}const x=d-Kc,{horizontalAlign:_,verticalAlign:b}=hu(s);(function(t,e,r,n,i,a,o,s,l){const c=(e-r)*i;let u=0;u=a!==o?-s*n-Kc:(-n*l+.5)*o;for(const e of t)for(const t of e.positionedGlyphs)t.x+=c,t.y+=u})(e.positionedLines,y,_,b,m,g,o,x,a.length),e.top+=-b*x,e.bottom=e.top+x,e.left+=-_*m,e.right=e.left+m}(b,r,n,i,y,s,l,c,f,u,p,m),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return!1;return!0}(_)&&b}const ru={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},nu={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},iu={40:!0};function au(t,e,r,n,i,a){if(e.imageName){const t=n[e.imageName];return t?t.displaySize[0]*e.scale*xc/a+i:0}{const n=r[e.fontStack],a=n&&n[t];return a?a.metrics.advance*e.scale+i:0}}function ou(t,e,r,n){const i=Math.pow(t-e,2);return n?t=0;let c=0;for(let r=0;rh){const t=Math.ceil(a/h);i*=t/o,o=t}return{x1:n,y1:i,x2:n+a,y2:i+o}}function mu(t,e,r,n,i,a){const o=t.image;let s;if(o.content){const t=o.content,e=o.pixelRatio||1;s=[t[0]/e,t[1]/e,o.displaySize[0]-t[2]/e,o.displaySize[1]-t[3]/e]}const l=e.left*a,c=e.right*a;let u,h,f,p;\"width\"===r||\"both\"===r?(p=i[0]+l-n[3],h=i[0]+c+n[1]):(p=i[0]+(l+c-o.displaySize[0])/2,h=p+o.displaySize[0]);const d=e.top*a,m=e.bottom*a;return\"height\"===r||\"both\"===r?(u=i[1]+d-n[0],f=i[1]+m+n[2]):(u=i[1]+(d+m-o.displaySize[1])/2,f=u+o.displaySize[1]),{image:o,top:u,right:h,bottom:f,left:p,collisionPadding:s}}const gu=255,yu=128,vu=gu*yu;function xu(t,e){const{expression:r}=e;if(\"constant\"===r.kind)return{kind:\"constant\",layoutSize:r.evaluate(new Hi(t+1))};if(\"source\"===r.kind)return{kind:\"source\"};{const{zoomStops:e,interpolationType:n}=r;let i=0;for(;it.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=ps([]),this.placementViewportMatrix=ps([]);const r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=xu(this.zoom,r[\"text-size\"]),this.iconSizeData=xu(this.zoom,r[\"icon-size\"]);const n=this.layers[0].layout,i=n.get(\"symbol-sort-key\"),a=n.get(\"symbol-z-order\");this.canOverlap=\"never\"!==_u(n,\"text-overlap\",\"text-allow-overlap\")||\"never\"!==_u(n,\"icon-overlap\",\"icon-allow-overlap\")||n.get(\"text-ignore-placement\")||n.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=\"viewport-y\"!==a&&!i.isConstant();const o=\"viewport-y\"===a||\"auto\"===a&&!this.sortFeaturesByKey;this.sortFeaturesByY=o&&this.canOverlap,\"point\"===n.get(\"symbol-placement\")&&(this.writingModes=n.get(\"text-writing-mode\").map((e=>t.ai[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID}createArrays(){this.text=new Mu(new Bo(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new Mu(new Bo(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Ua,this.lineVertexArray=new Va,this.symbolInstances=new ja,this.textAnchorOffsets=new Ha}calculateGlyphDependencies(t,e,r,n,i){for(let a=0;a0)&&(\"constant\"!==o.value.kind||o.value.value.length>0),u=\"constant\"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=a.get(\"symbol-sort-key\");if(this.features=[],!c&&!u)return;const f=r.iconDependencies,p=r.glyphDependencies,d=r.availableImages,m=new Hi(this.zoom);for(const{feature:r,id:s,index:l,sourceLayerIndex:g}of e){const e=i._featureFilter.needGeometry,y=Go(r,e);if(!i._featureFilter.filter(m,y,n))continue;let v,x;if(e||(y.geometry=Ho(r)),c){const t=i.getValueAndResolveTokens(\"text-field\",y,n,d),e=Kt.factory(t),r=this.hasRTLText=this.hasRTLText||Au(e);(!r||\"unavailable\"===qi.getRTLTextPluginStatus()||r&&qi.isParsed())&&(v=yc(e,i,y))}if(u){const t=i.getValueAndResolveTokens(\"icon-image\",y,n,d);x=t instanceof re?t:re.fromString(t)}if(!v&&!x)continue;const _=this.sortFeaturesByKey?h.evaluate(y,{},n):void 0,b={id:s,text:v,icon:x,index:l,sourceLayerIndex:g,geometry:y.geometry,properties:r.properties,type:bu[r.type],sortKey:_};if(this.features.push(b),x&&(f[x.name]=!0),v){const e=o.evaluate(y,{},n).join(\",\"),r=\"viewport\"!==a.get(\"text-rotation-alignment\")&&\"point\"!==a.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.ai.vertical)>=0;for(const t of v.sections)if(t.image)f[t.image.name]=!0;else{const n=Oi(v.toString()),i=t.fontStack||e,a=p[i]=p[i]||{};this.calculateGlyphDependencies(t.text,a,r,this.allowVerticalPlacement,n)}}}\"line\"===a.get(\"symbol-placement\")&&(this.features=function(t){const e={},r={},n=[];let i=0;function a(e){n.push(t[e]),i++}function o(t,e,i){const a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(t,r,i){const a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(t,e,r){const n=r?e[0][e[0].length-1]:e[0][0];return`${t}:${n.x}:${n.y}`}for(let c=0;ct.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey))}update(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(t,e){const r=this.lineVertexArray.length;if(void 0!==t.segment){let r=t.dist(e[t.segment+1]),n=t.dist(e[t.segment]);const i={};for(let n=t.segment+1;n=0;r--)i[r]={x:e[r].x,y:e[r].y,tileUnitDistanceFromAnchor:n},r>0&&(n+=e[r-1].dist(e[r]));for(let t=0;t0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,e){const r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs;for(let e=r.vertexStartIndex;en[t]-n[e]||i[e]-i[t])),a}addToSortKeyRanges(t,e){const r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,r)=>{t>=0&&r.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t)})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Cu;Mi(\"SymbolBucket\",Eu,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),Eu.MAX_GLYPHS=65535,Eu.addDynamicAttributes=ku;let Lu;var Iu={get paint(){return Lu=Lu||new ia({\"icon-opacity\":new ta(Z.paint_symbol[\"icon-opacity\"]),\"icon-color\":new ta(Z.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new ta(Z.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new ta(Z.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new ta(Z.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Qi(Z.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Qi(Z.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new ta(Z.paint_symbol[\"text-opacity\"]),\"text-color\":new ta(Z.paint_symbol[\"text-color\"],{runtimeType:ft,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),\"text-halo-color\":new ta(Z.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new ta(Z.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new ta(Z.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Qi(Z.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Qi(Z.paint_symbol[\"text-translate-anchor\"])})},get layout(){return Cu=Cu||new ia({\"symbol-placement\":new Qi(Z.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Qi(Z.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Qi(Z.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new ta(Z.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Qi(Z.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Qi(Z.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new Qi(Z.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new Qi(Z.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Qi(Z.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Qi(Z.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new ta(Z.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Qi(Z.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Qi(Z.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new ta(Z.layout_symbol[\"icon-image\"]),\"icon-rotate\":new ta(Z.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new ta(Z.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Qi(Z.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new ta(Z.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new ta(Z.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Qi(Z.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Qi(Z.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Qi(Z.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new ta(Z.layout_symbol[\"text-field\"]),\"text-font\":new ta(Z.layout_symbol[\"text-font\"]),\"text-size\":new ta(Z.layout_symbol[\"text-size\"]),\"text-max-width\":new ta(Z.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Qi(Z.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new ta(Z.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new ta(Z.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new ta(Z.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Qi(Z.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new ta(Z.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new ta(Z.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Qi(Z.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Qi(Z.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new ta(Z.layout_symbol[\"text-rotate\"]),\"text-padding\":new Qi(Z.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Qi(Z.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new ta(Z.layout_symbol[\"text-transform\"]),\"text-offset\":new ta(Z.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Qi(Z.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new Qi(Z.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new Qi(Z.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Qi(Z.layout_symbol[\"text-optional\"])})}};class Pu{constructor(t){if(void 0===t.property.overrides)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=t.property.overrides?t.property.overrides.runtimeType:lt,this.defaultValue=t}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Mi(\"FormatSectionOverride\",Pu,{omit:[\"defaultValue\"]});class zu extends oa{constructor(t){super(t,Iu)}recalculate(t,e){if(super.recalculate(t,e),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(\"point\"!==this.layout.get(\"symbol-placement\")?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(\"point\"!==this.layout.get(\"symbol-placement\")?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=\"map\"===this.layout.get(\"text-rotation-alignment\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){const t=this.layout.get(\"text-writing-mode\");if(t){const e=[];for(const r of t)e.indexOf(r)<0&&e.push(r);this.layout._values[\"text-writing-mode\"]=e}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(t,e,r,n){const i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||kn(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,((e,r)=>t&&r in t?String(t[r]):\"\"))}(e.properties,i)}createBucket(t){return new Eu(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(const t of Iu.paint.overridableProperties){if(!zu.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),r=new Pu(e),n=new Tn(r,e.property.specification);let i=null;i=\"constant\"===e.value.kind||\"source\"===e.value.kind?new Mn(\"source\",n):new Sn(\"composite\",n,e.value.zoomStops),this.paint._values[t]=new Ji(e.property,i,e.parameters)}}_handleOverridablePaintPropertyUpdate(t,e,r){return!(!this.layout||e.isDataDriven()||r.isDataDriven())&&zu.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const r=t.get(\"text-field\"),n=Iu.paint.properties[e];let i=!1;const a=t=>{for(const e of t)if(n.overrides&&n.overrides.hasOverride(e))return void(i=!0)};if(\"constant\"===r.value.kind&&r.value.value instanceof Kt)a(r.value.value.sections);else if(\"source\"===r.value.kind){const t=e=>{if(!i)if(e instanceof se&&ae(e.value)===gt){const t=e.value;a(t.sections)}else e instanceof We?a(e.sections):e.eachChild(t)},e=r.value;e._styleExpression&&t(e._styleExpression.expression)}return i}}let Ou;var Du={get paint(){return Ou=Ou||new ia({\"background-color\":new Qi(Z.paint_background[\"background-color\"]),\"background-pattern\":new ra(Z.paint_background[\"background-pattern\"]),\"background-opacity\":new Qi(Z.paint_background[\"background-opacity\"])})}};class Ru extends oa{constructor(t){super(t,Du)}}let Fu;var Bu={get paint(){return Fu=Fu||new ia({\"raster-opacity\":new Qi(Z.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Qi(Z.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Qi(Z.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Qi(Z.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Qi(Z.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Qi(Z.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Qi(Z.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Qi(Z.paint_raster[\"raster-fade-duration\"])})}};class Nu extends oa{constructor(t){super(t,Bu)}}class ju extends oa{constructor(t){super(t,{}),this.onAdd=t=>{this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},this.onRemove=t=>{this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},this.implementation=t}is3D(){return\"3d\"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class Uu{constructor(t){this._methodToThrottle=t,this._triggered=!1,\"undefined\"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._methodToThrottle()}),0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}const Vu=6371008.8;class qu{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new qu(g(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Vu*Math.acos(Math.min(i,1))}static convert(t){if(t instanceof qu)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new qu(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new qu(Number(\"lng\"in t?t.lng:t.lon),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}const Hu=2*Math.PI*Vu;function Gu(t){return Hu*Math.cos(t*Math.PI/180)}function Zu(t){return(180+t)/360}function Wu(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Yu(t,e){return t/Gu(e)}function Xu(t){const e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}class $u{constructor(t,e,r=0){this.x=+t,this.y=+e,this.z=+r}static fromLngLat(t,e=0){const r=qu.convert(t);return new $u(Zu(r.lng),Wu(r.lat),Yu(e,r.lat))}toLngLat(){return new qu(360*this.x-180,Xu(this.y))}toAltitude(){return t=this.z,e=this.y,t*Gu(Xu(e));var t,e}meterInMercatorCoordinateUnits(){return 1/Hu*(t=Xu(this.y),1/Math.cos(t*Math.PI/180));var t}}function Ju(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}class Ku{constructor(t,e,r){if(t<0||t>25||r<0||r>=Math.pow(2,t)||e<0||e>=Math.pow(2,t))throw new Error(`x=${e}, y=${r}, z=${t} outside of bounds. 0<=x<${Math.pow(2,t)}, 0<=y<${Math.pow(2,t)} 0<=z<=25 `);this.z=t,this.x=e,this.y=r,this.key=eh(0,t,t,e,r)}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,r){const n=(a=this.x,o=this.y,s=this.z,l=Ju(256*a,256*(o=Math.pow(2,s)-o-1),s),c=Ju(256*(a+1),256*(o+1),s),l[0]+\",\"+l[1]+\",\"+c[0]+\",\"+c[1]),i=function(t,e,r){let n,i=\"\";for(let a=t;a>0;a--)n=1<1?\"@2x\":\"\").replace(/{quadkey}/g,i).replace(/{bbox-epsg-3857}/g,n)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new a((t.x*e-this.x)*Uo,(t.y*e-this.y)*Uo)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Qu{constructor(t,e){this.wrap=t,this.canonical=e,this.key=eh(t,e.z,e.z,e.x,e.y)}}class th{constructor(t,e,r,n,i){if(t= z; overscaledZ = ${t}; z = ${r}`);this.overscaledZ=t,this.wrap=e,this.canonical=new Ku(r,+n,+i),this.key=eh(e,t,r,n,i)}clone(){return new th(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const e=this.canonical.z-t;return t>this.canonical.z?new th(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new th(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const r=this.canonical.z-t;return t>this.canonical.z?eh(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):eh(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)}isChildOf(t){if(t.wrap!==this.wrap)return!1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return[new th(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new th(e,this.wrap,e,r,n),new th(e,this.wrap,e,r+1,n),new th(e,this.wrap,e,r,n+1),new th(e,this.wrap,e,r+1,n+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=r),r=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(e+1)*this.stride+(t+1)}unpack(t,e,r){return t*this.redFactor+e*this.greenFactor+r*this.blueFactor-this.baseShift}getPixels(){return new Ls({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");let n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}const s=-e*this.dim,l=-r*this.dim;for(let e=a;e=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${t} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[t]}}class ih{constructor(t,e,r,n,i){this.type=\"Feature\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(t){this._geometry=t}toJSON(){const t={geometry:this.geometry};for(const e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]);return t}}class ah{constructor(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new ki(Uo,16,0),this.grid3D=new ki(Uo,16,0),this.featureIndexArray=new Za,this.promoteId=e}insert(t,e,r,n,i,a){const o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);const s=a?this.grid3D:this.grid;for(let t=0;t=0&&n[3]>=0&&s.insert(o,n[0],n[1],n[2],n[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new Tl.VectorTile(new Uc(this.rawTileData)).layers,this.sourceLayerCoder=new nh(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(t,e,r,n){this.loadVTLayers();const i=t.params||{},o=Uo/t.tileSize/t.scale,s=zn(i.filter),l=t.queryGeometry,c=t.queryPadding*o,u=sh(l),h=this.grid.query(u.minX-c,u.minY-c,u.maxX+c,u.maxY+c),f=sh(t.cameraQueryGeometry),p=this.grid3D.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c,((e,r,n,i)=>function(t,e,r,n,i){for(const a of t)if(e<=a.x&&r<=a.y&&n>=a.x&&i>=a.y)return!0;const o=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(const e of o)if(ns(t,e))return!0;for(let e=0;e(f||(f=Ho(e)),r.queryIntersectsFeature(l,e,n,f,this.z,t.transform,o,t.pixelPosMatrix))))}return d}loadMatchingFeature(t,e,r,n,i,a,o,s,l,c,u){const h=this.bucketLayerIDs[e];if(a&&!function(t,e){for(let r=0;r=0)return!0;return!1}(a,h))return;const f=this.sourceLayerCoder.decode(r),p=this.vtLayers[f].feature(n);if(i.needGeometry){const t=Go(p,!0);if(!i.filter(new Hi(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!i.filter(new Hi(this.tileID.overscaledZ),p))return;const d=this.getId(p,f);for(let e=0;e{const o=e instanceof Ki?e.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function sh(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const a of t)e=Math.min(e,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return{minX:e,minY:r,maxX:n,maxY:i}}function lh(t,e){return e-t}function ch(t,e,r,n,i){const o=[];for(let s=0;s=n&&u.x>=n||(s.x>=n?s=new a(n,s.y+(u.y-s.y)*((n-s.x)/(u.x-s.x)))._round():u.x>=n&&(u=new a(n,s.y+(u.y-s.y)*((n-s.x)/(u.x-s.x)))._round()),s.y>=i&&u.y>=i||(s.y>=i?s=new a(s.x+(u.x-s.x)*((i-s.y)/(u.y-s.y)),i)._round():u.y>=i&&(u=new a(s.x+(u.x-s.x)*((i-s.y)/(u.y-s.y)),i)._round()),c&&s.equals(c[c.length-1])||(c=[s],o.push(c)),c.push(u)))))}}return o}Mi(\"FeatureIndex\",ah,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class uh extends a{constructor(t,e,r,n){super(t,e),this.angle=r,void 0!==n&&(this.segment=n)}clone(){return new uh(this.x,this.y,this.angle,this.segment)}}function hh(t,e,r,n,i){if(void 0===e.segment||0===r)return!0;let a=e,o=e.segment+1,s=0;for(;s>-r/2;){if(o--,o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;const l=[];let c=0;for(;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=r.dist(a)}return!0}function fh(t){let e=0;for(let r=0;rc){const u=(c-l)/a,h=Pe.number(n.x,i.x,u),f=Pe.number(n.y,i.y,u),p=new uh(h,f,i.angleTo(n),r);return p._round(),!o||hh(t,p,s,o,e)?p:void 0}l+=a}}function gh(t,e,r,n,i,a,o,s,l){const c=ph(n,a,o),u=dh(n,i),h=u*o,f=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&y=0&&v=0&&f+c<=u){const r=new uh(y,v,m,e);r._round(),n&&!hh(t,r,a,n,i)||p.push(r)}}h+=d}return s||p.length||o||(p=yh(t,h/2,r,n,i,a,o,!0,l)),p}Mi(\"Anchor\",uh);const vh=Yc;function xh(t,e,r,n){const i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2*vh,c=o.paddedRect.h-2*vh;let u={x1:t.left,y1:t.top,x2:t.right,y2:t.bottom};const h=o.stretchX||[[0,l]],f=o.stretchY||[[0,c]],p=(t,e)=>t+e[1]-e[0],d=h.reduce(p,0),m=f.reduce(p,0),g=l-d,y=c-m;let v=0,x=d,_=0,b=m,w=0,T=g,k=0,A=y;if(o.content&&n){const e=o.content,r=e[2]-e[0],n=e[3]-e[1];(o.textFitWidth||o.textFitHeight)&&(u=du(t)),v=_h(h,0,e[0]),_=_h(f,0,e[1]),x=_h(h,e[0],e[2]),b=_h(f,e[1],e[3]),w=e[0]-v,k=e[1]-_,T=r-x,A=n-b}const M=u.x1,S=u.y1,E=u.x2-M,C=u.y2-S,L=(t,n,i,l)=>{const c=wh(t.stretch-v,x,E,M),u=Th(t.fixed-w,T,t.stretch,d),h=wh(n.stretch-_,b,C,S),f=Th(n.fixed-k,A,n.stretch,m),p=wh(i.stretch-v,x,E,M),g=Th(i.fixed-w,T,i.stretch,d),y=wh(l.stretch-_,b,C,S),L=Th(l.fixed-k,A,l.stretch,m),I=new a(c,h),P=new a(p,h),z=new a(p,y),O=new a(c,y),D=new a(u/s,f/s),R=new a(g/s,L/s),F=e*Math.PI/180;if(F){const t=Math.sin(F),e=Math.cos(F),r=[e,-t,t,e];I._matMult(r),P._matMult(r),O._matMult(r),z._matMult(r)}const B=t.stretch+t.fixed,N=i.stretch+i.fixed,j=n.stretch+n.fixed,U=l.stretch+l.fixed;return{tl:I,tr:P,bl:O,br:z,tex:{x:o.paddedRect.x+vh+B,y:o.paddedRect.y+vh+j,w:N-B,h:U-j},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:R,minFontScaleX:T/s/E,minFontScaleY:A/s/C,isSDF:r}};if(n&&(o.stretchX||o.stretchY)){const t=bh(h,g,d),e=bh(f,y,m);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n)}else{const c=(null===(h=o.image)||void 0===h?void 0:h.content)&&(o.image.textFitWidth||o.image.textFitHeight)?du(o):{x1:o.left,y1:o.top,x2:o.right,y2:o.bottom};c.y1=c.y1*s-l[0],c.y2=c.y2*s+l[2],c.x1=c.x1*s-l[3],c.x2=c.x2*s+l[1];const f=o.collisionPadding;if(f&&(c.x1-=f[0]*s,c.y1-=f[1]*s,c.x2+=f[2]*s,c.y2+=f[3]*s),u){const t=new a(c.x1,c.y1),e=new a(c.x2,c.y1),r=new a(c.x1,c.y2),n=new a(c.x2,c.y2),i=u*Math.PI/180;t._rotate(i),e._rotate(i),r._rotate(i),n._rotate(i),c.x1=Math.min(t.x,e.x,r.x,n.x),c.x2=Math.max(t.x,e.x,r.x,n.x),c.y1=Math.min(t.y,e.y,r.y,n.y),c.y2=Math.max(t.y,e.y,r.y,n.y)}t.emplaceBack(e.x,e.y,c.x1,c.y1,c.x2,c.y2,r,n,i)}this.boxEndIndex=t.length}}class Ah{constructor(t=[],e=((t,e)=>te?1:0)){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this._up(this.length++)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return--this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=e[n],t=n}e[t]=i}}function Mh(t,e=1,r=!1){let n=1/0,i=1/0,o=-1/0,s=-1/0;const l=t[0];for(let t=0;to)&&(o=e.x),(!t||e.y>s)&&(s=e.y)}const c=o-n,u=s-i,h=Math.min(c,u);let f=h/2;const p=new Ah([],Sh);if(0===h)return new a(n,i);for(let e=n;ed.d||!d.d)&&(d=n,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*n.d)/1e4,m)),n.max-d.d<=e||(f=n.h/2,p.push(new Eh(n.p.x-f,n.p.y-f,f,t)),p.push(new Eh(n.p.x+f,n.p.y-f,f,t)),p.push(new Eh(n.p.x-f,n.p.y+f,f,t)),p.push(new Eh(n.p.x+f,n.p.y+f,f,t)),m+=4)}return r&&(console.log(`num probes: ${m}`),console.log(`best distance: ${d.d}`)),d.p}function Sh(t,e){return e.max-t.max}function Eh(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){let r=!1,n=1/0;for(let i=0;it.y!=s.y>t.y&&t.x<(s.x-i.x)*(t.y-i.y)/(s.y-i.y)+i.x&&(r=!r),n=Math.min(n,es(t,i,s))}}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var Ch;t.ar=void 0,(Ch=t.ar||(t.ar={}))[Ch.center=1]=\"center\",Ch[Ch.left=2]=\"left\",Ch[Ch.right=3]=\"right\",Ch[Ch.top=4]=\"top\",Ch[Ch.bottom=5]=\"bottom\",Ch[Ch[\"top-left\"]=6]=\"top-left\",Ch[Ch[\"top-right\"]=7]=\"top-right\",Ch[Ch[\"bottom-left\"]=8]=\"bottom-left\",Ch[Ch[\"bottom-right\"]=9]=\"bottom-right\";const Lh=7,Ih=Number.POSITIVE_INFINITY;function Ph(t,e){return e[1]!==Ih?function(t,e,r){let n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":i=r-Lh;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=-r+Lh}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){let r=0,n=0;e<0&&(e=0);const i=e/Math.SQRT2;switch(t){case\"top-right\":case\"top-left\":n=i-Lh;break;case\"bottom-right\":case\"bottom-left\":n=-i+Lh;break;case\"bottom\":n=-e+Lh;break;case\"top\":n=e-Lh}switch(t){case\"top-right\":case\"bottom-right\":r=-i;break;case\"top-left\":case\"bottom-left\":r=i;break;case\"left\":r=e;break;case\"right\":r=-e}return[r,n]}(t,e[0])}function zh(t,e,r){var n;const i=t.layout,a=null===(n=i.get(\"text-variable-anchor-offset\"))||void 0===n?void 0:n.evaluate(e,{},r);if(a){const t=a.values,e=[];for(let r=0;rt*xc));n.startsWith(\"top\")?i[1]-=Lh:n.startsWith(\"bottom\")&&(i[1]+=Lh),e[r+1]=i}return new ee(e)}const o=i.get(\"text-variable-anchor\");if(o){let n;n=void 0!==t._unevaluatedLayout.getValue(\"text-radial-offset\")?[i.get(\"text-radial-offset\").evaluate(e,{},r)*xc,Ih]:i.get(\"text-offset\").evaluate(e,{},r).map((t=>t*xc));const a=[];for(const t of o)a.push(t,Ph(t,n));return new ee(a)}return null}function Oh(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function Dh(e,r,n,i,a,o,s,l,c,u,h){let f=o.textMaxSize.evaluate(r,{});void 0===f&&(f=s);const p=e.layers[0].layout,d=p.get(\"icon-offset\").evaluate(r,{},h),m=Fh(n.horizontal),g=s/24,y=e.tilePixelRatio*g,v=e.tilePixelRatio*f/24,x=e.tilePixelRatio*l,_=e.tilePixelRatio*p.get(\"symbol-spacing\"),b=p.get(\"text-padding\")*e.tilePixelRatio,w=function(t,e,r,n=1){const i=t.get(\"icon-padding\").evaluate(e,{},r),a=i&&i.values;return[a[0]*n,a[1]*n,a[2]*n,a[3]*n]}(p,r,h,e.tilePixelRatio),k=p.get(\"text-max-angle\")/180*Math.PI,A=\"viewport\"!==p.get(\"text-rotation-alignment\")&&\"point\"!==p.get(\"symbol-placement\"),M=\"map\"===p.get(\"icon-rotation-alignment\")&&\"point\"!==p.get(\"symbol-placement\"),S=p.get(\"symbol-placement\"),E=_/2,C=p.get(\"icon-text-fit\");let L;i&&\"none\"!==C&&(e.allowVerticalPlacement&&n.vertical&&(L=mu(i,n.vertical,C,p.get(\"icon-text-fit-padding\"),d,g)),m&&(i=mu(i,m,C,p.get(\"icon-text-fit-padding\"),d,g)));const I=(l,f)=>{f.x<0||f.x>=Uo||f.y<0||f.y>=Uo||function(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,k,A,M){const S=e.addToLineVertexArray(r,n);let E,C,L,I,P=0,z=0,O=0,D=0,R=-1,F=-1;const B={};let N=bo(\"\");if(e.allowVerticalPlacement&&i.vertical){const t=l.layout.get(\"text-rotate\").evaluate(b,{},A)+90,e=i.vertical;L=new kh(c,r,u,h,f,e,p,d,m,t),s&&(I=new kh(c,r,u,h,f,s,y,v,m,t))}if(a){const n=l.layout.get(\"icon-rotate\").evaluate(b,{}),i=\"none\"!==l.layout.get(\"icon-text-fit\"),o=xh(a,n,k,i),p=s?xh(s,n,k,i):void 0;C=new kh(c,r,u,h,f,a,y,v,!1,n),P=4*o.length;const d=e.iconSizeData;let m=null;\"source\"===d.kind?(m=[yu*l.layout.get(\"icon-size\").evaluate(b,{})],m[0]>vu&&T(`${e.layerIds[0]}: Value for \"icon-size\" is >= ${gu}. Reduce your \"icon-size\".`)):\"composite\"===d.kind&&(m=[yu*w.compositeIconSizes[0].evaluate(b,{},A),yu*w.compositeIconSizes[1].evaluate(b,{},A)],(m[0]>vu||m[1]>vu)&&T(`${e.layerIds[0]}: Value for \"icon-size\" is >= ${gu}. Reduce your \"icon-size\".`)),e.addSymbols(e.icon,o,m,_,x,b,t.ai.none,r,S.lineStartIndex,S.lineLength,-1,A),R=e.icon.placedSymbolArray.length-1,p&&(z=4*p.length,e.addSymbols(e.icon,p,m,_,x,b,t.ai.vertical,r,S.lineStartIndex,S.lineLength,-1,A),F=e.icon.placedSymbolArray.length-1)}const j=Object.keys(i.horizontal);for(const n of j){const a=i.horizontal[n];if(!E){N=bo(a.text);const t=l.layout.get(\"text-rotate\").evaluate(b,{},A);E=new kh(c,r,u,h,f,a,p,d,m,t)}const s=1===a.positionedLines.length;if(O+=Rh(e,r,a,o,l,m,b,g,S,i.vertical?t.ai.horizontal:t.ai.horizontalOnly,s?j:[n],B,R,w,A),s)break}i.vertical&&(D+=Rh(e,r,i.vertical,o,l,m,b,g,S,t.ai.vertical,[\"vertical\"],B,F,w,A));const U=E?E.boxStartIndex:e.collisionBoxArray.length,V=E?E.boxEndIndex:e.collisionBoxArray.length,q=L?L.boxStartIndex:e.collisionBoxArray.length,H=L?L.boxEndIndex:e.collisionBoxArray.length,G=C?C.boxStartIndex:e.collisionBoxArray.length,Z=C?C.boxEndIndex:e.collisionBoxArray.length,W=I?I.boxStartIndex:e.collisionBoxArray.length,Y=I?I.boxEndIndex:e.collisionBoxArray.length;let X=-1;const $=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;X=$(E,X),X=$(L,X),X=$(C,X),X=$(I,X);const J=X>-1?1:0;J&&(X*=M/xc),e.glyphOffsetArray.length>=Eu.MAX_GLYPHS&&T(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==b.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,b.sortKey);const K=zh(l,b,A),[Q,tt]=function(e,r){const n=e.length,i=null==r?void 0:r.values;if((null==i?void 0:i.length)>0)for(let r=0;r=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,U,V,q,H,G,Z,W,Y,u,O,D,P,z,J,0,p,X,Q,tt)}(e,f,l,n,i,a,L,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,y,[b,b,b,b],A,c,x,w,M,d,r,o,u,h,s)};if(\"line\"===S)for(const t of ch(r.geometry,0,0,Uo,Uo)){const r=gh(t,_,k,n.vertical||m,i,24,v,e.overscaling,Uo);for(const n of r)m&&Bh(e,m.text,E,n)||I(t,n)}else if(\"line-center\"===S){for(const t of r.geometry)if(t.length>1){const e=mh(t,k,n.vertical||m,i,24,v);e&&I(t,e)}}else if(\"Polygon\"===r.type)for(const t of br(r.geometry,0)){const e=Mh(t,16);I(t[0],new uh(e.x,e.y,0))}else if(\"LineString\"===r.type)for(const t of r.geometry)I(t,new uh(t[0].x,t[0].y,0));else if(\"Point\"===r.type)for(const t of r.geometry)for(const e of t)I([e],new uh(e.x,e.y,0))}function Rh(t,e,r,n,i,o,s,l,c,u,h,f,p,d,m){const g=function(t,e,r,n,i,o,s,l){const c=n.layout.get(\"text-rotate\").evaluate(o,{})*Math.PI/180,u=[];for(const t of e.positionedLines)for(const n of t.positionedGlyphs){if(!n.rect)continue;const o=n.rect||{};let h=Zc+1,f=!0,p=1,d=0;const m=(i||l)&&n.vertical,g=n.metrics.advance*n.scale/2;if(l&&e.verticalizable){const e=(n.scale-1)*xc,r=(xc-n.metrics.width*n.scale)/2;d=t.lineOffset/2-(n.imageName?-r:e)}if(n.imageName){const t=s[n.imageName];f=t.sdf,p=t.pixelRatio,h=Yc/p}const y=i?[n.x+g,n.y]:[0,0];let v=i?[0,0]:[n.x+g+r[0],n.y+r[1]-d],x=[0,0];m&&(x=v,v=[0,0]);const _=n.metrics.isDoubleResolution?2:1,b=(n.metrics.left-h)*n.scale-g+v[0],w=(-n.metrics.top-h)*n.scale+v[1],T=b+o.w/_*n.scale/p,k=w+o.h/_*n.scale/p,A=new a(b,w),M=new a(T,w),S=new a(b,k),E=new a(T,k);if(m){const t=new a(-g,g-Kc),e=-Math.PI/2,r=xc/2-g,i=n.imageName?r:0,o=new a(5-Kc-r,-i),s=new a(...x);A._rotateAround(e,t)._add(o)._add(s),M._rotateAround(e,t)._add(o)._add(s),S._rotateAround(e,t)._add(o)._add(s),E._rotateAround(e,t)._add(o)._add(s)}if(c){const t=Math.sin(c),e=Math.cos(c),r=[e,-t,t,e];A._matMult(r),M._matMult(r),S._matMult(r),E._matMult(r)}const C=new a(0,0),L=new a(0,0),I=0,P=0;u.push({tl:A,tr:M,bl:S,br:E,tex:o,writingMode:e.writingMode,glyphOffset:y,sectionIndex:n.sectionIndex,isSDF:f,pixelOffsetTL:C,pixelOffsetBR:L,minFontScaleX:I,minFontScaleY:P})}return u}(0,r,l,i,o,s,n,t.allowVerticalPlacement),y=t.textSizeData;let v=null;\"source\"===y.kind?(v=[yu*i.layout.get(\"text-size\").evaluate(s,{})],v[0]>vu&&T(`${t.layerIds[0]}: Value for \"text-size\" is >= ${gu}. Reduce your \"text-size\".`)):\"composite\"===y.kind&&(v=[yu*d.compositeTextSizes[0].evaluate(s,{},m),yu*d.compositeTextSizes[1].evaluate(s,{},m)],(v[0]>vu||v[1]>vu)&&T(`${t.layerIds[0]}: Value for \"text-size\" is >= ${gu}. Reduce your \"text-size\".`)),t.addSymbols(t.text,g,v,l,o,s,u,e,c.lineStartIndex,c.lineLength,p,m);for(const e of h)f[e]=t.text.placedSymbolArray.length-1;return 4*g.length}function Fh(t){for(const e in t)return t[e];return null}function Bh(t,e,r,n){const i=t.compareText;if(e in i){const t=i[e];for(let e=t.length-1;e>=0;e--)if(n.dist(t[e])>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const i=Nh[15&r];if(!i)throw new Error(\"Unrecognized array type.\");const[a]=new Uint16Array(t,2,1),[o]=new Uint32Array(t,4,1);return new jh(o,a,i,t)}constructor(t,e=64,r=Float64Array,n){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=r,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const i=Nh.indexOf(this.ArrayType),a=2*t*this.ArrayType.BYTES_PER_ELEMENT,o=t*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+o+s,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+a+o+s),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+o+s,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t)}add(t,e){const r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=t,this.coords[this._pos++]=e,r}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return Uh(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,r,n){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:i,coords:a,nodeSize:o}=this,s=[0,i.length-1,0],l=[];for(;s.length;){const c=s.pop()||0,u=s.pop()||0,h=s.pop()||0;if(u-h<=o){for(let o=h;o<=u;o++){const s=a[2*o],c=a[2*o+1];s>=t&&s<=r&&c>=e&&c<=n&&l.push(i[o])}continue}const f=h+u>>1,p=a[2*f],d=a[2*f+1];p>=t&&p<=r&&d>=e&&d<=n&&l.push(i[f]),(0===c?t<=p:e<=d)&&(s.push(h),s.push(f-1),s.push(1-c)),(0===c?r>=p:n>=d)&&(s.push(f+1),s.push(u),s.push(1-c))}return l}within(t,e,r){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:n,coords:i,nodeSize:a}=this,o=[0,n.length-1,0],s=[],l=r*r;for(;o.length;){const c=o.pop()||0,u=o.pop()||0,h=o.pop()||0;if(u-h<=a){for(let r=h;r<=u;r++)Gh(i[2*r],i[2*r+1],t,e)<=l&&s.push(n[r]);continue}const f=h+u>>1,p=i[2*f],d=i[2*f+1];Gh(p,d,t,e)<=l&&s.push(n[f]),(0===c?t-r<=p:e-r<=d)&&(o.push(h),o.push(f-1),o.push(1-c)),(0===c?t+r>=p:e+r>=d)&&(o.push(f+1),o.push(u),o.push(1-c))}return s}}function Uh(t,e,r,n,i,a){if(i-n<=r)return;const o=n+i>>1;Vh(t,e,o,n,i,a),Uh(t,e,r,n,o-1,1-a),Uh(t,e,r,o+1,i,1-a)}function Vh(t,e,r,n,i,a){for(;i>n;){if(i-n>600){const o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);Vh(t,e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}const o=e[2*r+a];let s=n,l=i;for(qh(t,e,n,r),e[2*i+a]>o&&qh(t,e,n,i);so;)l--}e[2*n+a]===o?qh(t,e,n,l):(l++,qh(t,e,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1)}}function qh(t,e,r,n){Hh(t,r,n),Hh(e,2*r,2*n),Hh(e,2*r+1,2*n+1)}function Hh(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function Gh(t,e,r,n){const i=t-r,a=e-n;return i*i+a*a}var Zh;t.bf=void 0,(Zh=t.bf||(t.bf={})).create=\"create\",Zh.load=\"load\",Zh.fullLoad=\"fullLoad\";let Wh=null,Yh=[];const Xh=1e3/60,$h=\"loadTime\",Jh=\"fullLoadTime\",Kh={mark(t){performance.mark(t)},frame(t){const e=t;if(null!=Wh){const t=e-Wh;Yh.push(t)}Wh=e},clearMetrics(){Wh=null,Yh=[],performance.clearMeasures($h),performance.clearMeasures(Jh);for(const e in t.bf)performance.clearMarks(t.bf[e])},getPerformanceMetrics(){performance.measure($h,t.bf.create,t.bf.load),performance.measure(Jh,t.bf.create,t.bf.fullLoad);const e=performance.getEntriesByName($h)[0].duration,r=performance.getEntriesByName(Jh)[0].duration,n=Yh.length,i=1/(Yh.reduce(((t,e)=>t+e),0)/n/1e3),a=Yh.filter((t=>t>Xh)).reduce(((t,e)=>t+(e-Xh)/Xh),0);return{loadTime:e,fullLoadTime:r,fps:i,percentDroppedFrames:a/(n+a)*100,totalFrames:n}}};t.$=class extends da{},t.A=fs,t.B=_i,t.C=function(t){if(null==M){const e=t.navigator?t.navigator.userAgent:null;M=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")))}return M},t.D=Qi,t.E=G,t.F=class{constructor(t,e){this.target=t,this.mapId=e,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Uu((()=>this.process())),this.subscription=function(t,e,r,n){return t.addEventListener(e,r,n),{unsubscribe:()=>{t.removeEventListener(e,r,n)}}}(this.target,\"message\",(t=>this.receive(t)),!1),this.globalScope=A(self)?t:window}registerMessageHandler(t,e){this.messageHandlers[t]=e}sendAsync(t,e){return new Promise(((r,n)=>{const i=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[i]={resolve:r,reject:n},e&&e.signal.addEventListener(\"abort\",(()=>{delete this.resolveRejects[i];const e={id:i,type:\"\",origin:location.origin,targetMapId:t.targetMapId,sourceMapId:this.mapId};this.target.postMessage(e)}),{once:!0});const a=[],o=Object.assign(Object.assign({},t),{id:i,sourceMapId:this.mapId,origin:location.origin,data:Li(t.data,a)});this.target.postMessage(o,{transfer:a})}))}receive(t){const e=t.data,r=e.id;if(!(\"file://\"!==e.origin&&\"file://\"!==location.origin&&\"resource://android\"!==e.origin&&\"resource://android\"!==location.origin&&e.origin!==location.origin||e.targetMapId&&this.mapId!==e.targetMapId)){if(\"\"===e.type){delete this.tasks[r];const t=this.abortControllers[r];return delete this.abortControllers[r],void(t&&t.abort())}if(A(self)||e.mustQueue)return this.tasks[r]=e,this.taskQueue.push(r),void this.invoker.trigger();this.processTask(r,e)}}process(){if(0===this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length>0&&this.invoker.trigger(),e&&this.processTask(t,e)}processTask(t,r){return e(this,void 0,void 0,(function*(){if(\"\"===r.type){const e=this.resolveRejects[t];if(delete this.resolveRejects[t],!e)return;return void(r.error?e.reject(Ii(r.error)):e.resolve(Ii(r.data)))}if(!this.messageHandlers[r.type])return void this.completeTask(t,new Error(`Could not find a registered handler for ${r.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));const e=Ii(r.data),n=new AbortController;this.abortControllers[t]=n;try{const i=yield this.messageHandlers[r.type](r.sourceMapId,e,n);this.completeTask(t,null,i)}catch(e){this.completeTask(t,e)}}))}completeTask(t,e,r){const n=[];delete this.abortControllers[t];const i={id:t,type:\"\",sourceMapId:this.mapId,origin:location.origin,error:e?Li(e):null,data:Li(r,n)};this.target.postMessage(i,{transfer:n})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},t.G=R,t.H=function(){var t=new fs(16);return fs!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.I=Xc,t.J=function(t,e,r){var n,i,a,o,s,l,c,u,h,f,p,d,m=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*m+e[4]*g+e[8]*y+e[12],t[13]=e[1]*m+e[5]*g+e[9]*y+e[13],t[14]=e[2]*m+e[6]*g+e[10]*y+e[14],t[15]=e[3]*m+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*m+s*g+h*y+e[12],t[13]=i*m+l*g+f*y+e[13],t[14]=a*m+c*g+p*y+e[14],t[15]=o*m+u*g+d*y+e[15]),t},t.K=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.L=ds,t.M=function(t,e){const r={};for(let n=0;n{const e=window.document.createElement(\"video\");return e.muted=!0,new Promise((r=>{e.onloadstart=()=>{r(e)};for(const r of t){const t=window.document.createElement(\"source\");j(r)||(e.crossOrigin=\"Anonymous\"),t.src=r,e.appendChild(t)}}))},t.a4=function(){return v++},t.a5=Ra,t.a6=Eu,t.a7=zn,t.a8=Go,t.a9=Hi,t.aA=function(t){t=t.slice();const e=Object.create(null);for(let r=0;r{\"source\"in t&&n[t.source]?r.push({command:\"removeLayer\",args:[t.id]}):a.push(t)})),r=r.concat(i),function(t,e,r){e=e||[];const n=(t=t||[]).map(rt),i=e.map(rt),a=t.reduce(nt,{}),o=e.reduce(nt,{}),s=n.slice(),l=Object.create(null);let c,u,h,f,p;for(let t=0,e=0;t@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,((t,r,n,i)=>{const a=n||i;return e[r]=!a||a.toLowerCase(),\"\"})),e[\"max-age\"]){const t=parseInt(e[\"max-age\"],10);isNaN(t)?delete e[\"max-age\"]:e[\"max-age\"]=t}return e},t.ac=function(t,e){const r=[];for(const n in t)n in e||r.push(n);return r},t.ad=m,t.ae=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t},t.af=function(t){var e=new fs(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.ag=vs,t.ah=function(t,e){let r=0,n=0;if(\"constant\"===t.kind)n=t.layoutSize;else if(\"source\"!==t.kind){const{interpolationType:i,minZoom:a,maxZoom:o}=t,s=i?m(ze.interpolationFactor(i,e,a,o),0,1):0;\"camera\"===t.kind?n=Pe.number(t.minSize,t.maxSize,s):r=s}return{uSizeT:r,uSize:n}},t.aj=function(t,{uSize:e,uSizeT:r},{lowerSize:n,upperSize:i}){return\"source\"===t.kind?n/yu:\"composite\"===t.kind?Pe.number(n/yu,i/yu,r):e},t.ak=ku,t.al=function(t,e,r,n){const i=e.y-t.y,o=e.x-t.x,s=n.y-r.y,l=n.x-r.x,c=s*o-l*i;if(0===c)return null;const u=(l*(t.y-r.y)-s*(t.x-r.x))/c;return new a(t.x+u*o,t.y+u*i)},t.am=ch,t.an=Yo,t.ao=ps,t.ap=function(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const a of t)e=Math.min(e,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return[e,r,n,i]},t.aq=xc,t.as=_u,t.at=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],m=e[13],g=e[14],y=e[15],v=r*s-n*o,x=r*l-i*o,_=r*c-a*o,b=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*m-h*d,A=u*g-f*d,M=u*y-p*d,S=h*g-f*m,E=h*y-p*m,C=f*y-p*g,L=v*C-x*E+_*S+b*M-w*A+T*k;return L?(L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(m*T-g*w+y*b)*L,t[3]=(f*w-h*T-p*b)*L,t[4]=(l*M-o*C-c*A)*L,t[5]=(r*C-i*M+a*A)*L,t[6]=(g*_-d*T-y*x)*L,t[7]=(u*T-f*_+p*x)*L,t[8]=(o*E-s*M+c*k)*L,t[9]=(n*M-r*E-a*k)*L,t[10]=(d*w-m*_+y*v)*L,t[11]=(h*_-u*w-p*v)*L,t[12]=(s*A-o*S-l*k)*L,t[13]=(r*S-n*A+i*k)*L,t[14]=(m*x-d*b-g*v)*L,t[15]=(u*b-h*x+f*v)*L,t):null},t.au=Oh,t.av=hu,t.aw=jh,t.ax=function(){const t={},e=Z.$version;for(const r in Z.$root){const n=Z.$root[r];if(n.required){let i=null;i=\"version\"===r?e:\"array\"===n.type?[]:{},null!=i&&(t[r]=i)}}return t},t.ay=Pi,t.az=B,t.b=S,t.b0=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.b1=_s,t.b2=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.b3=g,t.b4=Qu,t.b5=Yu,t.b6=ms,t.b7=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t},t.b8=p,t.b9=d,t.bA=function(t){return t.message===P},t.bB=An,t.bC=qi,t.ba=function(t){return t*Math.PI/180},t.bb=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.bc=class extends pa{},t.bd=Vu,t.be=Kh,t.bg=F,t.bh=function(t,e){O.REGISTERED_PROTOCOLS[t]=e},t.bi=function(t){delete O.REGISTERED_PROTOCOLS[t]},t.bj=function(t,e){const r={};for(let n=0;nt*xc))}let x=l?\"center\":i.get(\"text-justify\").evaluate(r,{},e.canonical);const _=\"point\"===i.get(\"symbol-placement\")?i.get(\"text-max-width\").evaluate(r,{},e.canonical)*xc:1/0,b=()=>{e.bucket.allowVerticalPlacement&&Oi(o)&&(d.vertical=eu(m,e.glyphMap,e.glyphPositions,e.imagePositions,a,_,s,g,\"left\",p,y,t.ai.vertical,!0,f,h))};if(!l&&v){const r=new Set;if(\"auto\"===x)for(let t=0;te(void 0,void 0,void 0,(function*(){if(0===t.byteLength)return createImageBitmap(new ImageData(1,1));const e=new Blob([new Uint8Array(t)],{type:\"image/png\"});try{return createImageBitmap(e)}catch(t){throw new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),t.e=y,t.f=t=>new Promise(((e,r)=>{const n=new Image;n.onload=()=>{e(n),URL.revokeObjectURL(n.src),n.onload=null,window.requestAnimationFrame((()=>{n.src=E}))},n.onerror=()=>r(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));const i=new Blob([new Uint8Array(t)],{type:\"image/png\"});n.src=t.byteLength?URL.createObjectURL(i):E})),t.g=D,t.h=(t,e)=>N(y(t,{type:\"json\"}),e),t.i=A,t.j=H,t.k=q,t.l=(t,e)=>N(y(t,{type:\"arrayBuffer\"}),e),t.m=N,t.n=function(t){return new Uc(t).readFields(qc,[])},t.o=Cs,t.p=Wc,t.q=ia,t.r=xi,t.s=j,t.t=Ti,t.u=zi,t.v=Z,t.w=T,t.x=vi,t.y=function([t,e,r]){return e+=90,e*=Math.PI/180,r*=Math.PI/180,{x:t*Math.cos(e)*Math.sin(r),y:t*Math.sin(e)*Math.sin(r),z:t*Math.cos(r)}},t.z=Pe})),r(\"worker\",0,(function(t){class e{constructor(t){this.keyCache={},t&&this.replace(t)}replace(t){this._layerConfigs={},this._layers={},this.update(t,[])}update(e,r){for(const r of e){this._layerConfigs[r.id]=r;const e=this._layers[r.id]=t.aB(r);e._featureFilter=t.a7(e.filter),this.keyCache[r.id]&&delete this.keyCache[r.id]}for(const t of r)delete this.keyCache[t],delete this._layerConfigs[t],delete this._layers[t];this.familiesBySource={};const n=t.bj(Object.values(this._layerConfigs),this.keyCache);for(const t of n){const e=t.map((t=>this._layers[t.id])),r=e[0];if(\"none\"===r.visibility)continue;const n=r.source||\"\";let i=this.familiesBySource[n];i||(i=this.familiesBySource[n]={});const a=r.sourceLayer||\"_geojsonTileLayer\";let o=i[a];o||(o=i[a]=[]),o.push(e)}}}class r{constructor(e){const r={},n=[];for(const t in e){const i=e[t],a=r[t]={};for(const t in i){const e=i[+t];if(!e||0===e.bitmap.width||0===e.bitmap.height)continue;const r={x:0,y:0,w:e.bitmap.width+2,h:e.bitmap.height+2};n.push(r),a[t]={rect:r,metrics:e.metrics}}}const{w:i,h:a}=t.p(n),o=new t.o({width:i||1,height:a||1});for(const n in e){const i=e[n];for(const e in i){const a=i[+e];if(!a||0===a.bitmap.width||0===a.bitmap.height)continue;const s=r[n][e].rect;t.o.copy(a.bitmap,o,{x:0,y:0},{x:s.x+1,y:s.y+1},a.bitmap)}}this.image=o,this.positions=r}}t.bk(\"GlyphAtlas\",r);class n{constructor(e){this.tileID=new t.S(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId,this.inFlightDependencies=[]}parse(e,n,a,o){return t._(this,void 0,void 0,(function*(){this.status=\"parsing\",this.data=e,this.collisionBoxArray=new t.a5;const s=new t.bl(Object.keys(e.layers).sort()),l=new t.bm(this.tileID,this.promoteId);l.bucketLayerIDs=[];const c={},u={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:a},h=n.familiesBySource[this.source];for(const r in h){const n=e.layers[r];if(!n)continue;1===n.version&&t.w(`Vector tile source \"${this.source}\" layer \"${r}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);const o=s.encode(r),f=[];for(let t=0;t=r.maxzoom||\"none\"!==r.visibility&&(i(e,this.zoom,a),(c[r.id]=r.createBucket({index:l.bucketLayerIDs.length,layers:e,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:o,sourceID:this.source})).populate(f,u,this.tileID.canonical),l.bucketLayerIDs.push(e.map((t=>t.id))))}}const f=t.aG(u.glyphDependencies,(t=>Object.keys(t).map(Number)));this.inFlightDependencies.forEach((t=>null==t?void 0:t.abort())),this.inFlightDependencies=[];let p=Promise.resolve({});if(Object.keys(f).length){const t=new AbortController;this.inFlightDependencies.push(t),p=o.sendAsync({type:\"GG\",data:{stacks:f,source:this.source,tileID:this.tileID,type:\"glyphs\"}},t)}const d=Object.keys(u.iconDependencies);let m=Promise.resolve({});if(d.length){const t=new AbortController;this.inFlightDependencies.push(t),m=o.sendAsync({type:\"GI\",data:{icons:d,source:this.source,tileID:this.tileID,type:\"icons\"}},t)}const g=Object.keys(u.patternDependencies);let y=Promise.resolve({});if(g.length){const t=new AbortController;this.inFlightDependencies.push(t),y=o.sendAsync({type:\"GI\",data:{icons:g,source:this.source,tileID:this.tileID,type:\"patterns\"}},t)}const[v,x,_]=yield Promise.all([p,m,y]),b=new r(v),w=new t.bn(x,_);for(const e in c){const r=c[e];r instanceof t.a6?(i(r.layers,this.zoom,a),t.bo({bucket:r,glyphMap:v,glyphPositions:b.positions,imageMap:x,imagePositions:w.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):r.hasPattern&&(r instanceof t.bp||r instanceof t.bq||r instanceof t.br)&&(i(r.layers,this.zoom,a),r.addFeatures(u,this.tileID.canonical,w.patternPositions))}return this.status=\"done\",{buckets:Object.values(c).filter((t=>!t.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:b.image,imageAtlas:w,glyphMap:this.returnDependencies?v:null,iconMap:this.returnDependencies?x:null,glyphPositions:this.returnDependencies?b.positions:null}}))}}function i(e,r,n){const i=new t.a9(r);for(const t of e)t.recalculate(i,n)}class a{constructor(t,e,r){this.actor=t,this.layerIndex=e,this.availableImages=r,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(e,r){return t._(this,void 0,void 0,(function*(){const n=yield t.l(e.request,r);try{return{vectorTile:new t.bs.VectorTile(new t.bt(n.data)),rawData:n.data,cacheControl:n.cacheControl,expires:n.expires}}catch(t){const r=new Uint8Array(n.data),i=31===r[0]&&139===r[1];let a=`Unable to parse the tile at ${e.request.url}, `;throw a+=i?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${t.message}`,new Error(a)}}))}loadTile(e){return t._(this,void 0,void 0,(function*(){const r=e.uid,i=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.bu(e.request),a=new n(e);this.loading[r]=a;const o=new AbortController;a.abort=o;try{const n=yield this.loadVectorTile(e,o);if(delete this.loading[r],!n)return null;const s=n.rawData,l={};n.expires&&(l.expires=n.expires),n.cacheControl&&(l.cacheControl=n.cacheControl);const c={};if(i){const t=i.finish();t&&(c.resourceTiming=JSON.parse(JSON.stringify(t)))}a.vectorTile=n.vectorTile;const u=a.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[r]=a,this.fetching[r]={rawTileData:s,cacheControl:l,resourceTiming:c};try{const e=yield u;return t.e({rawTileData:s.slice(0)},e,l,c)}finally{delete this.fetching[r]}}catch(t){throw delete this.loading[r],a.status=\"done\",this.loaded[r]=a,t}}))}reloadTile(e){return t._(this,void 0,void 0,(function*(){const r=e.uid;if(!this.loaded||!this.loaded[r])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");const n=this.loaded[r];if(n.showCollisionBoxes=e.showCollisionBoxes,\"parsing\"===n.status){const e=yield n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);let i;if(this.fetching[r]){const{rawTileData:n,cacheControl:a,resourceTiming:o}=this.fetching[r];delete this.fetching[r],i=t.e({rawTileData:n.slice(0)},e,a,o)}else i=e;return i}if(\"done\"===n.status&&n.vectorTile)return n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor)}))}abortTile(e){return t._(this,void 0,void 0,(function*(){const t=this.loading,r=e.uid;t&&t[r]&&t[r].abort&&(t[r].abort.abort(),delete t[r])}))}removeTile(e){return t._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[e.uid]&&delete this.loaded[e.uid]}))}}class o{constructor(){this.loaded={}}loadTile(e){return t._(this,void 0,void 0,(function*(){const{uid:r,encoding:n,rawImageData:i,redFactor:a,greenFactor:o,blueFactor:s,baseShift:l}=e,c=i.width+2,u=i.height+2,h=t.b(i)?new t.R({width:c,height:u},yield t.bv(i,-1,-1,c,u)):i,f=new t.bw(r,h,n,a,o,s,l);return this.loaded=this.loaded||{},this.loaded[r]=f,f}))}removeTile(t){const e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]}}var s=function t(e,r){var n,i=e&&e.type;if(\"FeatureCollection\"===i)for(n=0;n=Math.abs(s)?r-l+s:s-l+r,r=l}r+n>=0!=!!e&&t.reverse()}var u=t.bx(s);const h=t.bs.VectorTileFeature.prototype.toGeoJSON;let f=class{constructor(e){this._feature=e,this.extent=t.X,this.type=e.type,this.properties=e.tags,\"id\"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))}loadGeometry(){if(1===this._feature.type){const e=[];for(const r of this._feature.geometry)e.push([new t.P(r[0],r[1])]);return e}{const e=[];for(const r of this._feature.geometry){const n=[];for(const e of r)n.push(new t.P(e[0],e[1]));e.push(n)}return e}}toGeoJSON(t,e,r){return h.call(this,t,e,r)}},p=class{constructor(e){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=t.X,this.length=e.length,this._features=e}feature(t){return new f(this._features[t])}};var d={exports:{}},m=t.by,g=t.bs.VectorTileFeature,y=v;function v(t,e){this.options=e||{},this.features=t,this.length=t.length}function x(t,e){this.id=\"number\"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}v.prototype.feature=function(t){return new x(this.features[t],this.options.extent)},x.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e>31}function E(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;st},z=Math.fround||(O=new Float32Array(1),t=>(O[0]=+t,O[0]));var O;const D=3,R=5,F=6;class B{constructor(t){this.options=Object.assign(Object.create(P),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:e,minZoom:r,maxZoom:n}=this.options;e&&console.time(\"total time\");const i=`prepare ${t.length} points`;e&&console.time(i),this.points=t;const a=[];for(let e=0;e=r;t--){const r=+Date.now();o=this.trees[t]=this._createTree(this._cluster(o,t)),e&&console.log(\"z%d: %d clusters in %dms\",t,o.numItems,+Date.now()-r)}return e&&console.timeEnd(\"total time\"),this}getClusters(t,e){let r=((t[0]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,t[1]));let i=180===t[2]?180:((t[2]+180)%360+360)%360-180;const a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){const t=this.getClusters([r,n,180,a],e),o=this.getClusters([-180,n,i,a],e);return t.concat(o)}const o=this.trees[this._limitZoom(e)],s=o.range(U(r),V(a),U(i),V(n)),l=o.data,c=[];for(const t of s){const e=this.stride*t;c.push(l[e+R]>1?N(l,e,this.clusterProps):this.points[l[e+D]])}return c}getChildren(t){const e=this._getOriginId(t),r=this._getOriginZoom(t),n=\"No cluster with the specified id.\",i=this.trees[r];if(!i)throw new Error(n);const a=i.data;if(e*this.stride>=a.length)throw new Error(n);const o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=a[e*this.stride],l=a[e*this.stride+1],c=i.within(s,l,o),u=[];for(const e of c){const r=e*this.stride;a[r+4]===t&&u.push(a[r+R]>1?N(a,r,this.clusterProps):this.points[a[r+D]])}if(0===u.length)throw new Error(n);return u}getLeaves(t,e,r){e=e||10,r=r||0;const n=[];return this._appendLeaves(n,t,e,r,0),n}getTile(t,e,r){const n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),{extent:a,radius:o}=this.options,s=o/a,l=(r-s)/i,c=(r+1+s)/i,u={features:[]};return this._addTileFeatures(n.range((e-s)/i,l,(e+1+s)/i,c),n.data,e,r,i,u),0===e&&this._addTileFeatures(n.range(1-s/i,l,1,c),n.data,i,r,i,u),e===i-1&&this._addTileFeatures(n.range(0,l,s/i,c),n.data,-1,r,i,u),u.features.length?u:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e}_appendLeaves(t,e,r,n,i){const a=this.getChildren(e);for(const e of a){const a=e.properties;if(a&&a.cluster?i+a.point_count<=n?i+=a.point_count:i=this._appendLeaves(t,a.cluster_id,r,n,i):i1;let l,c,u;if(s)l=j(e,t,this.clusterProps),c=e[t],u=e[t+1];else{const r=this.points[e[t+D]];l=r.properties;const[n,i]=r.geometry.coordinates;c=U(n),u=V(i)}const h={type:1,geometry:[[Math.round(this.options.extent*(c*i-r)),Math.round(this.options.extent*(u*i-n))]],tags:l};let f;f=s||this.options.generateId?e[t+D]:this.points[e[t+D]].id,void 0!==f&&(h.id=f),a.features.push(h)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,e){const{radius:r,extent:n,reduce:i,minPoints:a}=this.options,o=r/(n*Math.pow(2,e)),s=t.data,l=[],c=this.stride;for(let r=0;re&&(p+=s[r+R])}if(p>f&&p>=a){let t,a=n*f,o=u*f,d=-1;const m=((r/c|0)<<5)+(e+1)+this.points.length;for(const n of h){const l=n*c;if(s[l+2]<=e)continue;s[l+2]=e;const u=s[l+R];a+=s[l]*u,o+=s[l+1]*u,s[l+4]=m,i&&(t||(t=this._map(s,r,!0),d=this.clusterProps.length,this.clusterProps.push(t)),i(t,this._map(s,l)))}s[r+4]=m,l.push(a/p,o/p,1/0,m,-1,p),i&&l.push(d)}else{for(let t=0;t1)for(const t of h){const r=t*c;if(!(s[r+2]<=e)){s[r+2]=e;for(let t=0;t>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e,r){if(t[e+R]>1){const n=this.clusterProps[t[e+F]];return r?Object.assign({},n):n}const n=this.points[t[e+D]].properties,i=this.options.map(n);return r&&i===n?Object.assign({},i):i}}function N(t,e,r){return{type:\"Feature\",id:t[e+D],properties:j(t,e,r),geometry:{type:\"Point\",coordinates:[(n=t[e],360*(n-.5)),q(t[e+1])]}};var n}function j(t,e,r){const n=t[e+R],i=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?Math.round(n/100)/10+\"k\":n,a=t[e+F],o=-1===a?{}:Object.assign({},r[a]);return Object.assign(o,{cluster:!0,cluster_id:t[e+D],point_count:n,point_count_abbreviated:i})}function U(t){return t/360+.5}function V(t){const e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function q(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function H(t,e,r,n){let i=n;const a=e+(r-e>>1);let o,s=r-e;const l=t[e],c=t[e+1],u=t[r],h=t[r+1];for(let n=e+3;ni)o=n,i=e;else if(e===i){const t=Math.abs(n-a);tn&&(o-e>3&&H(t,e,o,n),t[o+2]=i,r-o>3&&H(t,o,r,n))}function G(t,e,r,n,i,a){let o=i-r,s=a-n;if(0!==o||0!==s){const l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return o=t-r,s=e-n,o*o+s*s}function Z(t,e,r,n){const i={id:null==t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(\"Point\"===e||\"MultiPoint\"===e||\"LineString\"===e)W(i,r);else if(\"Polygon\"===e)W(i,r[0]);else if(\"MultiLineString\"===e)for(const t of r)W(i,t);else if(\"MultiPolygon\"===e)for(const t of r)W(i,t[0]);return i}function W(t,e){for(let r=0;r0&&(o+=n?(i*l-s*a)/2:Math.sqrt(Math.pow(s-i,2)+Math.pow(l-a,2))),i=s,a=l}const s=e.length-3;e[2]=1,H(e,0,s,r),e[s+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function J(t,e,r,n){for(let i=0;i1?1:r}function tt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;const l=[];for(const e of t){const t=e.geometry;let a=e.type;const o=0===i?e.minX:e.minY,c=0===i?e.maxX:e.maxY;if(o>=r&&c=n)continue;let u=[];if(\"Point\"===a||\"MultiPoint\"===a)et(t,u,r,n,i);else if(\"LineString\"===a)rt(t,u,r,n,i,!1,s.lineMetrics);else if(\"MultiLineString\"===a)it(t,u,r,n,i,!1);else if(\"Polygon\"===a)it(t,u,r,n,i,!0);else if(\"MultiPolygon\"===a)for(const e of t){const t=[];it(e,t,r,n,i,!0),t.length&&u.push(t)}if(u.length){if(s.lineMetrics&&\"LineString\"===a){for(const t of u)l.push(Z(e.id,a,t,e.tags));continue}\"LineString\"!==a&&\"MultiLineString\"!==a||(1===u.length?(a=\"LineString\",u=u[0]):a=\"MultiLineString\"),\"Point\"!==a&&\"MultiPoint\"!==a||(a=3===u.length?\"Point\":\"MultiPoint\"),l.push(Z(e.id,a,u,e.tags))}}return l.length?l:null}function et(t,e,r,n,i){for(let a=0;a=r&&o<=n&&at(e,t[a],t[a+1],t[a+2])}}function rt(t,e,r,n,i,a,o){let s=nt(t);const l=0===i?ot:st;let c,u,h=t.start;for(let f=0;fr&&(u=l(s,p,d,g,y,r),o&&(s.start=h+c*u)):v>n?x=r&&(u=l(s,p,d,g,y,r),_=!0),x>n&&v<=n&&(u=l(s,p,d,g,y,n),_=!0),!a&&_&&(o&&(s.end=h+c*u),e.push(s),s=nt(t)),o&&(h+=c)}let f=t.length-3;const p=t[f],d=t[f+1],m=t[f+2],g=0===i?p:d;g>=r&&g<=n&&at(s,p,d,m),f=s.length-3,a&&f>=3&&(s[f]!==s[0]||s[f+1]!==s[1])&&at(s,s[0],s[1],s[2]),s.length&&e.push(s)}function nt(t){const e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function it(t,e,r,n,i,a){for(const o of t)rt(o,e,r,n,i,a,!1)}function at(t,e,r,n){t.push(e,r,n)}function ot(t,e,r,n,i,a){const o=(a-e)/(n-e);return at(t,a,r+(i-r)*o,1),o}function st(t,e,r,n,i,a){const o=(a-r)/(i-r);return at(t,e+(n-e)*o,a,1),o}function lt(t,e){const r=[];for(let n=0;n0&&e.size<(i?o:n))return void(r.numPoints+=e.length/3);const s=[];for(let t=0;to)&&(r.numSimplified++,s.push(e[t],e[t+1])),r.numPoints++;i&&function(t,e){let r=0;for(let e=0,n=t.length,i=n-2;e0===e)for(let e=0,r=t.length;e24)throw new Error(\"maxZoom should be in the 0-24 range\");if(e.promoteId&&e.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");let n=function(t,e){const r=[];if(\"FeatureCollection\"===t.type)for(let n=0;n1&&console.time(\"creation\"),f=this.tiles[h]=ft(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",e,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd(\"creation\"));const t=`z${e}`;this.stats[t]=(this.stats[t]||0)+1,this.total++}if(f.source=t,null==i){if(e===l.indexMaxZoom||f.numPoints<=l.indexMaxPoints)continue}else{if(e===l.maxZoom||e===i)continue;if(null!=i){const t=i-e;if(r!==a>>t||n!==o>>t)continue}}if(f.source=null,0===t.length)continue;c>1&&console.time(\"clipping\");const p=.5*l.buffer/l.extent,d=.5-p,m=.5+p,g=1+p;let y=null,v=null,x=null,_=null,b=tt(t,u,r-p,r+m,0,f.minX,f.maxX,l),w=tt(t,u,r+d,r+g,0,f.minX,f.maxX,l);t=null,b&&(y=tt(b,u,n-p,n+m,1,f.minY,f.maxY,l),v=tt(b,u,n+d,n+g,1,f.minY,f.maxY,l),b=null),w&&(x=tt(w,u,n-p,n+m,1,f.minY,f.maxY,l),_=tt(w,u,n+d,n+g,1,f.minY,f.maxY,l),w=null),c>1&&console.timeEnd(\"clipping\"),s.push(y||[],e+1,2*r,2*n),s.push(v||[],e+1,2*r,2*n+1),s.push(x||[],e+1,2*r+1,2*n),s.push(_||[],e+1,2*r+1,2*n+1)}}getTile(t,e,r){t=+t,e=+e,r=+r;const n=this.options,{extent:i,debug:a}=n;if(t<0||t>24)return null;const o=1<1&&console.log(\"drilling down to z%d-%d-%d\",t,e,r);let l,c=t,u=e,h=r;for(;!l&&c>0;)c--,u>>=1,h>>=1,l=this.tiles[yt(c,u,h)];return l&&l.source?(a>1&&(console.log(\"found parent tile z%d-%d-%d\",c,u,h),console.time(\"drilling down\")),this.splitTile(l.source,c,u,h,t,e,r),a>1&&console.timeEnd(\"drilling down\"),this.tiles[s]?ut(this.tiles[s],i):null):null}}function yt(t,e,r){return 32*((1<{o.properties=t;const e={};for(const t of s)e[t]=n[t].evaluate(a,o);return e},e.reduce=(t,e)=>{o.properties=e;for(const e of s)a.accumulated=t[e],t[e]=i[e].evaluate(a,o)},e}(e)).load((yield this._pendingData).features):(i=yield this._pendingData,a=e.geojsonVtOptions,new gt(i,a)),this.loaded={};const r={};if(n){const t=n.finish();t&&(r.resourceTiming={},r.resourceTiming[e.source]=JSON.parse(JSON.stringify(t)))}return r}catch(e){if(delete this._pendingRequest,t.bA(e))return{abandoned:!0};throw e}var i,a}))}getData(){return t._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(t){const e=this.loaded,r=t.uid;return e&&e[r]?super.reloadTile(t):this.loadTile(t)}loadAndProcessGeoJSON(e,r){return t._(this,void 0,void 0,(function*(){let n=yield this.loadGeoJSON(e,r);if(delete this._pendingRequest,\"object\"!=typeof n)throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`);if(u(n,!0),e.filter){const r=t.bB(e.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===r.result)throw new Error(r.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));const i=n.features.filter((t=>r.value.evaluate({zoom:0},t)));n={type:\"FeatureCollection\",features:i}}return n}))}loadGeoJSON(e,r){return t._(this,void 0,void 0,(function*(){const{promoteId:n}=e;if(e.request){const i=yield t.h(e.request,r);return this._dataUpdateable=xt(i.data,n)?_t(i.data,n):void 0,i.data}if(\"string\"==typeof e.data)try{const t=JSON.parse(e.data);return this._dataUpdateable=xt(t,n)?_t(t,n):void 0,t}catch(t){throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`)}if(!e.dataDiff)throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${e.source}`);return function(t,e,r){var n,i,a,o;if(e.removeAll&&t.clear(),e.remove)for(const r of e.remove)t.delete(r);if(e.add)for(const n of e.add){const e=vt(n,r);null!=e&&t.set(e,n)}if(e.update)for(const r of e.update){let e=t.get(r.id);if(null==e)continue;const s=r.newGeometry||r.removeAllProperties,l=!r.removeAllProperties&&((null===(n=r.removeProperties)||void 0===n?void 0:n.length)>0||(null===(i=r.addOrUpdateProperties)||void 0===i?void 0:i.length)>0);if((s||l)&&(e=Object.assign({},e),t.set(r.id,e),l&&(e.properties=Object.assign({},e.properties))),r.newGeometry&&(e.geometry=r.newGeometry),r.removeAllProperties)e.properties={};else if((null===(a=r.removeProperties)||void 0===a?void 0:a.length)>0)for(const t of r.removeProperties)Object.prototype.hasOwnProperty.call(e.properties,t)&&delete e.properties[t];if((null===(o=r.addOrUpdateProperties)||void 0===o?void 0:o.length)>0)for(const{key:t,value:n}of r.addOrUpdateProperties)e.properties[t]=n}}(this._dataUpdateable,e.dataDiff,n),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}}))}removeSource(e){return t._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort()}))}getClusterExpansionZoom(t){return this._geoJSONIndex.getClusterExpansionZoom(t.clusterId)}getClusterChildren(t){return this._geoJSONIndex.getChildren(t.clusterId)}getClusterLeaves(t){return this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset)}}class wt{constructor(e){this.self=e,this.actor=new t.F(e),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(t,e)=>{if(this.externalWorkerSourceTypes[t])throw new Error(`Worker source with name \"${t}\" already registered.`);this.externalWorkerSourceTypes[t]=e},this.self.addProtocol=t.bh,this.self.removeProtocol=t.bi,this.self.registerRTLTextPlugin=e=>{if(t.bC.isParsed())throw new Error(\"RTL text plugin already registered.\");t.bC.setMethods(e)},this.actor.registerMessageHandler(\"LDT\",((t,e)=>this._getDEMWorkerSource(t,e.source).loadTile(e))),this.actor.registerMessageHandler(\"RDT\",((e,r)=>t._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(e,r.source).removeTile(r)})))),this.actor.registerMessageHandler(\"GCEZ\",((e,r)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,r.type,r.source).getClusterExpansionZoom(r)})))),this.actor.registerMessageHandler(\"GCC\",((e,r)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,r.type,r.source).getClusterChildren(r)})))),this.actor.registerMessageHandler(\"GCL\",((e,r)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,r.type,r.source).getClusterLeaves(r)})))),this.actor.registerMessageHandler(\"LD\",((t,e)=>this._getWorkerSource(t,e.type,e.source).loadData(e))),this.actor.registerMessageHandler(\"GD\",((t,e)=>this._getWorkerSource(t,e.type,e.source).getData())),this.actor.registerMessageHandler(\"LT\",((t,e)=>this._getWorkerSource(t,e.type,e.source).loadTile(e))),this.actor.registerMessageHandler(\"RT\",((t,e)=>this._getWorkerSource(t,e.type,e.source).reloadTile(e))),this.actor.registerMessageHandler(\"AT\",((t,e)=>this._getWorkerSource(t,e.type,e.source).abortTile(e))),this.actor.registerMessageHandler(\"RMT\",((t,e)=>this._getWorkerSource(t,e.type,e.source).removeTile(e))),this.actor.registerMessageHandler(\"RS\",((e,r)=>t._(this,void 0,void 0,(function*(){if(!this.workerSources[e]||!this.workerSources[e][r.type]||!this.workerSources[e][r.type][r.source])return;const t=this.workerSources[e][r.type][r.source];delete this.workerSources[e][r.type][r.source],void 0!==t.removeSource&&t.removeSource(r)})))),this.actor.registerMessageHandler(\"RM\",(e=>t._(this,void 0,void 0,(function*(){delete this.layerIndexes[e],delete this.availableImages[e],delete this.workerSources[e],delete this.demWorkerSources[e]})))),this.actor.registerMessageHandler(\"SR\",((e,r)=>t._(this,void 0,void 0,(function*(){this.referrer=r})))),this.actor.registerMessageHandler(\"SRPS\",((t,e)=>this._syncRTLPluginState(t,e))),this.actor.registerMessageHandler(\"IS\",((e,r)=>t._(this,void 0,void 0,(function*(){this.self.importScripts(r)})))),this.actor.registerMessageHandler(\"SI\",((t,e)=>this._setImages(t,e))),this.actor.registerMessageHandler(\"UL\",((e,r)=>t._(this,void 0,void 0,(function*(){this._getLayerIndex(e).update(r.layers,r.removedIds)})))),this.actor.registerMessageHandler(\"SL\",((e,r)=>t._(this,void 0,void 0,(function*(){this._getLayerIndex(e).replace(r)}))))}_setImages(e,r){return t._(this,void 0,void 0,(function*(){this.availableImages[e]=r;for(const t in this.workerSources[e]){const n=this.workerSources[e][t];for(const t in n)n[t].availableImages=r}}))}_syncRTLPluginState(e,r){return t._(this,void 0,void 0,(function*(){if(t.bC.isParsed())return t.bC.getState();if(\"loading\"!==r.pluginStatus)return t.bC.setState(r),r;const e=r.pluginURL;if(this.self.importScripts(e),t.bC.isParsed()){const r={pluginStatus:\"loaded\",pluginURL:e};return t.bC.setState(r),r}throw t.bC.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${e}`)}))}_getAvailableImages(t){let e=this.availableImages[t];return e||(e=[]),e}_getLayerIndex(t){let r=this.layerIndexes[t];return r||(r=this.layerIndexes[t]=new e),r}_getWorkerSource(t,e,r){if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][r]){const n={sendAsync:(e,r)=>(e.targetMapId=t,this.actor.sendAsync(e,r))};switch(e){case\"vector\":this.workerSources[t][e][r]=new a(n,this._getLayerIndex(t),this._getAvailableImages(t));break;case\"geojson\":this.workerSources[t][e][r]=new bt(n,this._getLayerIndex(t),this._getAvailableImages(t));break;default:this.workerSources[t][e][r]=new this.externalWorkerSourceTypes[e](n,this._getLayerIndex(t),this._getAvailableImages(t))}}return this.workerSources[t][e][r]}_getDEMWorkerSource(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new o),this.demWorkerSources[t][e]}}return t.i(self)&&(self.worker=new wt(self)),wt})),r(\"index\",0,(function(t,e){var r=\"4.5.2\";let n,i;const a={now:\"undefined\"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync(t){return new Promise(((r,n)=>{const i=requestAnimationFrame(r);t.signal.addEventListener(\"abort\",(()=>{cancelAnimationFrame(i),n(e.c())}))}))},getImageData(t,e=0){return this.getImageCanvasContext(t).getImageData(-e,-e,t.width+2*e,t.height+2*e)},getImageCanvasContext(t){const e=window.document.createElement(\"canvas\"),r=e.getContext(\"2d\",{willReadFrequently:!0});if(!r)throw new Error(\"failed to create canvas 2d context\");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r},resolveURL(t){return n||(n=document.createElement(\"a\")),n.href=t,n.href},hardwareConcurrency:\"undefined\"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==i&&(i=matchMedia(\"(prefers-reduced-motion: reduce)\")),i.matches)}};class o{static testProp(t){if(!o.docStyle)return t[0];for(let e=0;e{window.removeEventListener(\"click\",o.suppressClickInternal,!0)}),0)}static getScale(t){const e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}static getPoint(t,r,n){const i=r.boundingClientRect;return new e.P((n.clientX-i.left)/r.x-t.clientLeft,(n.clientY-i.top)/r.y-t.clientTop)}static mousePos(t,e){const r=o.getScale(t);return o.getPoint(t,r,e)}static touchPos(t,e){const r=[],n=o.getScale(t);for(let i=0;i{l&&f(l),l=null,h=!0},c.onerror=()=>{u=!0,l=null},c.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(t){let r,n,i,a;t.resetRequestQueue=()=>{r=[],n=0,i=0,a={}},t.addThrottleControl=t=>{const e=i++;return a[e]=t,e},t.removeThrottleControl=t=>{delete a[t],l()};t.getImage=(t,n,i=!0)=>new Promise(((a,o)=>{s.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),e.e(t,{type:\"image\"});const c={abortController:n,requestParameters:t,supportImageRefresh:i,state:\"queued\",onError:t=>{o(t)},onSuccess:t=>{a(t)}};r.push(c),l()}));const o=t=>e._(this,void 0,void 0,(function*(){t.state=\"running\";const{requestParameters:r,supportImageRefresh:i,onError:a,onSuccess:o,abortController:s}=t,u=!1===i&&!e.i(self)&&!e.g(r.url)&&(!r.headers||Object.keys(r.headers).reduce(((t,e)=>t&&\"accept\"===e),!0));n++;const h=u?c(r,s):e.m(r,s);try{const r=yield h;delete t.abortController,t.state=\"completed\",r.data instanceof HTMLImageElement||e.b(r.data)?o(r):r.data&&o({data:yield(f=r.data,\"function\"==typeof createImageBitmap?e.d(f):e.f(f)),cacheControl:r.cacheControl,expires:r.expires})}catch(e){delete t.abortController,a(e)}finally{n--,l()}var f})),l=()=>{const t=(()=>{for(const t of Object.keys(a))if(a[t]())return!0;return!1})()?e.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:e.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let e=n;e0;e++){const t=r.shift();t.abortController.signal.aborted?e--:o(t)}},c=(t,r)=>new Promise(((n,i)=>{const a=new Image,o=t.url,s=t.credentials;s&&\"include\"===s?a.crossOrigin=\"use-credentials\":(s&&\"same-origin\"===s||!e.s(o))&&(a.crossOrigin=\"anonymous\"),r.signal.addEventListener(\"abort\",(()=>{a.src=\"\",i(e.c())})),a.fetchPriority=\"high\",a.onload=()=>{a.onerror=a.onload=null,n({data:a})},a.onerror=()=>{a.onerror=a.onload=null,r.signal.aborted||i(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))},a.src=o}))}(p||(p={})),p.resetRequestQueue();class d{constructor(t){this._transformRequestFn=t}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}setTransformRequest(t){this._transformRequestFn=t}}function m(t){var r=new e.A(3);return r[0]=t[0],r[1]=t[1],r[2]=t[2],r}var g,y=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};g=new e.A(3),e.A!=Float32Array&&(g[0]=0,g[1]=0,g[2]=0);var v=function(t){var e=t[0],r=t[1];return e*e+r*r};function x(t){const e=[];if(\"string\"==typeof t)e.push({id:\"default\",url:t});else if(t&&t.length>0){const r=[];for(const{id:n,url:i}of t){const t=`${n}${i}`;-1===r.indexOf(t)&&(r.push(t),e.push({id:n,url:i}))}}return e}function _(t,e,r){const n=t.split(\"?\");return n[0]+=`${e}${r}`,n.join(\"?\")}function b(t,r,n,i){return e._(this,void 0,void 0,(function*(){const o=x(t),s=n>1?\"@2x\":\"\",l={},c={};for(const{id:t,url:n}of o){const a=r.transformRequest(_(n,s,\".json\"),\"SpriteJSON\");l[t]=e.h(a,i);const o=r.transformRequest(_(n,s,\".png\"),\"SpriteImage\");c[t]=p.getImage(o,i)}return yield Promise.all([...Object.values(l),...Object.values(c)]),function(t,r){return e._(this,void 0,void 0,(function*(){const e={};for(const n in t){e[n]={};const i=a.getImageCanvasContext((yield r[n]).data),o=(yield t[n]).data;for(const t in o){const{width:r,height:a,x:s,y:l,sdf:c,pixelRatio:u,stretchX:h,stretchY:f,content:p,textFitWidth:d,textFitHeight:m}=o[t],g={width:r,height:a,x:s,y:l,context:i};e[n][t]={data:null,pixelRatio:u,sdf:c,stretchX:h,stretchY:f,content:p,textFitWidth:d,textFitHeight:m,spriteData:g}}}return e}))}(l,c)}))}!function(){var t=new e.A(2);e.A!=Float32Array&&(t[0]=0,t[1]=0)}();class w{constructor(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)}update(t,r,n){const{width:i,height:a}=t,o=!(this.size&&this.size[0]===i&&this.size[1]===a||n),{context:s}=this,{gl:l}=s;if(this.useMipmap=Boolean(r&&r.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),s.pixelStoreUnpackFlipY.set(!1),s.pixelStoreUnpack.set(1),s.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!r||!1!==r.premultiply)),o)this.size=[i,a],t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,t):l.texImage2D(l.TEXTURE_2D,0,this.format,i,a,0,this.format,l.UNSIGNED_BYTE,t.data);else{const{x:r,y:o}=n||{x:0,y:0};t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texSubImage2D(l.TEXTURE_2D,0,r,o,l.RGBA,l.UNSIGNED_BYTE,t):l.texSubImage2D(l.TEXTURE_2D,0,r,o,i,a,l.RGBA,l.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D)}bind(t,e,r){const{context:n}=this,{gl:i}=n;i.bindTexture(i.TEXTURE_2D,this.texture),r!==i.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=i.LINEAR),t!==this.filter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,e),this.wrap=e)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:t}=this.context;t.deleteTexture(this.texture),this.texture=null}}function T(t){const{userImage:e}=t;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}class k extends e.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:t,promiseResolve:e}of this.requestors)e(this._getImagesForIds(t));this.requestors=[]}}getImage(t){const r=this.images[t];if(r&&!r.data&&r.spriteData){const t=r.spriteData;r.data=new e.R({width:t.width,height:t.height},t.context.getImageData(t.x,t.y,t.width,t.height).data),r.spriteData=null}return r}addImage(t,e){if(this.images[t])throw new Error(`Image id ${t} already exist, use updateImage instead`);this._validate(t,e)&&(this.images[t]=e)}_validate(t,r){let n=!0;const i=r.data||r.spriteData;return this._validateStretch(r.stretchX,i&&i.width)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"stretchX\" value`))),n=!1),this._validateStretch(r.stretchY,i&&i.height)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"stretchY\" value`))),n=!1),this._validateContent(r.content,r)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"content\" value`))),n=!1),n}_validateStretch(t,e){if(!t)return!0;let r=0;for(const n of t){if(n[0]{let n=!0;if(!this.isLoaded())for(const e of t)this.images[e]||(n=!1);this.isLoaded()||n?e(this._getImagesForIds(t)):this.requestors.push({ids:t,promiseResolve:e})}))}_getImagesForIds(t){const r={};for(const n of t){let t=this.getImage(n);t||(this.fire(new e.k(\"styleimagemissing\",{id:n})),t=this.getImage(n)),t?r[n]={data:t.data.clone(),pixelRatio:t.pixelRatio,sdf:t.sdf,version:t.version,stretchX:t.stretchX,stretchY:t.stretchY,content:t.content,textFitWidth:t.textFitWidth,textFitHeight:t.textFitHeight,hasRenderCallback:Boolean(t.userImage&&t.userImage.render)}:e.w(`Image \"${n}\" could not be loaded. Please make sure you have added the image with map.addImage() or a \"sprite\" property in your style. You can provide missing images by listening for the \"styleimagemissing\" map event.`)}return r}getPixelSize(){const{width:t,height:e}=this.atlasImage;return{width:t,height:e}}getPattern(t){const r=this.patterns[t],n=this.getImage(t);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{const r={w:n.data.width+2,h:n.data.height+2,x:0,y:0},i=new e.I(r,n);this.patterns[t]={bin:r,position:i}}return this._updatePatternAtlas(),this.patterns[t].position}bind(t){const e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new w(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)}_updatePatternAtlas(){const t=[];for(const e in this.patterns)t.push(this.patterns[e].bin);const{w:r,h:n}=e.p(t),i=this.atlasImage;i.resize({width:r||1,height:n||1});for(const t in this.patterns){const{bin:r}=this.patterns[t],n=r.x+1,a=r.y+1,o=this.getImage(t).data,s=o.width,l=o.height;e.R.copy(o,i,{x:0,y:0},{x:n,y:a},{width:s,height:l}),e.R.copy(o,i,{x:0,y:l-1},{x:n,y:a-1},{width:s,height:1}),e.R.copy(o,i,{x:0,y:0},{x:n,y:a+l},{width:s,height:1}),e.R.copy(o,i,{x:s-1,y:0},{x:n-1,y:a},{width:1,height:l}),e.R.copy(o,i,{x:0,y:0},{x:n+s,y:a},{width:1,height:l})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(t){for(const r of t){if(this.callbackDispatchedThisFrame[r])continue;this.callbackDispatchedThisFrame[r]=!0;const t=this.getImage(r);t||e.w(`Image with ID: \"${r}\" was not found`),T(t)&&this.updateImage(r,t)}}}const A=1e20;function M(t,e,r,n,i,a,o,s,l){for(let c=e;c-1);l++,a[l]=s,o[l]=c,o[l+1]=A}for(let s=0,l=0;s65535)throw new Error(\"glyphs > 65535 not supported\");if(e.ranges[i])return{stack:t,id:r,glyph:n};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!e.requests[i]){const r=E.loadGlyphRange(t,i,this.url,this.requestManager);e.requests[i]=r}const a=yield e.requests[i];for(const t in a)this._doesCharSupportLocalGlyph(+t)||(e.glyphs[+t]=a[+t]);return e.ranges[i]=!0,{stack:t,id:r,glyph:a[r]||null}}))}_doesCharSupportLocalGlyph(t){return!!this.localIdeographFontFamily&&(e.u[\"CJK Unified Ideographs\"](t)||e.u[\"Hangul Syllables\"](t)||e.u.Hiragana(t)||e.u.Katakana(t))}_tinySDF(t,r,n){const i=this.localIdeographFontFamily;if(!i)return;if(!this._doesCharSupportLocalGlyph(n))return;let a=t.tinySDF;if(!a){let e=\"400\";/bold/i.test(r)?e=\"900\":/medium/i.test(r)?e=\"500\":/light/i.test(r)&&(e=\"200\"),a=t.tinySDF=new E.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:i,fontWeight:e})}const o=a.draw(String.fromCharCode(n));return{id:n,bitmap:new e.o({width:o.width||60,height:o.height||60},o.data),metrics:{width:o.glyphWidth/2||24,height:o.glyphHeight/2||24,left:o.glyphLeft/2+.5||0,top:o.glyphTop/2-27.5||-8,advance:o.glyphAdvance/2||24,isDoubleResolution:!0}}}}E.loadGlyphRange=function(t,r,n,i){return e._(this,void 0,void 0,(function*(){const a=256*r,o=a+255,s=i.transformRequest(n.replace(\"{fontstack}\",t).replace(\"{range}\",`${a}-${o}`),\"Glyphs\"),l=yield e.l(s,new AbortController);if(!l||!l.data)throw new Error(`Could not load glyph range. range: ${r}, ${a}-${o}`);const c={};for(const t of e.n(l.data))c[t.id]=t;return c}))},E.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:r=8,cutoff:n=.25,fontFamily:i=\"sans-serif\",fontWeight:a=\"normal\",fontStyle:o=\"normal\"}={}){this.buffer=e,this.cutoff=n,this.radius=r;const s=this.size=t+4*e,l=this._createCanvas(s),c=this.ctx=l.getContext(\"2d\",{willReadFrequently:!0});c.font=`${o} ${a} ${t}px ${i}`,c.textBaseline=\"alphabetic\",c.textAlign=\"left\",c.fillStyle=\"black\",this.gridOuter=new Float64Array(s*s),this.gridInner=new Float64Array(s*s),this.f=new Float64Array(s),this.z=new Float64Array(s+1),this.v=new Uint16Array(s)}_createCanvas(t){const e=document.createElement(\"canvas\");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:r,actualBoundingBoxDescent:n,actualBoundingBoxLeft:i,actualBoundingBoxRight:a}=this.ctx.measureText(t),o=Math.ceil(r),s=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a-i))),l=Math.min(this.size-this.buffer,o+Math.ceil(n)),c=s+2*this.buffer,u=l+2*this.buffer,h=Math.max(c*u,0),f=new Uint8ClampedArray(h),p={data:f,width:c,height:u,glyphWidth:s,glyphHeight:l,glyphTop:o,glyphLeft:0,glyphAdvance:e};if(0===s||0===l)return p;const{ctx:d,buffer:m,gridInner:g,gridOuter:y}=this;d.clearRect(m,m,s,l),d.fillText(t,m,m+o);const v=d.getImageData(m,m,s,l);y.fill(A,0,h),g.fill(0,0,h);for(let t=0;t0?t*t:0,g[n]=t<0?t*t:0}}M(y,0,0,c,u,c,this.f,this.v,this.z),M(g,m,m,s,l,c,this.f,this.v,this.z);for(let t=0;t1&&(s=t[++o]);const l=Math.abs(i-s.left),c=Math.abs(i-s.right),u=Math.min(l,c);let h;const f=e/r*(n+1);if(s.isDash){const t=n-Math.abs(f);h=Math.sqrt(u*u+t*t)}else h=n-Math.sqrt(u*u+f*f);this.data[a+i]=Math.max(0,Math.min(255,h+128))}}}addRegularDash(t){for(let e=t.length-1;e>=0;--e){const r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}const e=t[0],r=t[t.length-1];e.isDash===r.isDash&&(e.left=r.left-this.width,r.right=e.right+this.width);const n=this.width*this.nextRow;let i=0,a=t[i];for(let e=0;e1&&(a=t[++i]);const r=Math.abs(e-a.left),o=Math.abs(e-a.right),s=Math.min(r,o),l=a.isDash?s:-s;this.data[n+e]=Math.max(0,Math.min(255,l+128))}}addDash(t,r){const n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return e.w(\"LineAtlas out of space\"),null;let a=0;for(let e=0;e{t.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[F]}numActive(){return Object.keys(this.active).length}}const N=Math.floor(a.hardwareConcurrency/2);let j,U;function V(){return j||(j=new B),j}B.workerCount=e.C(globalThis)?Math.max(Math.min(N,3),1):1;class q{constructor(t,r){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=r;const n=this.workerPool.acquire(r);for(let t=0;t{t.remove()})),this.actors=[],t&&this.workerPool.release(this.id)}registerMessageHandler(t,e){for(const r of this.actors)r.registerMessageHandler(t,e)}}function H(){return U||(U=new q(V(),e.G),U.registerMessageHandler(\"GR\",((t,r,n)=>e.m(r,n)))),U}function G(t,r){const n=e.H();return e.J(n,n,[1,1,0]),e.K(n,n,[.5*t.width,.5*t.height,1]),e.L(n,n,t.calculatePosMatrix(r.toUnwrapped()))}function Z(t,e,r,n,i,a){const o=function(t,e,r){if(t)for(const n of t){const t=e[n];if(t&&t.source===r&&\"fill-extrusion\"===t.type)return!0}else for(const t in e){const n=e[t];if(n.source===r&&\"fill-extrusion\"===n.type)return!0}return!1}(i&&i.layers,e,t.id),s=a.maxPitchScaleFactor(),l=t.tilesIn(n,s,o);l.sort(W);const c=[];for(const n of l)c.push({wrappedTileID:n.tileID.wrapped().key,queryResults:n.tile.queryRenderedFeatures(e,r,t._state,n.queryGeometry,n.cameraQueryGeometry,n.scale,i,a,s,G(t.transform,n.tileID))});const u=function(t){const e={},r={};for(const n of t){const t=n.queryResults,i=n.wrappedTileID,a=r[i]=r[i]||{};for(const r in t){const n=t[r],i=a[r]=a[r]||{},o=e[r]=e[r]||[];for(const t of n)i[t.featureIndex]||(i[t.featureIndex]=!0,o.push(t))}}return e}(c);for(const e in u)u[e].forEach((e=>{const r=e.feature,n=t.getFeatureState(r.layer[\"source-layer\"],r.id);r.source=r.layer.source,r.layer[\"source-layer\"]&&(r.sourceLayer=r.layer[\"source-layer\"]),r.state=n}));return u}function W(t,e){const r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}function Y(t,r,n){return e._(this,void 0,void 0,(function*(){let i=t;if(t.url?i=(yield e.h(r.transformRequest(t.url,\"Source\"),n)).data:yield a.frameAsync(n),!i)return null;const o=e.M(e.e(i,t),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return\"vector_layers\"in i&&i.vector_layers&&(o.vectorLayerIds=i.vector_layers.map((t=>t.id))),o}))}class X{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):Array.isArray(t)&&(4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1])))}setNorthEast(t){return this._ne=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}setSouthWest(t){return this._sw=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}extend(t){const r=this._sw,n=this._ne;let i,a;if(t instanceof e.N)i=t,a=t;else{if(!(t instanceof X)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){const e=t;return this.extend(X.convert(e))}{const r=t;return this.extend(e.N.convert(r))}}return t&&(\"lng\"in t||\"lon\"in t)&&\"lat\"in t?this.extend(e.N.convert(t)):this}if(i=t._sw,a=t._ne,!i||!a)return this}return r||n?(r.lng=Math.min(i.lng,r.lng),r.lat=Math.min(i.lat,r.lat),n.lng=Math.max(a.lng,n.lng),n.lat=Math.max(a.lat,n.lat)):(this._sw=new e.N(i.lng,i.lat),this._ne=new e.N(a.lng,a.lat)),this}getCenter(){return new e.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new e.N(this.getWest(),this.getNorth())}getSouthEast(){return new e.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(t){const{lng:r,lat:n}=e.N.convert(t),i=this._sw.lat<=n&&n<=this._ne.lat;let a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a}static convert(t){return t instanceof X?t:t?new X(t):t}static fromLngLat(t,r=0){const n=360*r/40075017,i=n/Math.cos(Math.PI/180*t.lat);return new X(new e.N(t.lng-i,t.lat-n),new e.N(t.lng+i,t.lat+n))}}class ${constructor(t,e,r){this.bounds=X.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=r||24}validateBounds(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(t){const r=Math.pow(2,t.z),n=Math.floor(e.O(this.bounds.getWest())*r),i=Math.floor(e.Q(this.bounds.getNorth())*r),a=Math.ceil(e.O(this.bounds.getEast())*r),o=Math.ceil(e.Q(this.bounds.getSouth())*r);return t.x>=n&&t.x=i&&t.y{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return e.e({},this._options)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),r={request:this.map._requestManager.transformRequest(e,\"Tile\"),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};r.request.collectResourceTiming=this._collectResourceTiming;let n=\"RT\";if(t.actor&&\"expired\"!==t.state){if(\"loading\"===t.state)return new Promise(((e,r)=>{t.reloadPromise={resolve:e,reject:r}}))}else t.actor=this.dispatcher.getActor(),n=\"LT\";t.abortController=new AbortController;try{const e=yield t.actor.sendAsync({type:n,data:r},t.abortController);if(delete t.abortController,t.aborted)return;this._afterTileLoadWorkerResponse(t,e)}catch(e){if(delete t.abortController,t.aborted)return;if(e&&404!==e.status)throw e;this._afterTileLoadWorkerResponse(t,null)}}))}_afterTileLoadWorkerResponse(t,e){if(e&&e.resourceTiming&&(t.resourceTiming=e.resourceTiming),e&&this.map._refreshExpiredTiles&&t.setExpiryData(e),t.loadVectorData(e,this.map.painter),t.reloadPromise){const e=t.reloadPromise;t.reloadPromise=null,this.loadTile(t).then(e.resolve).catch(e.reject)}}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.actor&&(yield t.actor.sendAsync({type:\"AT\",data:{uid:t.uid,type:this.type,source:this.id}}))}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),t.actor&&(yield t.actor.sendAsync({type:\"RMT\",data:{uid:t.uid,type:this.type,source:this.id}}))}))}hasTransition(){return!1}}class K extends e.E{constructor(t,r,n,i){super(),this.id=t,this.dispatcher=n,this.setEventedParent(i),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=e.e({type:\"raster\"},r),e.e(this,e.M(r,[\"url\",\"scheme\",\"tileSize\"]))}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{const t=yield Y(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,t&&(e.e(this,t),t.bounds&&(this.tileBounds=new $(t.bounds,this.minzoom,this.maxzoom)),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(t){this._tileJSONRequest=null,this.fire(new e.j(t))}}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(t){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),t(),this.load()}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}serialize(){return e.e({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);t.abortController=new AbortController;try{const r=yield p.getImage(this.map._requestManager.transformRequest(e,\"Tile\"),t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state=\"unloaded\");if(r&&r.data){this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&t.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});const e=this.map.painter.context,n=e.gl,i=r.data;t.texture=this.map.painter.getTileTexture(i.width),t.texture?t.texture.update(i,{useMipmap:!0}):(t.texture=new w(e,i,n.RGBA,{useMipmap:!0}),t.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE,n.LINEAR_MIPMAP_NEAREST)),t.state=\"loaded\"}}catch(e){if(delete t.abortController,t.aborted)t.state=\"unloaded\";else if(e)throw t.state=\"errored\",e}}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController)}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.texture&&this.map.painter.saveTileTexture(t.texture)}))}hasTransition(){return!1}}class Q extends K{constructor(t,r,n,i){super(t,r,n,i),this.type=\"raster-dem\",this.maxzoom=22,this._options=e.e({type:\"raster-dem\"},r),this.encoding=r.encoding||\"mapbox\",this.redFactor=r.redFactor,this.greenFactor=r.greenFactor,this.blueFactor=r.blueFactor,this.baseShift=r.baseShift}loadTile(t){return e._(this,void 0,void 0,(function*(){const r=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n=this.map._requestManager.transformRequest(r,\"Tile\");t.neighboringTiles=this._getNeighboringTiles(t.tileID),t.abortController=new AbortController;try{const r=yield p.getImage(n,t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state=\"unloaded\");if(r&&r.data){const n=r.data;this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&t.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});const i=e.b(n)&&e.U()?n:yield this.readImageNow(n),a={type:this.type,uid:t.uid,source:this.id,rawImageData:i,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!t.actor||\"expired\"===t.state){t.actor=this.dispatcher.getActor();const e=yield t.actor.sendAsync({type:\"LDT\",data:a});t.dem=e,t.needsHillshadePrepare=!0,t.needsTerrainPrepare=!0,t.state=\"loaded\"}}}catch(e){if(delete t.abortController,t.aborted)t.state=\"unloaded\";else if(e)throw t.state=\"errored\",e}}))}readImageNow(t){return e._(this,void 0,void 0,(function*(){if(\"undefined\"!=typeof VideoFrame&&e.V()){const r=t.width+2,n=t.height+2;try{return new e.R({width:r,height:n},yield e.W(t,-1,-1,r,n))}catch(t){}}return a.getImageData(t,1)}))}_getNeighboringTiles(t){const r=t.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?t.wrap-1:t.wrap,o=(r.x+1+n)%n,s=r.x+1===n?t.wrap+1:t.wrap,l={};return l[new e.S(t.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new e.S(t.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new e.S(t.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,t.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&e.e(i,{resourceTiming:n}),this.fire(new e.k(\"data\",Object.assign(Object.assign({},i),{sourceDataType:\"metadata\"}))),this.fire(new e.k(\"data\",Object.assign(Object.assign({},i),{sourceDataType:\"content\"})))}catch(t){if(this._pendingLoads--,this._removed)return void this.fire(new e.k(\"dataabort\",{dataType:\"source\"}));this.fire(new e.j(t))}}))}loaded(){return 0===this._pendingLoads}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.actor?\"RT\":\"LT\";t.actor=this.actor;const r={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.abortController=new AbortController;const n=yield this.actor.sendAsync({type:e,data:r},t.abortController);delete t.abortController,t.unloadVectorData(),t.aborted||t.loadVectorData(n,this.map.painter,\"RT\"===e)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.aborted=!0}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:t.uid,type:this.type,source:this.id}})}))}onRemove(){this._removed=!0,this.actor.sendAsync({type:\"RS\",data:{type:this.type,source:this.id}})}serialize(){return e.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var et=e.Y([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class rt extends e.E{constructor(t,e,r,n){super(),this.id=t,this.dispatcher=r,this.coordinates=e.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(n),this.options=e}load(t){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{const e=yield p.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,e&&e.data&&(this.image=e.data,t&&(this.coordinates=t),this._finishLoading())}catch(t){this._request=null,this._loaded=!0,this.fire(new e.j(t))}}))}loaded(){return this._loaded}updateImage(t){return t.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=t.url,this.load(t.coordinates).finally((()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(t){this.map=t,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(t){this.coordinates=t;const r=t.map(e.Z.fromLngLat);this.tileID=function(t){let r=1/0,n=1/0,i=-1/0,a=-1/0;for(const e of t)r=Math.min(r,e.x),n=Math.min(n,e.y),i=Math.max(i,e.x),a=Math.max(a,e.y);const o=i-r,s=a-n,l=Math.max(o,s),c=Math.max(0,Math.floor(-Math.log(l)/Math.LN2)),u=Math.pow(2,c);return new e.a1(c,Math.floor((r+i)/2*u),Math.floor((n+a)/2*u))}(r),this.minzoom=this.maxzoom=this.tileID.z;const n=r.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new e.$,this._boundsArray.emplaceBack(n[0].x,n[0].y,0,0),this._boundsArray.emplaceBack(n[1].x,n[1].y,e.X,0),this._boundsArray.emplaceBack(n[3].x,n[3].y,0,e.X),this._boundsArray.emplaceBack(n[2].x,n[2].y,e.X,e.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const t=this.map.painter.context,r=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,et.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new w(t,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,n=!0)}n&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}loadTile(t){return e._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={}):t.state=\"errored\"}))}serialize(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class nt extends rt{constructor(t,e,r,n){super(t,e,r,n),this.roundZoom=!0,this.type=\"video\",this.options=e}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1;const t=this.options;this.urls=[];for(const e of t.urls)this.urls.push(this.map._requestManager.transformRequest(e,\"Source\").url);try{const t=yield e.a3(this.urls);if(this._loaded=!0,!t)return;this.video=t,this.video.loop=!0,this.video.addEventListener(\"playing\",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading()}catch(t){this.fire(new e.j(t))}}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(t){if(this.video){const r=this.video.seekable;tr.end(0)?this.fire(new e.j(new e.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${r.start(0)} and ${r.end(0)}-second mark.`))):this.video.currentTime=t}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const t=this.map.painter.context,r=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,et.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new w(t,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,n=!0)}n&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class it extends rt{constructor(t,r,n,i){super(t,r,n,i),r.coordinates?Array.isArray(r.coordinates)&&4===r.coordinates.length&&!r.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>\"number\"!=typeof t))))||this.fire(new e.j(new e.a2(`sources.${t}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.j(new e.a2(`sources.${t}`,null,'missing required property \"coordinates\"'))),r.animate&&\"boolean\"!=typeof r.animate&&this.fire(new e.j(new e.a2(`sources.${t}`,null,'optional \"animate\" property must be a boolean value'))),r.canvas?\"string\"==typeof r.canvas||r.canvas instanceof HTMLCanvasElement||this.fire(new e.j(new e.a2(`sources.${t}`,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.j(new e.a2(`sources.${t}`,null,'missing required property \"canvas\"'))),this.options=r,this.animate=void 0===r.animate||r.animate}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new e.j(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())}))}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const r=this.map.painter.context,n=r.gl;this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,et.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new w(r,this.canvas,n.RGBA,{premultiply:!0});let i=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,i=!0)}i&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of[this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return!0;return!1}}const at={},ot=t=>{switch(t){case\"geojson\":return tt;case\"image\":return rt;case\"raster\":return K;case\"raster-dem\":return Q;case\"vector\":return J;case\"video\":return nt;case\"canvas\":return it}return at[t]};const st=\"RTLPluginLoaded\";class lt extends e.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=H()}_syncState(t){return this.status=t,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:t,pluginURL:this.url}).catch((t=>{throw this.status=\"error\",t}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null}setRTLTextPlugin(t){return e._(this,arguments,void 0,(function*(t,e=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=a.resolveURL(t),!this.url)throw new Error(`requested url ${t} is invalid`);if(\"unavailable\"===this.status){if(!e)return this._requestImport();this.status=\"deferred\",this._syncState(this.status)}else if(\"requested\"===this.status)return this._requestImport()}))}_requestImport(){return e._(this,void 0,void 0,(function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new e.k(st))}))}lazyLoad(){\"unavailable\"===this.status?this.status=\"requested\":\"deferred\"===this.status&&this._requestImport()}}let ct=null;function ut(){return ct||(ct=new lt),ct}class ht{constructor(t,r){this.timeAdded=0,this.fadeEndTime=0,this.tileID=t,this.uid=e.a4(),this.uses=0,this.tileSize=r,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\"}registerFadeDuration(t){const e=t+this.timeAdded;ee.getLayer(t))).filter(Boolean);if(0!==t.length){n.layers=t,n.stateDependentLayerIds&&(n.stateDependentLayers=n.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)r[e.id]=n}}return r}(t.buckets,r.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const r=this.buckets[t];if(r instanceof e.a6){if(this.hasSymbolBuckets=!0,!n)break;r.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const t in this.buckets){const r=this.buckets[t];if(r instanceof e.a6&&r.hasRTLText){this.hasRTLText=!0,ut().lazyLoad();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,r.style.getLayer(t).queryRadius(e))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new e.a5}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const r=this.buckets[e];r.uploadPending()&&r.upload(t)}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new w(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new w(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null)}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)}queryRenderedFeatures(t,e,r,n,i,a,o,s,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:o,queryPadding:this.queryPadding*l},t,e,r):{}}querySourceFeatures(t,r){const n=this.latestFeatureIndex;if(!n||!n.rawTileData)return;const i=n.loadVTLayers(),a=r&&r.sourceLayer?r.sourceLayer:\"\",o=i._geojsonTileLayer||i[a];if(!o)return;const s=e.a7(r&&r.filter),{z:l,x:c,y:u}=this.tileID.canonical,h={z:l,x:c,y:u};for(let r=0;rt)e=!1;else if(r)if(this.expirationTime{this.remove(t,i)}),r)),this.data[n].push(i),this.order.push(n),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}filter(t){const e=[];for(const r in this.data)for(const n of this.data[r])t(n.value)||e.push(n);for(const t of e)this.remove(t.value.tileID,t)}}class pt{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(t,r,n){const i=String(r);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][i]=this.stateChanges[t][i]||{},e.e(this.stateChanges[t][i],n),null===this.deletedStates[t]){this.deletedStates[t]={};for(const e in this.state[t])e!==i&&(this.deletedStates[t][e]=null)}else if(this.deletedStates[t]&&null===this.deletedStates[t][i]){this.deletedStates[t][i]={};for(const e in this.state[t][i])n[e]||(this.deletedStates[t][i][e]=null)}else for(const e in n)this.deletedStates[t]&&this.deletedStates[t][i]&&null===this.deletedStates[t][i][e]&&delete this.deletedStates[t][i][e]}removeFeatureState(t,e,r){if(null===this.deletedStates[t])return;const n=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},r&&void 0!==e)null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][n])for(r in this.deletedStates[t][n]={},this.stateChanges[t][n])this.deletedStates[t][n][r]=null;else this.deletedStates[t][n]=null;else this.deletedStates[t]=null}getState(t,r){const n=String(r),i=this.state[t]||{},a=this.stateChanges[t]||{},o=e.e({},i[n],a[n]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){const e=this.deletedStates[t][r];if(null===e)return{};for(const t in e)delete o[t]}return o}initializeTileState(t,e){t.setFeatureState(this.state,e)}coalesceChanges(t,r){const n={};for(const t in this.stateChanges){this.state[t]=this.state[t]||{};const r={};for(const n in this.stateChanges[t])this.state[t][n]||(this.state[t][n]={}),e.e(this.state[t][n],this.stateChanges[t][n]),r[n]=this.state[t][n];n[t]=r}for(const t in this.deletedStates){this.state[t]=this.state[t]||{};const r={};if(null===this.deletedStates[t])for(const e in this.state[t])r[e]={},this.state[t][e]={};else for(const e in this.deletedStates[t]){if(null===this.deletedStates[t][e])this.state[t][e]={};else for(const r of Object.keys(this.deletedStates[t][e]))delete this.state[t][e][r];r[e]=this.state[t][e]}n[t]=n[t]||{},e.e(n[t],r)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(n).length)for(const e in t)t[e].setFeatureState(n,r)}}class dt extends e.E{constructor(t,e,r){super(),this.id=t,this.dispatcher=r,this.on(\"data\",(t=>this._dataHandler(t))),this.on(\"dataloading\",(()=>{this._sourceErrored=!1})),this.on(\"error\",(()=>{this._sourceErrored=this._source.loaded()})),this._source=((t,e,r,n)=>{const i=new(ot(e.type))(t,e,r,n);if(i.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${i.id}`);return i})(t,e,r,this),this._tiles={},this._cache=new ft(0,(t=>this._unloadTile(t))),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new pt,this._didEmitContent=!1,this._updated=!1}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._maxTileCacheZoomLevels=t?t._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(t)}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;if(!(void 0===this.used&&void 0===this.usedForTerrain||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(const t in this._tiles){const e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(t,r,n){return e._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(t),this._tileLoaded(t,r,n)}catch(r){t.state=\"errored\",404!==r.status?this._source.fire(new e.j(r,{tile:t})):this.update(this.transform,this.terrain)}}))}_unloadTile(t){this._source.unloadTile&&this._source.unloadTile(t)}_abortTile(t){this._source.abortTile&&this._source.abortTile(t),this._source.fire(new e.k(\"dataabort\",{tile:t,coord:t.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const r=this._tiles[e];r.upload(t),r.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(mt).map((t=>t.key))}getRenderableIds(t){const r=[];for(const e in this._tiles)this._isIdRenderable(e,t)&&r.push(this._tiles[e]);return t?r.sort(((t,r)=>{const n=t.tileID,i=r.tileID,a=new e.P(n.canonical.x,n.canonical.y)._rotate(this.transform.angle),o=new e.P(i.canonical.x,i.canonical.y)._rotate(this.transform.angle);return n.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})).map((t=>t.tileID.key)):r.map((t=>t.tileID)).sort(mt).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const t in this._tiles)\"errored\"!==this._tiles[t].state&&this._reloadTile(t,\"reloading\")}}_reloadTile(t,r){return e._(this,void 0,void 0,(function*(){const e=this._tiles[t];e&&(\"loading\"!==e.state&&(e.state=r),yield this._loadTile(e,t,r))}))}_tileLoaded(t,r,n){t.timeAdded=a.now(),\"expired\"===n&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(r,t),\"raster-dem\"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),t.aborted||this._source.fire(new e.k(\"data\",{dataType:\"source\",tile:t,coord:t.tileID}))}_backfillDEM(t){const e=this.getRenderableIds();for(let n=0;n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,r,n){for(const i in this._tiles){let a=this._tiles[i];if(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)continue;let o=a.tileID;for(;a&&a.tileID.overscaledZ>e+1;){const t=a.tileID.scaledTo(a.tileID.overscaledZ-1);a=this._tiles[t.key],a&&a.hasData()&&(o=t)}let s=o;for(;s.overscaledZ>e;)if(s=s.scaledTo(s.overscaledZ-1),t[s.key]){n[o.key]=o;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(let r=t.overscaledZ-1;r>=e;r--){const e=t.scaledTo(r),n=this._getLoadedTile(e);if(n)return n}}findLoadedSibling(t){return this._getLoadedTile(t)}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const r=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),n=null===this._maxTileCacheZoomLevels?e.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels,i=Math.floor(r*n),a=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,i):i;this._cache.setMaxSize(a)}handleWrapJump(t){const e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){const t={};for(const e in this._tiles){const n=this._tiles[e];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+r),t[n.tileID.key]=n}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles){const e=this._tiles[t];this._setTileReloadTimer(t,e)}}}_updateCoveredAndRetainedTiles(t,e,r,n,i,o){const s={},l={},c=Object.keys(t),u=a.now();for(const r of c){const n=t[r],i=this._tiles[r];if(!i||0!==i.fadeEndTime&&i.fadeEndTime<=u)continue;const a=this.findLoadedParent(n,e),o=this.findLoadedSibling(n),c=a||o||null;c&&(this._addTile(c.tileID),s[c.tileID.key]=c.tileID),l[r]=n}this._retainLoadedChildren(l,n,r,t);for(const e in s)t[e]||(this._coveredTiles[e]=!0,t[e]=s[e]);if(o){const e={},r={};for(const t of i)this._tiles[t.key].hasData()?e[t.key]=t:r[t.key]=t;for(const n in r){const i=r[n].children(this._source.maxzoom);this._tiles[i[0].key]&&this._tiles[i[1].key]&&this._tiles[i[2].key]&&this._tiles[i[3].key]&&(e[i[0].key]=t[i[0].key]=i[0],e[i[1].key]=t[i[1].key]=i[1],e[i[2].key]=t[i[2].key]=i[2],e[i[3].key]=t[i[3].key]=i[3],delete r[n])}for(const n in r){const i=r[n],a=this.findLoadedParent(i,this._source.minzoom),o=this.findLoadedSibling(i),s=a||o||null;if(s){e[s.tileID.key]=t[s.tileID.key]=s.tileID;for(const t in e)e[t].isChildOf(s.tileID)&&delete e[t]}}for(const t in this._tiles)e[t]||(this._coveredTiles[t]=!0)}}update(t,r){if(!this._sourceLoaded||this._paused)return;let n;this.transform=t,this.terrain=r,this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new e.S(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y))):(n=t.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:r}),this._source.hasTile&&(n=n.filter((t=>this._source.hasTile(t))))):n=[];const i=t.coveringZoomLevel(this._source),a=Math.max(i-dt.maxOverzooming,this._source.minzoom),o=Math.max(i+dt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of n)if(e.canonical.z>this._source.minzoom){const r=e.scaledTo(e.canonical.z-1);t[r.key]=r;const n=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[n.key]=n}n=n.concat(Object.values(t))}const s=0===n.length&&!this._updated&&this._didEmitContent;this._updated=!0,s&&this.fire(new e.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));const l=this._updateRetainedTiles(n,i);gt(this._source.type)&&this._updateCoveredAndRetainedTiles(l,a,o,i,n,r);for(const t in l)this._tiles[t].clearFadeHold();const c=e.ac(this._tiles,l);for(const t of c){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)}_updateRetainedTiles(t,e){var r;const n={},i={},a=Math.max(e-dt.maxOverzooming,this._source.minzoom),o=Math.max(e+dt.maxUnderzooming,this._source.minzoom),s={};for(const r of t){const t=this._addTile(r);n[r.key]=r,t.hasData()||ethis._source.maxzoom){const t=o.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){n[t.key]=t;continue}}else{const t=o.children(this._source.maxzoom);if(n[t[0].key]&&n[t[1].key]&&n[t[2].key]&&n[t[3].key])continue}let s=t.wasRequested();for(let e=o.overscaledZ-1;e>=a;--e){const a=o.scaledTo(e);if(i[a.key])break;if(i[a.key]=!0,t=this.getTile(a),!t&&s&&(t=this._addTile(a)),t){const e=t.hasData();if((e||!(null===(r=this.map)||void 0===r?void 0:r.cancelPendingTileRequestsWhileZooming)||s)&&(n[a.key]=a),s=t.wasRequested(),e)break}}}return n}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let r,n=this._tiles[t].tileID;for(;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);const t=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(t),r)break;n=t}for(const t of e)this._loadedParentTiles[t]=r}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(const t in this._tiles){const e=this._tiles[t].tileID,r=this._getLoadedTile(e);this._loadedSiblingTiles[e.key]=r}}_addTile(t){let r=this._tiles[t.key];if(r)return r;r=this._cache.getAndRemove(t),r&&(this._setTileReloadTimer(t.key,r),r.tileID=t,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,r)));const n=r;return r||(r=new ht(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(r,t.key,r.state)),r.uses++,this._tiles[t.key]=r,n||this._source.fire(new e.k(\"dataloading\",{tile:r,coord:r.tileID,dataType:\"source\"})),r}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const r=e.getExpiryTimeout();r&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,\"expired\"),delete this._timers[t]}),r))}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))}_dataHandler(t){const e=t.sourceDataType;\"source\"===t.dataType&&\"metadata\"===e&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&\"source\"===t.dataType&&\"content\"===e&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset()}tilesIn(t,r,n){const i=[],a=this.transform;if(!a)return i;const o=n?a.getCameraQueryGeometry(t):t,s=t.map((t=>a.pointCoordinate(t,this.terrain))),l=o.map((t=>a.pointCoordinate(t,this.terrain))),c=this.getIds();let u=1/0,h=1/0,f=-1/0,p=-1/0;for(const t of l)u=Math.min(u,t.x),h=Math.min(h,t.y),f=Math.max(f,t.x),p=Math.max(p,t.y);for(let t=0;t=0&&g[1].y+m>=0){const t=s.map((t=>o.getTilePoint(t))),e=l.map((t=>o.getTilePoint(t)));i.push({tile:n,tileID:o,queryGeometry:t,cameraQueryGeometry:e,scale:d})}}return i}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.posMatrix=this.transform.calculatePosMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return!0;if(gt(this._source.type)){const t=a.now();for(const e in this._tiles)if(this._tiles[e].fadeEndTime>=t)return!0}return!1}setFeatureState(t,e,r){t=t||\"_geojsonTileLayer\",this._state.updateState(t,e,r)}removeFeatureState(t,e,r){t=t||\"_geojsonTileLayer\",this._state.removeFeatureState(t,e,r)}getFeatureState(t,e){return t=t||\"_geojsonTileLayer\",this._state.getState(t,e)}setDependencies(t,e,r){const n=this._tiles[t];n&&n.setDependencies(e,r)}reloadTilesForDependencies(t,e){for(const r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,\"reloading\");this._cache.filter((r=>!r.hasDependency(t,e)))}}function mt(t,e){const r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function gt(t){return\"raster\"===t||\"image\"===t||\"video\"===t}dt.maxOverzooming=10,dt.maxUnderzooming=3;class yt{constructor(t,e){this.reset(t,e)}reset(t,e){this.points=t||[],this._distances=[0];for(let t=1;t0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))}}function vt(t,e){let r=!0;return\"always\"===t||\"never\"!==t&&\"never\"!==e||(r=!1),r}class xt{constructor(t,e,r){const n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(let t=0;tthis.width||n<0||e>this.height)return[];const s=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return[{key:null,x1:t,y1:e,x2:r,y2:n}];for(let t=0;t0}hitTestCircle(t,e,r,n,i){const a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!1;const c=[],u={hitTest:!0,overlapMode:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,c,u,i),c.length>0}_queryCell(t,e,r,n,i,a,o,s){const{seenUids:l,hitTest:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){const i=this.bboxes;for(const o of h)if(!l.box[o]){l.box[o]=!0;const h=4*o,f=this.boxKeys[o];if(t<=i[h+2]&&e<=i[h+3]&&r>=i[h+0]&&n>=i[h+1]&&(!s||s(f))&&(!c||!vt(u,f.overlapMode))&&(a.push({key:f,x1:i[h],y1:i[h+1],x2:i[h+2],y2:i[h+3]}),c))return!0}}const f=this.circleCells[i];if(null!==f){const i=this.circles;for(const o of f)if(!l.circle[o]){l.circle[o]=!0;const h=3*o,f=this.circleKeys[o];if(this._circleAndRectCollide(i[h],i[h+1],i[h+2],t,e,r,n)&&(!s||s(f))&&(!c||!vt(u,f.overlapMode))){const t=i[h],e=i[h+1],r=i[h+2];if(a.push({key:f,x1:t-r,y1:e-r,x2:t+r,y2:e+r}),c)return!0}}}return!1}_queryCellCircle(t,e,r,n,i,a,o,s){const{circle:l,seenUids:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){const t=this.bboxes;for(const e of h)if(!c.box[e]){c.box[e]=!0;const r=4*e,n=this.boxKeys[e];if(this._circleAndRectCollide(l.x,l.y,l.radius,t[r+0],t[r+1],t[r+2],t[r+3])&&(!s||s(n))&&!vt(u,n.overlapMode))return a.push(!0),!0}}const f=this.circleCells[i];if(null!==f){const t=this.circles;for(const e of f)if(!c.circle[e]){c.circle[e]=!0;const r=3*e,n=this.circleKeys[e];if(this._circlesCollide(t[r],t[r+1],t[r+2],l.x,l.y,l.radius)&&(!s||s(n))&&!vt(u,n.overlapMode))return a.push(!0),!0}}}_forEachCell(t,e,r,n,i,a,o,s){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),h=this._convertToYCellCoord(n);for(let f=l;f<=u;f++)for(let l=c;l<=h;l++){const c=this.xCellCount*l+f;if(i.call(this,t,e,r,n,c,a,o,s))return}}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,r,n,i,a){const o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s}_circleAndRectCollide(t,e,r,n,i,a,o){const s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;const c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;const h=l-s,f=u-c;return h*h+f*f<=r*r}}function _t(t,r,n,i,a){const o=e.H();return r?(e.K(o,o,[1/a,1/a,1]),n||e.ae(o,o,i.angle)):e.L(o,i.labelPlaneMatrix,t),o}function bt(t,r,n,i,a){if(r){const r=e.af(t);return e.K(r,r,[a,a,1]),n||e.ae(r,r,-i.angle),r}return i.glCoordMatrix}function wt(t,r,n){let i;n?(i=[t.x,t.y,n(t.x,t.y),1],e.ag(i,i,r)):(i=[t.x,t.y,0,1],function(t,e,r){const n=e[0],i=e[1];t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t[3]=r[3]*n+r[7]*i+r[15]}(i,i,r));const a=i[3];return{point:new e.P(i[0]/a,i[1]/a),signedDistanceFromCamera:a,isOccluded:!1}}function Tt(t,e){return.5+t/e*.5}function kt(t,e){return t.x>=-e[0]&&t.x<=e[0]&&t.y>=-e[1]&&t.y<=e[1]}function At(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m){const g=i?t.textSizeData:t.iconSizeData,y=e.ah(g,n.transform.zoom),v=[256/n.width*2+1,256/n.height*2+1],x=i?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;x.clear();const _=t.lineVertexArray,b=i?t.text.placedSymbolArray:t.icon.placedSymbolArray,w=n.transform.width/n.transform.height;let T=!1;for(let i=0;iMath.abs(n.x-r.x)*i?{useVertical:!0}:(t===e.ai.vertical?r.yn.x)?{needsFlipping:!0}:null}function Et(t,r,n,i,a,o,s,l,c,u,h){const f=n/24,p=r.lineOffsetX*f,d=r.lineOffsetY*f;let m;if(r.numGlyphs>1){const e=r.glyphStartIndex+r.numGlyphs,n=r.lineStartIndex,o=r.lineStartIndex+r.lineLength,c=Mt(f,l,p,d,i,r,h,t);if(!c)return{notEnoughRoom:!0};const g=wt(c.first.point,s,t.getElevation).point,y=wt(c.last.point,s,t.getElevation).point;if(a&&!i){const t=St(r.writingMode,g,y,u);if(t)return t}m=[c.first];for(let a=r.glyphStartIndex+1;a0?s.point:function(t,e,r,n,i,a){return Ct(t,e,r,n,i,a)}(t.tileAnchorPoint,a,n,1,o,t),c=St(r.writingMode,n,l,u);if(c)return c}const n=Ot(f*l.getoffsetX(r.glyphStartIndex),p,d,i,r.segment,r.lineStartIndex,r.lineStartIndex+r.lineLength,t,h);if(!n||t.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};m=[n]}for(const t of m)e.ak(c,t.point,t.angle);return{}}function Ct(t,e,r,n,i,a){const o=t.add(t.sub(e)._unit()),s=void 0!==i?wt(o,i,a.getElevation).point:It(o.x,o.y,a).point,l=r.sub(s);return r.add(l._mult(n/l.mag()))}function Lt(t,r,n){const i=r.projectionCache;if(i.projections[t])return i.projections[t];const a=new e.P(r.lineVertexArray.getx(t),r.lineVertexArray.gety(t)),o=It(a.x,a.y,r);if(o.signedDistanceFromCamera>0)return i.projections[t]=o.point,i.anyProjectionOccluded=i.anyProjectionOccluded||o.isOccluded,o.point;const s=t-n.direction,l=0===n.distanceFromAnchor?r.tileAnchorPoint:new e.P(r.lineVertexArray.getx(s),r.lineVertexArray.gety(s)),c=n.absOffsetX-n.distanceFromAnchor+1;return function(t,e,r,n,i){return Ct(t,e,r,n,void 0,i)}(l,a,n.previousVertex,c,r)}function It(t,r,n){const i=t+n.translation[0],a=r+n.translation[1];let o;return!n.pitchWithMap&&n.projection.useSpecialProjectionForSymbols?(o=n.projection.projectTileCoordinates(i,a,n.unwrappedTileID,n.getElevation),o.point.x=(.5*o.point.x+.5)*n.width,o.point.y=(.5*-o.point.y+.5)*n.height):(o=wt(new e.P(i,a),n.labelPlaneMatrix,n.getElevation),o.isOccluded=!1),o}function Pt(t,e,r){return t._unit()._perp()._mult(e*r)}function zt(t,r,n,i,a,o,s,l,c){if(l.projectionCache.offsets[t])return l.projectionCache.offsets[t];const u=n.add(r);if(t+c.direction=a)return l.projectionCache.offsets[t]=u,u;const h=Lt(t+c.direction,l,c),f=Pt(h.sub(n),s,c.direction),p=n.add(f),d=h.add(f);return l.projectionCache.offsets[t]=e.al(o,u,p,d)||u,l.projectionCache.offsets[t]}function Ot(t,e,r,n,i,a,o,s,l){const c=n?t-e:t+e;let u=c>0?1:-1,h=0;n&&(u*=-1,h=Math.PI),u<0&&(h+=Math.PI);let f,p=u>0?a+i:a+i+1;s.projectionCache.cachedAnchorPoint?f=s.projectionCache.cachedAnchorPoint:(f=It(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=f);let d,m,g=f,y=f,v=0,x=0;const _=Math.abs(c),b=[];let w;for(;v+x<=_;){if(p+=u,p=o)return null;v+=x,y=g,m=d;const t={absOffsetX:_,direction:u,distanceFromAnchor:v,previousVertex:y};if(g=Lt(p,s,t),0===r)b.push(y),w=g.sub(y);else{let e;const n=g.sub(y);e=0===n.mag()?Pt(Lt(p+u,s,t).sub(g),r,u):Pt(n,r,u),m||(m=y.add(e)),d=zt(p,e,g,a,o,m,r,s,t),b.push(m),w=d.sub(m)}x=w.mag()}const T=(_-v)/x,k=w._mult(T)._add(m||y),A=h+Math.atan2(g.y-y.y,g.x-y.x);return b.push(k),{point:k,angle:l?A:0,path:b}}const Dt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Rt(t,e){for(let r=0;r=1;t--)l.push(o.path[t]);for(let t=1;tt.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point))}let m=[];if(l.length>0){const t=l[0].clone(),r=l[0].clone();for(let e=1;e=n.x&&r.x<=i.x&&t.y>=n.y&&r.y<=i.y?[l]:r.xi.x||r.yi.y?[]:e.am([l],n.x,n.y,i.x,i.y)}for(const e of m){a.reset(e,.25*r);let n=0;n=a.length<=.5*r?1:Math.ceil(a.paddedLength/h)+1;for(let e=0;ewt(t,r,e.getElevation)))}queryRenderedSymbols(t){if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};const r=[];let n=1/0,i=1/0,a=-1/0,o=-1/0;for(const s of t){const t=new e.P(s.x+Ft,s.y+Ft);n=Math.min(n,t.x),i=Math.min(i,t.y),a=Math.max(a,t.x),o=Math.max(o,t.y),r.push(t)}const s=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o)),l={},c={};for(const t of s){const n=t.key;if(void 0===l[n.bucketInstanceId]&&(l[n.bucketInstanceId]={}),l[n.bucketInstanceId][n.featureIndex])continue;const i=[new e.P(t.x1,t.y1),new e.P(t.x2,t.y1),new e.P(t.x2,t.y2),new e.P(t.x1,t.y2)];e.an(r,i)&&(l[n.bucketInstanceId][n.featureIndex]=!0,void 0===c[n.bucketInstanceId]&&(c[n.bucketInstanceId]=[]),c[n.bucketInstanceId].push(n.featureIndex))}return c}insertCollisionBox(t,e,r,n,i,a){const o={bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:e};(r?this.ignoredGrid:this.grid).insert(o,t[0],t[1],t[2],t[3])}insertCollisionCircles(t,e,r,n,i,a){const o=r?this.ignoredGrid:this.grid,s={bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:e};for(let e=0;e=this.screenRightBoundary||nthis.screenBottomBoundary}isInsideGrid(t,e,r,n){return r>=0&&t=0&&ethis.projectAndGetPerspectiveRatio(n,t.x,t.y,i,c)));A=t.some((t=>!t.isOccluded)),k=t.map((t=>t.point))}else A=!0;return{box:e.ap(k),allPointsOccluded:!A}}}function Nt(t,r,n){return r*(e.X/(t.tileSize*Math.pow(2,n-t.tileID.overscaledZ)))}class jt{constructor(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r}isHidden(){return 0===this.opacity&&!this.placed}}class Ut{constructor(t,e,r,n,i){this.text=new jt(t?t.text:null,e,r,i),this.icon=new jt(t?t.icon:null,e,n,i)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Vt{constructor(t,e,r){this.text=t,this.icon=e,this.skipFade=r}}class qt{constructor(){this.invProjMatrix=e.H(),this.viewportMatrix=e.H(),this.circles=[]}}class Ht{constructor(t,e,r,n,i){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i}}class Gt{constructor(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}}get(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){const e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:t=>t.collisionGroupID===e}}return this.collisionGroups[t]}}function Zt(t,r,n,i,a){const{horizontalAlign:o,verticalAlign:s}=e.av(t),l=-(o-.5)*r,c=-(s-.5)*n;return new e.P(l+i[0]*a,c+i[1]*a)}class Wt{constructor(t,e,r,n,i,a){this.transform=t.clone(),this.terrain=r,this.collisionIndex=new Bt(this.transform,e),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new Gt(i),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=a,a&&(a.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(t){const e=this.terrain;return e?(r,n)=>e.getElevation(t,r,n):null}getBucketParts(t,r,n,i){const a=n.getBucket(r),o=n.latestFeatureIndex;if(!a||!o||r.id!==a.layerIds[0])return;const s=n.collisionBoxArray,l=a.layers[0].layout,c=a.layers[0].paint,u=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),h=n.tileSize/e.X,f=n.tileID.toUnwrapped(),p=this.transform.calculatePosMatrix(f),d=\"map\"===l.get(\"text-pitch-alignment\"),m=\"map\"===l.get(\"text-rotation-alignment\"),g=Nt(n,1,this.transform.zoom),y=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get(\"text-translate\"),c.get(\"text-translate-anchor\")),v=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get(\"icon-translate\"),c.get(\"icon-translate-anchor\")),x=_t(p,d,m,this.transform,g);let _=null;if(d){const t=bt(p,d,m,this.transform,g);_=e.L([],this.transform.labelPlaneMatrix,t)}this.retainedQueryData[a.bucketInstanceId]=new Ht(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,n.tileID);const b={bucket:a,layout:l,translationText:y,translationIcon:v,posMatrix:p,unwrappedTileID:f,textLabelPlaneMatrix:x,labelToScreenMatrix:_,scale:u,textPixelRatio:h,holdingForFade:n.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:e.ah(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(const e of a.sortKeyRanges){const{sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i}=e;t.push({sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i,parameters:b})}else t.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:b})}attemptAnchorPlacement(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x){const _=e.ar[t.textAnchor],b=[t.textOffset0,t.textOffset1],w=Zt(_,n,i,b,a),T=this.collisionIndex.placeCollisionBox(r,f,l,c,u,s,o,g,h.predicate,x,w);if((!v||this.collisionIndex.placeCollisionBox(v,f,l,c,u,s,o,y,h.predicate,x,w).placeable)&&T.placeable){let t;if(this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID].text&&(t=this.prevPlacement.variableOffsets[p.crossTileID].anchor),0===p.crossTileID)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[p.crossTileID]={textOffset:b,width:n,height:i,anchor:_,textBoxScale:a,prevAnchor:t},this.markUsedJustification(d,_,p,m),d.allowVerticalPlacement&&(this.markUsedOrientation(d,m,p),this.placedOrientations[p.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,r,n){const{bucket:i,layout:a,translationText:o,translationIcon:s,posMatrix:l,unwrappedTileID:c,textLabelPlaneMatrix:u,labelToScreenMatrix:h,textPixelRatio:f,holdingForFade:p,collisionBoxArray:d,partiallyEvaluatedTextSize:m,collisionGroup:g}=t.parameters,y=a.get(\"text-optional\"),v=a.get(\"icon-optional\"),x=e.as(a,\"text-overlap\",\"text-allow-overlap\"),_=\"always\"===x,b=e.as(a,\"icon-overlap\",\"icon-allow-overlap\"),w=\"always\"===b,T=\"map\"===a.get(\"text-rotation-alignment\"),k=\"map\"===a.get(\"text-pitch-alignment\"),A=\"none\"!==a.get(\"icon-text-fit\"),M=\"viewport-y\"===a.get(\"symbol-z-order\"),S=_&&(w||!i.hasIconData()||v),E=w&&(_||!i.hasTextData()||y);!i.collisionArrays&&d&&i.deserializeCollisionBoxes(d);const C=this.retainedQueryData[i.bucketInstanceId].tileID,L=this._getTerrainElevationFunc(C),I=(t,d,w)=>{var M,C;if(r[t.crossTileID])return;if(p)return void(this.placements[t.crossTileID]=new Vt(!1,!1,!1));let I=!1,P=!1,z=!0,O=null,D={box:null,placeable:!1,offscreen:null},R={box:null,placeable:!1,offscreen:null},F=null,B=null,N=null,j=0,U=0,V=0;d.textFeatureIndex?j=d.textFeatureIndex:t.useRuntimeCollisionCircles&&(j=t.featureIndex),d.verticalTextFeatureIndex&&(U=d.verticalTextFeatureIndex);const q=d.textBox;if(q){const r=r=>{let n=e.ai.horizontal;if(i.allowVerticalPlacement&&!r&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[t.crossTileID];e&&(this.placedOrientations[t.crossTileID]=e,n=e,this.markUsedOrientation(i,n,t))}return n},a=(r,n)=>{if(i.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&d.verticalTextBox){for(const t of i.writingModes)if(t===e.ai.vertical?(D=n(),R=D):D=r(),D&&D.placeable)break}else D=r()},u=t.textAnchorOffsetStartIndex,h=t.textAnchorOffsetEndIndex;if(h===u){const n=(e,r)=>{const n=this.collisionIndex.placeCollisionBox(e,x,f,l,c,k,T,o,g.predicate,L);return n&&n.placeable&&(this.markUsedOrientation(i,r,t),this.placedOrientations[t.crossTileID]=r),n};a((()=>n(q,e.ai.horizontal)),(()=>{const r=d.verticalTextBox;return i.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&r?n(r,e.ai.vertical):{box:null,offscreen:null}})),r(D&&D.placeable)}else{let p=e.ar[null===(C=null===(M=this.prevPlacement)||void 0===M?void 0:M.variableOffsets[t.crossTileID])||void 0===C?void 0:C.anchor];const m=(r,a,d)=>{const m=r.x2-r.x1,y=r.y2-r.y1,v=t.textBoxScale,_=A&&\"never\"===b?a:null;let w=null,M=\"never\"===x?1:2,S=\"never\";p&&M++;for(let e=0;em(q,d.iconBox,e.ai.horizontal)),(()=>{const r=d.verticalTextBox,n=D&&D.placeable;return i.allowVerticalPlacement&&!n&&t.numVerticalGlyphVertices>0&&r?m(r,d.verticalIconBox,e.ai.vertical):{box:null,occluded:!0,offscreen:null}})),D&&(I=D.placeable,z=D.offscreen);const y=r(D&&D.placeable);if(!I&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[t.crossTileID];e&&(this.variableOffsets[t.crossTileID]=e,this.markUsedJustification(i,e.anchor,t,y))}}}if(F=D,I=F&&F.placeable,z=F&&F.offscreen,t.useRuntimeCollisionCircles){const r=i.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),s=e.aj(i.textSizeData,m,r),f=a.get(\"text-padding\"),p=t.collisionCircleDiameter;B=this.collisionIndex.placeCollisionCircles(x,r,i.lineVertexArray,i.glyphOffsetArray,s,l,c,u,h,n,k,g.predicate,p,f,o,L),B.circles.length&&B.collisionDetected&&!n&&e.w(\"Collisions detected, but collision boxes are not shown\"),I=_||B.circles.length>0&&!B.collisionDetected,z=z&&B.offscreen}if(d.iconFeatureIndex&&(V=d.iconFeatureIndex),d.iconBox){const t=t=>this.collisionIndex.placeCollisionBox(t,b,f,l,c,k,T,s,g.predicate,L,A&&O?O:void 0);R&&R.placeable&&d.verticalIconBox?(N=t(d.verticalIconBox),P=N.placeable):(N=t(d.iconBox),P=N.placeable),z=z&&N.offscreen}const H=y||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,G=v||0===t.numIconVertices;H||G?G?H||(P=P&&I):I=P&&I:P=I=P&&I;const Z=I&&F.placeable,W=P&&N.placeable;if(Z&&(R&&R.placeable&&U?this.collisionIndex.insertCollisionBox(F.box,x,a.get(\"text-ignore-placement\"),i.bucketInstanceId,U,g.ID):this.collisionIndex.insertCollisionBox(F.box,x,a.get(\"text-ignore-placement\"),i.bucketInstanceId,j,g.ID)),W&&this.collisionIndex.insertCollisionBox(N.box,b,a.get(\"icon-ignore-placement\"),i.bucketInstanceId,V,g.ID),B&&I&&this.collisionIndex.insertCollisionCircles(B.circles,x,a.get(\"text-ignore-placement\"),i.bucketInstanceId,j,g.ID),n&&this.storeCollisionData(i.bucketInstanceId,w,d,F,N,B),0===t.crossTileID)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(0===i.bucketInstanceId)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[t.crossTileID]=new Vt(I||S,P||E,z||i.justReloaded),r[t.crossTileID]=!0};if(M){if(0!==t.symbolInstanceStart)throw new Error(\"bucket.bucketInstanceId should be 0\");const e=i.getSortedSymbolIndexes(this.transform.angle);for(let t=e.length-1;t>=0;--t){const r=e[t];I(i.symbolInstances.get(r),i.collisionArrays[r],r)}}else for(let e=t.symbolInstanceStart;e=0&&(t.text.placedSymbolArray.get(e).crossTileID=o>=0&&e!==o?0:n.crossTileID)}markUsedOrientation(t,r,n){const i=r===e.ai.horizontal||r===e.ai.horizontalOnly?r:0,a=r===e.ai.vertical?r:0,o=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];for(const e of o)t.text.placedSymbolArray.get(e).placedOrientation=i;n.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=a)}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let r=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const n=e?e.symbolFadeChange(t):1,i=e?e.opacities:{},a=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],a=i[t];a?(this.opacities[t]=new Ut(a,n,e.text,e.icon),r=r||e.text!==a.text.placed||e.icon!==a.icon.placed):(this.opacities[t]=new Ut(null,n,e.text,e.icon,e.skipFade),r=r||e.text||e.icon)}for(const t in i){const e=i[t];if(!this.opacities[t]){const i=new Ut(e,n,!1,!1);i.isHidden()||(this.opacities[t]=i,r=r||e.text.placed||e.icon.placed)}}for(const t in a)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=a[t]);for(const t in o)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=o[t]);if(e&&void 0===e.lastPlacementChangeTime)throw new Error(\"Last placement time for previous placement is not defined\");r?this.lastPlacementChangeTime=t:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)}updateLayerOpacities(t,e){const r={};for(const n of e){const e=n.getBucket(t);e&&n.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,n.tileID,r,n.collisionBoxArray)}}updateBucketOpacities(t,r,n,i){t.hasTextData()&&(t.text.opacityVertexArray.clear(),t.text.hasVisibleVertices=!1),t.hasIconData()&&(t.icon.opacityVertexArray.clear(),t.icon.hasVisibleVertices=!1),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const a=t.layers[0],o=a.layout,s=new Ut(null,0,!1,!1,!0),l=o.get(\"text-allow-overlap\"),c=o.get(\"icon-allow-overlap\"),u=a._unevaluatedLayout.hasValue(\"text-variable-anchor\")||a._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),h=\"map\"===o.get(\"text-rotation-alignment\"),f=\"map\"===o.get(\"text-pitch-alignment\"),p=\"none\"!==o.get(\"icon-text-fit\"),d=new Ut(null,0,l&&(c||!t.hasIconData()||o.get(\"icon-optional\")),c&&(l||!t.hasTextData()||o.get(\"text-optional\")),!0);!t.collisionArrays&&i&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(i);const m=(t,e,r)=>{for(let n=0;n0||o>0,x=i.numIconVertices>0,_=this.placedOrientations[i.crossTileID],b=_===e.ai.vertical,w=_===e.ai.horizontal||_===e.ai.horizontalOnly;if(v){const e=re(y.text),r=b?ne:e;m(t.text,a,r);const n=w?ne:e;m(t.text,o,n);const s=y.text.isHidden();[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((e=>{e>=0&&(t.text.placedSymbolArray.get(e).hidden=s||b?1:0)})),i.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(i.verticalPlacedTextSymbolIndex).hidden=s||w?1:0);const l=this.variableOffsets[i.crossTileID];l&&this.markUsedJustification(t,l.anchor,i,_);const c=this.placedOrientations[i.crossTileID];c&&(this.markUsedJustification(t,\"left\",i,c),this.markUsedOrientation(t,c,i))}if(x){const e=re(y.icon),r=!(p&&i.verticalPlacedIconSymbolIndex&&b);if(i.placedIconSymbolIndex>=0){const n=r?e:ne;m(t.icon,i.numIconVertices,n),t.icon.placedSymbolArray.get(i.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(i.verticalPlacedIconSymbolIndex>=0){const n=r?ne:e;m(t.icon,i.numVerticalIconVertices,n),t.icon.placedSymbolArray.get(i.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}const T=g&&g.has(r)?g.get(r):{text:null,icon:null};if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const n=t.collisionArrays[r];if(n){let r=new e.P(0,0);if(n.textBox||n.verticalTextBox){let e=!0;if(u){const t=this.variableOffsets[l];t?(r=Zt(t.anchor,t.width,t.height,t.textOffset,t.textBoxScale),h&&r._rotate(f?this.transform.angle:-this.transform.angle)):e=!1}if(n.textBox||n.verticalTextBox){let i;n.textBox&&(i=b),n.verticalTextBox&&(i=w),Yt(t.textCollisionBox.collisionVertexArray,y.text.placed,!e||i,T.text,r.x,r.y)}}if(n.iconBox||n.verticalIconBox){const e=Boolean(!w&&n.verticalIconBox);let i;n.iconBox&&(i=e),n.verticalIconBox&&(i=!e),Yt(t.iconCollisionBox.collisionVertexArray,y.icon.placed,i,T.icon,p?r.x:0,p?r.y:0)}}}}if(t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.text.opacityVertexArray.length!==t.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${t.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${t.text.layoutVertexArray.length}) / 4`);if(t.icon.opacityVertexArray.length!==t.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${t.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${t.icon.layoutVertexArray.length}) / 4`);if(t.bucketInstanceId in this.collisionCircleArrays){const e=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=e.invProjMatrix,t.placementViewportMatrix=e.viewportMatrix,t.collisionCircleArray=e.circles,delete this.collisionCircleArrays[t.bucketInstanceId]}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0}}function Yt(t,e,r,n,i,a){n&&0!==n.length||(n=[0,0,0,0]);const o=n[0]-Ft,s=n[1]-Ft,l=n[2]-Ft,c=n[3]-Ft;t.emplaceBack(e?1:0,r?1:0,i||0,a||0,o,s),t.emplaceBack(e?1:0,r?1:0,i||0,a||0,l,s),t.emplaceBack(e?1:0,r?1:0,i||0,a||0,l,c),t.emplaceBack(e?1:0,r?1:0,i||0,a||0,o,c)}const Xt=Math.pow(2,25),$t=Math.pow(2,24),Jt=Math.pow(2,17),Kt=Math.pow(2,16),Qt=Math.pow(2,9),te=Math.pow(2,8),ee=Math.pow(2,1);function re(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Xt+e*$t+r*Jt+e*Kt+r*Qt+e*te+r*ee+e}const ne=0;function ie(){return{isOccluded(t,e,r){return!1},getPitchedTextCorrection(t,e,r){return 1},get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(t,e,r,n){throw new Error(\"Not implemented.\")},translatePosition(t,e,r,n){return function(t,e,r,n,i=!1){if(!r[0]&&!r[1])return[0,0];const a=i?\"map\"===n?t.angle:0:\"viewport\"===n?-t.angle:0;if(a){const t=Math.sin(a),e=Math.cos(a);r=[r[0]*e-r[1]*t,r[0]*t+r[1]*e]}return[i?r[0]:Nt(e,r[0],t.zoom),i?r[1]:Nt(e,r[1],t.zoom)]}(t,e,r,n)},getCircleRadiusCorrection(t){return 1}}}class ae{constructor(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&!t.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(t,e,r,n,i){const a=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex!this._forceFullPlacement&&a.now()-n>2;for(;this._currentPlacementIndex>=0;){const n=e[t[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===n.type&&(!n.minzoom||n.minzoom<=a)&&(!n.maxzoom||n.maxzoom>a)){if(this._inProgressLayer||(this._inProgressLayer=new ae(n)),this._inProgressLayer.continuePlacement(r[n.source],this.placement,this._showCollisionBoxes,n,i))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const se=512/e.X/2;class le{constructor(t,r,n){this.tileID=t,this.bucketInstanceId=n,this._symbolsByKey={};const i=new Map;for(let t=0;t({x:Math.floor(t.anchorX*se),y:Math.floor(t.anchorY*se)}))),crossTileIDs:r.map((t=>t.crossTileID))};if(n.positions.length>128){const t=new e.aw(n.positions.length,16,Uint16Array);for(const{x:e,y:r}of n.positions)t.add(e,r);t.finish(),delete n.positions,n.index=t}this._symbolsByKey[t]=n}}getScaledCoordinates(t,r){const{x:n,y:i,z:a}=this.tileID.canonical,{x:o,y:s,z:l}=r.canonical,c=l-a,u=se/Math.pow(2,c),h=(o*e.X+t.anchorX)*u,f=(s*e.X+t.anchorY)*u,p=n*e.X*se,d=i*e.X*se;return{x:Math.floor(h-p),y:Math.floor(f-d)}}findMatches(t,e,r){const n=this.tileID.canonical.zt))}}class ce{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class ue{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(t){const e=Math.round((t-this.lng)/360);if(0!==e)for(const t in this.indexes){const r=this.indexes[t],n={};for(const t in r){const i=r[t];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+e),n[i.tileID.key]=i}this.indexes[t]=n}this.lng=t}addBucket(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(let t=0;tt.overscaledZ)for(const r in i){const a=i[r];a.tileID.isChildOf(t)&&a.findMatches(e.symbolInstances,t,n)}else{const a=i[t.scaledTo(Number(r)).key];a&&a.findMatches(e.symbolInstances,t,n)}}for(let t=0;t{e[t]=!0}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t]}}const fe=(t,r)=>e.t(t,r&&r.filter((t=>\"source.canvas\"!==t.identifier))),pe=e.ax();class de extends e.E{constructor(t,r={}){super(),this._rtlPluginLoaded=()=>{for(const t in this.sourceCaches){const e=this.sourceCaches[t].getSource().type;\"vector\"!==e&&\"geojson\"!==e||this.sourceCaches[t].reload()}},this.map=t,this.dispatcher=new q(V(),t._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",((t,e)=>this.getGlyphs(t,e))),this.dispatcher.registerMessageHandler(\"GI\",((t,e)=>this.getImages(t,e))),this.imageManager=new k,this.imageManager.setEventedParent(this),this.glyphManager=new E(t._requestManager,r.localIdeographFontFamily),this.lineAtlas=new R(256,512),this.crossTileSymbolIndex=new he,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new e.ay,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",e.az()),ut().on(st,this._rtlPluginLoaded),this.on(\"data\",(t=>{if(\"source\"!==t.dataType||\"metadata\"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const r=e.getSource();if(r&&r.vectorLayerIds)for(const t in this._layers){const e=this._layers[t];e.source===r.id&&this._validateLayer(e)}}))}loadURL(t,r={},n){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),r.validate=\"boolean\"!=typeof r.validate||r.validate;const i=this.map._requestManager.transformRequest(t,\"Style\");this._loadStyleRequest=new AbortController;const a=this._loadStyleRequest;e.h(i,this._loadStyleRequest).then((t=>{this._loadStyleRequest=null,this._load(t.data,r,n)})).catch((t=>{this._loadStyleRequest=null,t&&!a.signal.aborted&&this.fire(new e.j(t))}))}loadJSON(t,r={},n){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,a.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,r.validate=!1!==r.validate,this._load(t,r,n)})).catch((()=>{}))}loadEmpty(){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),this._load(pe,{validate:!1})}_load(t,r,n){var i;const a=r.transformStyle?r.transformStyle(n,t):t;if(!r.validate||!fe(this,e.x(a))){this._loaded=!0,this.stylesheet=a;for(const t in a.sources)this.addSource(t,a.sources[t],{validate:!1});a.sprite?this._loadSprite(a.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(a.glyphs),this._createLayers(),this.light=new P(this.stylesheet.light),this.sky=new D(this.stylesheet.sky),this.map.setTerrain(null!==(i=this.stylesheet.terrain)&&void 0!==i?i:null),this.fire(new e.k(\"data\",{dataType:\"style\"})),this.fire(new e.k(\"style.load\"))}}_createLayers(){const t=e.aA(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",t),this._order=t.map((t=>t.id)),this._layers={},this._serializedLayers=null;for(const r of t){const t=e.aB(r);t.setEventedParent(this,{layer:{id:r.id}}),this._layers[r.id]=t}}_loadSprite(t,r=!1,n=void 0){let i;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,b(t,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((t=>{if(this._spriteRequest=null,t)for(const e in t){this._spritesImagesIds[e]=[];const n=this._spritesImagesIds[e]?this._spritesImagesIds[e].filter((e=>!(e in t))):[];for(const t of n)this.imageManager.removeImage(t),this._changedImages[t]=!0;for(const n in t[e]){const i=\"default\"===e?n:`${e}:${n}`;this._spritesImagesIds[e].push(i),i in this.imageManager.images?this.imageManager.updateImage(i,t[e][n],!1):this.imageManager.addImage(i,t[e][n]),r&&(this._changedImages[i]=!0)}}})).catch((t=>{this._spriteRequest=null,i=t,this.fire(new e.j(i))})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),r&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"})),n&&n(i)}))}_unloadSprite(){for(const t of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(t),this._changedImages[t]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}))}_validateLayer(t){const r=this.sourceCaches[t.source];if(!r)return;const n=t.sourceLayer;if(!n)return;const i=r.getSource();(\"geojson\"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new e.j(new Error(`Source layer \"${n}\" does not exist on source \"${i.id}\" as specified by style layer \"${t.id}\".`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(t){const e=this._serializedAllLayers();if(!t||0===t.length)return Object.values(e);const r=[];for(const n of t)e[n]&&r.push(e[n]);return r}_serializedAllLayers(){let t=this._serializedLayers;if(t)return t;t=this._serializedLayers={};const e=Object.keys(this._layers);for(const r of e){const e=this._layers[r];\"custom\"!==e.type&&(t[r]=e.serialize())}return t}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;if(this.sky&&this.sky.hasTransition())return!0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(const t in this._layers)if(this._layers[t].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(t){if(!this._loaded)return;const r=this._changed;if(r){const e=Object.keys(this._updatedLayers),r=Object.keys(this._removedLayers);(e.length||r.length)&&this._updateWorkerLayers(e,r);for(const t in this._updatedSources){const e=this._updatedSources[t];if(\"reload\"===e)this._reloadSource(t);else{if(\"clear\"!==e)throw new Error(`Invalid action ${e}`);this._clearSource(t)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const e in this._updatedPaintProps)this._layers[e].updateTransitions(t);this.light.updateTransitions(t),this.sky.updateTransitions(t),this._resetUpdates()}const n={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];n[t]=e.used,e.used=!1}for(const e of this._order){const r=this._layers[e];r.recalculate(t,this._availableImages),!r.isHidden(t.zoom)&&r.source&&(this.sourceCaches[r.source].used=!0)}for(const t in n){const r=this.sourceCaches[t];!!n[t]!=!!r.used&&r.fire(new e.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:t}))}this.light.recalculate(t),this.sky.recalculate(t),this.z=t.zoom,r&&this.fire(new e.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies([\"icons\",\"patterns\"],t);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(t,e){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(t),removedIds:e})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(t,r={}){var n;this._checkLoaded();const i=this.serialize();if(t=r.transformStyle?r.transformStyle(i,t):t,(null===(n=r.validate)||void 0===n||n)&&fe(this,e.x(t)))return!1;(t=e.aC(t)).layers=e.aA(t.layers);const a=e.aD(i,t),o=this._getOperationsToPerform(a);if(o.unimplemented.length>0)throw new Error(`Unimplemented: ${o.unimplemented.join(\", \")}.`);if(0===o.operations.length)return!1;for(const t of o.operations)t();return this.stylesheet=t,this._serializedLayers=null,!0}_getOperationsToPerform(t){const e=[],r=[];for(const n of t)switch(n.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":e.push((()=>this.addLayer.apply(this,n.args)));break;case\"removeLayer\":e.push((()=>this.removeLayer.apply(this,n.args)));break;case\"setPaintProperty\":e.push((()=>this.setPaintProperty.apply(this,n.args)));break;case\"setLayoutProperty\":e.push((()=>this.setLayoutProperty.apply(this,n.args)));break;case\"setFilter\":e.push((()=>this.setFilter.apply(this,n.args)));break;case\"addSource\":e.push((()=>this.addSource.apply(this,n.args)));break;case\"removeSource\":e.push((()=>this.removeSource.apply(this,n.args)));break;case\"setLayerZoomRange\":e.push((()=>this.setLayerZoomRange.apply(this,n.args)));break;case\"setLight\":e.push((()=>this.setLight.apply(this,n.args)));break;case\"setGeoJSONSourceData\":e.push((()=>this.setGeoJSONSourceData.apply(this,n.args)));break;case\"setGlyphs\":e.push((()=>this.setGlyphs.apply(this,n.args)));break;case\"setSprite\":e.push((()=>this.setSprite.apply(this,n.args)));break;case\"setSky\":e.push((()=>this.setSky.apply(this,n.args)));break;case\"setTerrain\":e.push((()=>this.map.setTerrain.apply(this,n.args)));break;case\"setTransition\":e.push((()=>{}));break;default:r.push(n.command)}return{operations:e,unimplemented:r}}addImage(t,r){if(this.getImage(t))return this.fire(new e.j(new Error(`An image named \"${t}\" already exists.`)));this.imageManager.addImage(t,r),this._afterImageUpdated(t)}updateImage(t,e){this.imageManager.updateImage(t,e)}getImage(t){return this.imageManager.getImage(t)}removeImage(t){if(!this.getImage(t))return this.fire(new e.j(new Error(`An image named \"${t}\" does not exist.`)));this.imageManager.removeImage(t),this._afterImageUpdated(t)}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(t,r,n={}){if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(`Source \"${t}\" already exists.`);if(!r.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(r).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(r.type)>=0&&this._validate(e.x.source,`sources.${t}`,r,null,n))return;this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);const i=this.sourceCaches[t]=new dt(t,r,this.dispatcher);i.style=this,i.setEventedParent(this,(()=>({isSourceLoaded:i.loaded(),source:i.serialize(),sourceId:t}))),i.onAdd(this.map),this._changed=!0}removeSource(t){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(\"There is no source with this ID\");for(const r in this._layers)if(this._layers[r].source===t)return this.fire(new e.j(new Error(`Source \"${t}\" cannot be removed while layer \"${r}\" is using it.`)));const r=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],r.fire(new e.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:t})),r.setEventedParent(null),r.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(t,e){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(`There is no source with this ID=${t}`);const r=this.sourceCaches[t].getSource();if(\"geojson\"!==r.type)throw new Error(`geojsonSource.type is ${r.type}, which is !== 'geojson`);r.setData(e),this._changed=!0}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(t,r,n={}){this._checkLoaded();const i=t.id;if(this.getLayer(i))return void this.fire(new e.j(new Error(`Layer \"${i}\" already exists on this map.`)));let a;if(\"custom\"===t.type){if(fe(this,e.aE(t)))return;a=e.aB(t)}else{if(\"source\"in t&&\"object\"==typeof t.source&&(this.addSource(i,t.source),t=e.aC(t),t=e.e(t,{source:i})),this._validate(e.x.layer,`layers.${i}`,t,{arrayIndex:-1},n))return;a=e.aB(t),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}})}const o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new e.j(new Error(`Cannot add layer \"${i}\" before non-existing layer \"${r}\".`)));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&\"custom\"!==a.type){const t=this._removedLayers[i];delete this._removedLayers[i],t.type!==a.type?this._updatedSources[a.source]=\"clear\":(this._updatedSources[a.source]=\"reload\",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}moveLayer(t,r){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new e.j(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===r)return;const n=this._order.indexOf(t);this._order.splice(n,1);const i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new e.j(new Error(`Cannot move layer \"${t}\" before non-existing layer \"${r}\".`))):(this._order.splice(i,0,t),this._layerOrderChanged=!0)}removeLayer(t){this._checkLoaded();const r=this._layers[t];if(!r)return void this.fire(new e.j(new Error(`Cannot remove non-existing layer \"${t}\".`)));r.setEventedParent(null);const n=this._order.indexOf(t);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=r,delete this._layers[t],this._serializedLayers&&delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],r.onRemove&&r.onRemove(this.map)}getLayer(t){return this._layers[t]}getLayersOrder(){return[...this._order]}hasLayer(t){return t in this._layers}setLayerZoomRange(t,r,n){this._checkLoaded();const i=this.getLayer(t);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new e.j(new Error(`Cannot set the zoom range of non-existing layer \"${t}\".`)))}setFilter(t,r,n={}){this._checkLoaded();const i=this.getLayer(t);if(i){if(!e.aF(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(e.x.filter,`layers.${i.id}.filter`,r,null,n)||(i.filter=e.aC(r),this._updateLayer(i)))}else this.fire(new e.j(new Error(`Cannot filter non-existing layer \"${t}\".`)))}getFilter(t){return e.aC(this.getLayer(t).filter)}setLayoutProperty(t,r,n,i={}){this._checkLoaded();const a=this.getLayer(t);a?e.aF(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new e.j(new Error(`Cannot style non-existing layer \"${t}\".`)))}getLayoutProperty(t,r){const n=this.getLayer(t);if(n)return n.getLayoutProperty(r);this.fire(new e.j(new Error(`Cannot get style of non-existing layer \"${t}\".`)))}setPaintProperty(t,r,n,i={}){this._checkLoaded();const a=this.getLayer(t);a?e.aF(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[t]=!0,this._serializedLayers=null):this.fire(new e.j(new Error(`Cannot style non-existing layer \"${t}\".`)))}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(t,r){this._checkLoaded();const n=t.source,i=t.sourceLayer,a=this.sourceCaches[n];if(void 0===a)return void this.fire(new e.j(new Error(`The source '${n}' does not exist in the map's style.`)));const o=a.getSource().type;\"geojson\"===o&&i?this.fire(new e.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==o||i?(void 0===t.id&&this.fire(new e.j(new Error(\"The feature id parameter must be provided.\"))),a.setFeatureState(i,t.id,r)):this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(t,r){this._checkLoaded();const n=t.source,i=this.sourceCaches[n];if(void 0===i)return void this.fire(new e.j(new Error(`The source '${n}' does not exist in the map's style.`)));const a=i.getSource().type,o=\"vector\"===a?t.sourceLayer:void 0;\"vector\"!==a||o?r&&\"string\"!=typeof t.id&&\"number\"!=typeof t.id?this.fire(new e.j(new Error(\"A feature id is required to remove its specific state property.\"))):i.removeFeatureState(o,t.id,r):this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(t){this._checkLoaded();const r=t.source,n=t.sourceLayer,i=this.sourceCaches[r];if(void 0!==i)return\"vector\"!==i.getSource().type||n?(void 0===t.id&&this.fire(new e.j(new Error(\"The feature id parameter must be provided.\"))),i.getFeatureState(n,t.id)):void this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new e.j(new Error(`The source '${r}' does not exist in the map's style.`)))}getTransition(){return e.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const t=e.aG(this.sourceCaches,(t=>t.serialize())),r=this._serializeByIds(this._order),n=this.map.getTerrain()||void 0,i=this.stylesheet;return e.aH({version:i.version,name:i.name,metadata:i.metadata,light:i.light,sky:i.sky,center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch,sprite:i.sprite,glyphs:i.glyphs,transition:i.transition,sources:t,layers:r,terrain:n},(t=>void 0!==t))}_updateLayer(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&\"raster\"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(t){const e=t=>\"fill-extrusion\"===this._layers[t].type,r={},n=[];for(let i=this._order.length-1;i>=0;i--){const a=this._order[i];if(e(a)){r[a]=i;for(const e of t){const t=e[a];if(t)for(const e of t)n.push(e)}}}n.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const i=[];for(let a=this._order.length-1;a>=0;a--){const o=this._order[a];if(e(o))for(let t=n.length-1;t>=0;t--){const e=n[t].feature;if(r[e.layer.id]{const n=r.featureSortOrder;if(n){const r=n.indexOf(t.featureIndex);return n.indexOf(e.featureIndex)-r}return e.featureIndex-t.featureIndex}));for(const t of i)e.push(t)}}for(const e in s)s[e].forEach((n=>{const i=n.feature,a=t[e],o=r[a.source].getFeatureState(i.layer[\"source-layer\"],i.id);i.source=i.layer.source,i.layer[\"source-layer\"]&&(i.sourceLayer=i.layer[\"source-layer\"]),i.state=o}));return s}(this._layers,o,this.sourceCaches,t,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(a)}querySourceFeatures(t,r){r&&r.filter&&this._validate(e.x.filter,\"querySourceFeatures.filter\",r.filter,null,r);const n=this.sourceCaches[t];return n?function(t,e){const r=t.getRenderableIds().map((e=>t.getTileByID(e))),n=[],i={};for(let t=0;tt.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)))}const n=this.crossTileSymbolIndex.addLayer(r,l[r.source],t.center.lng);o=o||n}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((i=i||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(a.now(),t.zoom))&&(this.pauseablePlacement=new oe(t,this.map.terrain,this._order,i,e,r,n,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(a.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(const t of this._order){const e=this._layers[t];\"symbol\"===e.type&&this.placement.updateLayerOpacities(e,l[e.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(a.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()}getImages(t,r){return e._(this,void 0,void 0,(function*(){const t=yield this.imageManager.getImages(r.icons);this._updateTilesForChangedImages();const e=this.sourceCaches[r.source];return e&&e.setDependencies(r.tileID.key,r.type,r.icons),t}))}getGlyphs(t,r){return e._(this,void 0,void 0,(function*(){const t=yield this.glyphManager.getGlyphs(r.stacks),e=this.sourceCaches[r.source];return e&&e.setDependencies(r.tileID.key,r.type,[\"\"]),t}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(t,r={}){this._checkLoaded(),t&&this._validate(e.x.glyphs,\"glyphs\",t,null,r)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=t,this.glyphManager.entries={},this.glyphManager.setURL(t))}addSprite(t,r,n={},i){this._checkLoaded();const a=[{id:t,url:r}],o=[...x(this.stylesheet.sprite),...a];this._validate(e.x.sprite,\"sprite\",o,null,n)||(this.stylesheet.sprite=o,this._loadSprite(a,!0,i))}removeSprite(t){this._checkLoaded();const r=x(this.stylesheet.sprite);if(r.find((e=>e.id===t))){if(this._spritesImagesIds[t])for(const e of this._spritesImagesIds[t])this.imageManager.removeImage(e),this._changedImages[e]=!0;r.splice(r.findIndex((e=>e.id===t)),1),this.stylesheet.sprite=r.length>0?r:void 0,delete this._spritesImagesIds[t],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}))}else this.fire(new e.j(new Error(`Sprite \"${t}\" doesn't exists on this map.`)))}getSprite(){return x(this.stylesheet.sprite)}setSprite(t,r={},n){this._checkLoaded(),t&&this._validate(e.x.sprite,\"sprite\",t,null,r)||(this.stylesheet.sprite=t,t?this._loadSprite(t,!0,n):(this._unloadSprite(),n&&n(null)))}}var me=e.Y([{name:\"a_pos\",type:\"Int16\",components:2}]);const ge={prelude:ye(\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\\n\",\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\\n#ifdef TERRAIN3D\\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\\n#endif\\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\\n#ifdef TERRAIN3D\\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\\n#else\\nreturn 1.0;\\n#endif\\n}float calculate_visibility(vec4 pos) {\\n#ifdef TERRAIN3D\\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\\n#else\\nreturn 1.0;\\n#endif\\n}float ele(vec2 pos) {\\n#ifdef TERRAIN3D\\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\\n#else\\nreturn 0.0;\\n#endif\\n}float get_elevation(vec2 pos) {\\n#ifdef TERRAIN3D\\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\\n#else\\nreturn 0.0;\\n#endif\\n}\"),background:ye(\"uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:ye(\"uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:ye(\"varying vec3 v_data;varying float v_visibility;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main(void) {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}\"),clippingMask:ye(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:ye(\"uniform highp float u_intensity;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main() {\\n#pragma mapbox: initialize highp float weight\\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\nconst highp float ZERO=1.0/255.0/16.0;\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main(void) {\\n#pragma mapbox: initialize highp float weight\\n#pragma mapbox: initialize mediump float radius\\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}\"),heatmapTexture:ye(\"uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(0.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:ye(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:ye(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:ye(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:ye(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);}\"),fillOutline:ye(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),fillOutlinePattern:ye(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),fillPattern:ye(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),fillExtrusion:ye(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\\n#ifdef TERRAIN3D\\nattribute vec2 a_centroid;\\n#endif\\nvarying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;\\n#ifdef TERRAIN3D\\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\\n#else\\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\\n#endif\\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),fillExtrusionPattern:ye(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\\n#ifdef TERRAIN3D\\nattribute vec2 a_centroid;\\n#endif\\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\\n#ifdef TERRAIN3D\\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\\n#else\\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\\n#endif\\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),hillshadePrepare:ye(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:ye(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),line:ye(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_width2=vec2(outset,inset);}\"),lineGradient:ye(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_width2=vec2(outset,inset);}\"),linePattern:ye(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),lineSDF:ye(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),raster:ye(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),symbolIcon:ye(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}\"),symbolSDF:ye(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),symbolTextAndIcon:ye(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\"),terrain:ye(\"uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}\"),terrainDepth:ye(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\"),terrainCoords:ye(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}\"),sky:ye(\"uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}\",\"attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}\")};function ye(t,e){const r=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,n=e.match(/attribute ([\\w]+) ([\\w]+)/g),i=t.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),a=e.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:t=t.replace(r,((t,e,r,n,i)=>(s[i]=!0,\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${i}\\nvarying ${r} ${n} ${i};\\n#else\\nuniform ${r} ${n} u_${i};\\n#endif\\n`:`\\n#ifdef HAS_UNIFORM_u_${i}\\n ${r} ${n} ${i} = u_${i};\\n#endif\\n`))),vertexSource:e=e.replace(r,((t,e,r,n,i)=>{const a=\"float\"===n?\"vec2\":\"vec4\",o=i.match(/color/)?\"color\":a;return s[i]?\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${i}\\nuniform lowp float u_${i}_t;\\nattribute ${r} ${a} a_${i};\\nvarying ${r} ${n} ${i};\\n#else\\nuniform ${r} ${n} u_${i};\\n#endif\\n`:\"vec4\"===o?`\\n#ifndef HAS_UNIFORM_u_${i}\\n ${i} = a_${i};\\n#else\\n ${r} ${n} ${i} = u_${i};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${i}\\n ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\\n#else\\n ${r} ${n} ${i} = u_${i};\\n#endif\\n`:\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${i}\\nuniform lowp float u_${i}_t;\\nattribute ${r} ${a} a_${i};\\n#else\\nuniform ${r} ${n} u_${i};\\n#endif\\n`:\"vec4\"===o?`\\n#ifndef HAS_UNIFORM_u_${i}\\n ${r} ${n} ${i} = a_${i};\\n#else\\n ${r} ${n} ${i} = u_${i};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${i}\\n ${r} ${n} ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\\n#else\\n ${r} ${n} ${i} = u_${i};\\n#endif\\n`})),staticAttributes:n,staticUniforms:o}}class ve{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(t,e,r,n,i,a,o,s,l){this.context=t;let c=this.boundPaintVertexBuffers.length!==n.length;for(let t=0;!c&&t({u_matrix:t,u_texture:0,u_ele_delta:r,u_fog_matrix:n,u_fog_color:i?i.properties.get(\"fog-color\"):e.aN.white,u_fog_ground_blend:i?i.properties.get(\"fog-ground-blend\"):1,u_fog_ground_blend_opacity:i?i.calculateFogBlendOpacity(a):0,u_horizon_color:i?i.properties.get(\"horizon-color\"):e.aN.white,u_horizon_fog_blend:i?i.properties.get(\"horizon-fog-blend\"):1});function _e(t){const e=[];for(let r=0;r({u_depth:new e.aI(t,r.u_depth),u_terrain:new e.aI(t,r.u_terrain),u_terrain_dim:new e.aJ(t,r.u_terrain_dim),u_terrain_matrix:new e.aK(t,r.u_terrain_matrix),u_terrain_unpack:new e.aL(t,r.u_terrain_unpack),u_terrain_exaggeration:new e.aJ(t,r.u_terrain_exaggeration)}))(t,b),this.binderUniforms=n?n.getUniforms(t,b):[]}draw(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){const v=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),s){t.activeTexture.set(v.TEXTURE2),v.bindTexture(v.TEXTURE_2D,s.depthTexture),t.activeTexture.set(v.TEXTURE3),v.bindTexture(v.TEXTURE_2D,s.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(s[t])}for(const t in this.fixedUniforms)this.fixedUniforms[t].set(o[t]);d&&d.setUniforms(t,this.binderUniforms,f,{zoom:p});let x=0;switch(e){case v.LINES:x=2;break;case v.TRIANGLES:x=3;break;case v.LINE_STRIP:x=1}for(const r of h.get()){const n=r.vaos||(r.vaos={});(n[l]||(n[l]=new ve)).bind(t,this,c,d?d.getPaintVertexBuffers():[],u,r.vertexOffset,m,g,y),v.drawElements(e,r.primitiveLength*x,v.UNSIGNED_SHORT,r.primitiveOffset*x*2)}}}function we(t,e,r){const n=1/Nt(r,1,e.transform.tileZoom),i=Math.pow(2,r.tileID.overscaledZ),a=r.tileSize*Math.pow(2,e.transform.tileZoom)/i,o=a*(r.tileID.canonical.x+r.tileID.wrap*i),s=a*r.tileID.canonical.y;return{u_image:0,u_texsize:r.imageAtlasTexture.size,u_scale:[n,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[o>>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}const Te=(t,r,n,i)=>{const a=r.style.light,o=a.properties.get(\"position\"),s=[o.x,o.y,o.z],l=function(){var t=new e.A(9);return e.A!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}();\"viewport\"===a.properties.get(\"anchor\")&&function(t,e){var r=Math.sin(e),n=Math.cos(e);t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1}(l,-r.transform.angle),function(t,e,r){var n=e[0],i=e[1],a=e[2];t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8]}(s,s,l);const c=a.properties.get(\"color\");return{u_matrix:t,u_lightpos:s,u_lightintensity:a.properties.get(\"intensity\"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:i}},ke=(t,r,n,i,a,o,s)=>e.e(Te(t,r,n,i),we(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8}),Ae=t=>({u_matrix:t}),Me=(t,r,n,i)=>e.e(Ae(t),we(n,r,i)),Se=(t,e)=>({u_matrix:t,u_world:e}),Ee=(t,r,n,i,a)=>e.e(Me(t,r,n,i),{u_world:a}),Ce=(t,e,r,n)=>{const i=t.transform;let a,o;if(\"map\"===n.paint.get(\"circle-pitch-alignment\")){const t=Nt(r,1,i.zoom);a=!0,o=[t,t]}else a=!1,o=i.pixelsToGLUnits;return{u_camera_to_center_distance:i.cameraToCenterDistance,u_scale_with_map:+(\"map\"===n.paint.get(\"circle-pitch-scale\")),u_matrix:t.translatePosMatrix(e.posMatrix,r,n.paint.get(\"circle-translate\"),n.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+a,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:o}},Le=(t,e)=>({u_matrix:e,u_pixel_extrude_scale:[1/t.width,1/t.height]}),Ie=(t,e,r)=>({u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}),Pe=(t,e,r=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}),ze=t=>({u_matrix:t}),Oe=(t,e,r,n)=>({u_matrix:t,u_extrude_scale:Nt(e,1,r),u_intensity:n}),De=(t,r,n,i)=>{const a=e.H();e.aQ(a,0,t.width,t.height,0,0,1);const o=t.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get(\"heatmap-opacity\")}},Re=(t,e,r,n)=>{const i=r.paint.get(\"hillshade-shadow-color\"),a=r.paint.get(\"hillshade-highlight-color\"),o=r.paint.get(\"hillshade-accent-color\");let s=r.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===r.paint.get(\"hillshade-illumination-anchor\")&&(s-=t.transform.angle);const l=!t.options.moving;return{u_matrix:n?n.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:Be(0,e.tileID),u_light:[r.paint.get(\"hillshade-exaggeration\"),s],u_shadow:i,u_highlight:a,u_accent:o}},Fe=(t,r)=>{const n=r.stride,i=e.H();return e.aQ(i,0,e.X,-e.X,0,0,1),e.J(i,i,[0,-e.X,0]),{u_matrix:i,u_image:1,u_dimension:[n,n],u_zoom:t.overscaledZ,u_unpack:r.getUnpackVector()}};function Be(t,r){const n=Math.pow(2,r.canonical.z),i=r.canonical.y;return[new e.Z(0,i/n).toLngLat().lat,new e.Z(0,(i+1)/n).toLngLat().lat]}const Ne=(t,e,r,n)=>{const i=t.transform;return{u_matrix:He(t,e,r,n),u_ratio:1/Nt(e,1,i.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},je=(t,r,n,i,a)=>e.e(Ne(t,r,n,a),{u_image:0,u_image_height:i}),Ue=(t,e,r,n,i)=>{const a=t.transform,o=qe(e,a);return{u_matrix:He(t,e,r,i),u_texsize:e.imageAtlasTexture.size,u_ratio:1/Nt(e,1,a.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[o,n.fromScale,n.toScale],u_fade:n.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Ve=(t,r,n,i,a,o)=>{const s=t.transform,l=t.lineAtlas,c=qe(r,s),u=\"round\"===n.layout.get(\"line-cap\"),h=l.getDash(i.from,u),f=l.getDash(i.to,u),p=h.width*a.fromScale,d=f.width*a.toScale;return e.e(Ne(t,r,n,o),{u_patternscale_a:[c/p,-h.height/2],u_patternscale_b:[c/d,-f.height/2],u_sdfgamma:l.width/(256*Math.min(p,d)*t.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:f.y,u_mix:a.t})};function qe(t,e){return 1/Nt(t,1,e.tileZoom)}function He(t,e,r,n){return t.translatePosMatrix(n?n.posMatrix:e.tileID.posMatrix,e,r.paint.get(\"line-translate\"),r.paint.get(\"line-translate-anchor\"))}const Ge=(t,e,r,n,i)=>{return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get(\"raster-brightness-min\"),u_brightness_high:i.paint.get(\"raster-brightness-max\"),u_saturation_factor:(o=i.paint.get(\"raster-saturation\"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get(\"raster-contrast\"),a>0?1/(1-a):1+a),u_spin_weights:Ze(i.paint.get(\"raster-hue-rotate\"))};var a,o};function Ze(t){t*=Math.PI/180;const e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}const We=(t,e,r,n,i,a,o,s,l,c,u,h,f,p)=>{const d=o.transform;return{u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:d.cameraToCenterDistance,u_pitch:d.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:d.width/d.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:l,u_coord_matrix:c,u_is_text:+h,u_pitch_with_map:+n,u_is_along_line:i,u_is_variable_anchor:a,u_texsize:f,u_texture:0,u_translation:u,u_pitched_scale:p}},Ye=(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m)=>{const g=s.transform;return e.e(We(t,r,n,i,a,o,s,l,c,u,h,f,p,m),{u_gamma_scale:i?Math.cos(g._pitch)*g.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:+d})},Xe=(t,r,n,i,a,o,s,l,c,u,h,f,p,d)=>e.e(Ye(t,r,n,i,a,o,s,l,c,u,h,!0,f,!0,d),{u_texsize_icon:p,u_texture_icon:1}),$e=(t,e,r)=>({u_matrix:t,u_opacity:e,u_color:r}),Je=(t,r,n,i,a,o)=>e.e(function(t,e,r,n){const i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),{width:o,height:s}=r.imageManager.getPixelSize(),l=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/l,u=c*(n.tileID.canonical.x+n.tileID.wrap*l),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[o,s],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/Nt(n,1,r.transform.tileZoom),u_pixel_coord_upper:[u>>16,h>>16],u_pixel_coord_lower:[65535&u,65535&h]}}(i,o,n,a),{u_matrix:t,u_opacity:r}),Ke={fillExtrusion:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_lightpos:new e.aO(t,r.u_lightpos),u_lightintensity:new e.aJ(t,r.u_lightintensity),u_lightcolor:new e.aO(t,r.u_lightcolor),u_vertical_gradient:new e.aJ(t,r.u_vertical_gradient),u_opacity:new e.aJ(t,r.u_opacity)}),fillExtrusionPattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_lightpos:new e.aO(t,r.u_lightpos),u_lightintensity:new e.aJ(t,r.u_lightintensity),u_lightcolor:new e.aO(t,r.u_lightcolor),u_vertical_gradient:new e.aJ(t,r.u_vertical_gradient),u_height_factor:new e.aJ(t,r.u_height_factor),u_image:new e.aI(t,r.u_image),u_texsize:new e.aP(t,r.u_texsize),u_pixel_coord_upper:new e.aP(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,r.u_pixel_coord_lower),u_scale:new e.aO(t,r.u_scale),u_fade:new e.aJ(t,r.u_fade),u_opacity:new e.aJ(t,r.u_opacity)}),fill:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix)}),fillPattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_image:new e.aI(t,r.u_image),u_texsize:new e.aP(t,r.u_texsize),u_pixel_coord_upper:new e.aP(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,r.u_pixel_coord_lower),u_scale:new e.aO(t,r.u_scale),u_fade:new e.aJ(t,r.u_fade)}),fillOutline:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_world:new e.aP(t,r.u_world)}),fillOutlinePattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_world:new e.aP(t,r.u_world),u_image:new e.aI(t,r.u_image),u_texsize:new e.aP(t,r.u_texsize),u_pixel_coord_upper:new e.aP(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,r.u_pixel_coord_lower),u_scale:new e.aO(t,r.u_scale),u_fade:new e.aJ(t,r.u_fade)}),circle:(t,r)=>({u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_scale_with_map:new e.aI(t,r.u_scale_with_map),u_pitch_with_map:new e.aI(t,r.u_pitch_with_map),u_extrude_scale:new e.aP(t,r.u_extrude_scale),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_matrix:new e.aK(t,r.u_matrix)}),collisionBox:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_pixel_extrude_scale:new e.aP(t,r.u_pixel_extrude_scale)}),collisionCircle:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_inv_matrix:new e.aK(t,r.u_inv_matrix),u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_viewport_size:new e.aP(t,r.u_viewport_size)}),debug:(t,r)=>({u_color:new e.aM(t,r.u_color),u_matrix:new e.aK(t,r.u_matrix),u_overlay:new e.aI(t,r.u_overlay),u_overlay_scale:new e.aJ(t,r.u_overlay_scale)}),clippingMask:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix)}),heatmap:(t,r)=>({u_extrude_scale:new e.aJ(t,r.u_extrude_scale),u_intensity:new e.aJ(t,r.u_intensity),u_matrix:new e.aK(t,r.u_matrix)}),heatmapTexture:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_world:new e.aP(t,r.u_world),u_image:new e.aI(t,r.u_image),u_color_ramp:new e.aI(t,r.u_color_ramp),u_opacity:new e.aJ(t,r.u_opacity)}),hillshade:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_image:new e.aI(t,r.u_image),u_latrange:new e.aP(t,r.u_latrange),u_light:new e.aP(t,r.u_light),u_shadow:new e.aM(t,r.u_shadow),u_highlight:new e.aM(t,r.u_highlight),u_accent:new e.aM(t,r.u_accent)}),hillshadePrepare:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_image:new e.aI(t,r.u_image),u_dimension:new e.aP(t,r.u_dimension),u_zoom:new e.aJ(t,r.u_zoom),u_unpack:new e.aL(t,r.u_unpack)}),line:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_ratio:new e.aJ(t,r.u_ratio),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,r.u_units_to_pixels)}),lineGradient:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_ratio:new e.aJ(t,r.u_ratio),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,r.u_units_to_pixels),u_image:new e.aI(t,r.u_image),u_image_height:new e.aJ(t,r.u_image_height)}),linePattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_texsize:new e.aP(t,r.u_texsize),u_ratio:new e.aJ(t,r.u_ratio),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_image:new e.aI(t,r.u_image),u_units_to_pixels:new e.aP(t,r.u_units_to_pixels),u_scale:new e.aO(t,r.u_scale),u_fade:new e.aJ(t,r.u_fade)}),lineSDF:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_ratio:new e.aJ(t,r.u_ratio),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,r.u_units_to_pixels),u_patternscale_a:new e.aP(t,r.u_patternscale_a),u_patternscale_b:new e.aP(t,r.u_patternscale_b),u_sdfgamma:new e.aJ(t,r.u_sdfgamma),u_image:new e.aI(t,r.u_image),u_tex_y_a:new e.aJ(t,r.u_tex_y_a),u_tex_y_b:new e.aJ(t,r.u_tex_y_b),u_mix:new e.aJ(t,r.u_mix)}),raster:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_tl_parent:new e.aP(t,r.u_tl_parent),u_scale_parent:new e.aJ(t,r.u_scale_parent),u_buffer_scale:new e.aJ(t,r.u_buffer_scale),u_fade_t:new e.aJ(t,r.u_fade_t),u_opacity:new e.aJ(t,r.u_opacity),u_image0:new e.aI(t,r.u_image0),u_image1:new e.aI(t,r.u_image1),u_brightness_low:new e.aJ(t,r.u_brightness_low),u_brightness_high:new e.aJ(t,r.u_brightness_high),u_saturation_factor:new e.aJ(t,r.u_saturation_factor),u_contrast_factor:new e.aJ(t,r.u_contrast_factor),u_spin_weights:new e.aO(t,r.u_spin_weights)}),symbolIcon:(t,r)=>({u_is_size_zoom_constant:new e.aI(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,r.u_is_size_feature_constant),u_size_t:new e.aJ(t,r.u_size_t),u_size:new e.aJ(t,r.u_size),u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_pitch:new e.aJ(t,r.u_pitch),u_rotate_symbol:new e.aI(t,r.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,r.u_aspect_ratio),u_fade_change:new e.aJ(t,r.u_fade_change),u_matrix:new e.aK(t,r.u_matrix),u_label_plane_matrix:new e.aK(t,r.u_label_plane_matrix),u_coord_matrix:new e.aK(t,r.u_coord_matrix),u_is_text:new e.aI(t,r.u_is_text),u_pitch_with_map:new e.aI(t,r.u_pitch_with_map),u_is_along_line:new e.aI(t,r.u_is_along_line),u_is_variable_anchor:new e.aI(t,r.u_is_variable_anchor),u_texsize:new e.aP(t,r.u_texsize),u_texture:new e.aI(t,r.u_texture),u_translation:new e.aP(t,r.u_translation),u_pitched_scale:new e.aJ(t,r.u_pitched_scale)}),symbolSDF:(t,r)=>({u_is_size_zoom_constant:new e.aI(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,r.u_is_size_feature_constant),u_size_t:new e.aJ(t,r.u_size_t),u_size:new e.aJ(t,r.u_size),u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_pitch:new e.aJ(t,r.u_pitch),u_rotate_symbol:new e.aI(t,r.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,r.u_aspect_ratio),u_fade_change:new e.aJ(t,r.u_fade_change),u_matrix:new e.aK(t,r.u_matrix),u_label_plane_matrix:new e.aK(t,r.u_label_plane_matrix),u_coord_matrix:new e.aK(t,r.u_coord_matrix),u_is_text:new e.aI(t,r.u_is_text),u_pitch_with_map:new e.aI(t,r.u_pitch_with_map),u_is_along_line:new e.aI(t,r.u_is_along_line),u_is_variable_anchor:new e.aI(t,r.u_is_variable_anchor),u_texsize:new e.aP(t,r.u_texsize),u_texture:new e.aI(t,r.u_texture),u_gamma_scale:new e.aJ(t,r.u_gamma_scale),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_is_halo:new e.aI(t,r.u_is_halo),u_translation:new e.aP(t,r.u_translation),u_pitched_scale:new e.aJ(t,r.u_pitched_scale)}),symbolTextAndIcon:(t,r)=>({u_is_size_zoom_constant:new e.aI(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,r.u_is_size_feature_constant),u_size_t:new e.aJ(t,r.u_size_t),u_size:new e.aJ(t,r.u_size),u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_pitch:new e.aJ(t,r.u_pitch),u_rotate_symbol:new e.aI(t,r.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,r.u_aspect_ratio),u_fade_change:new e.aJ(t,r.u_fade_change),u_matrix:new e.aK(t,r.u_matrix),u_label_plane_matrix:new e.aK(t,r.u_label_plane_matrix),u_coord_matrix:new e.aK(t,r.u_coord_matrix),u_is_text:new e.aI(t,r.u_is_text),u_pitch_with_map:new e.aI(t,r.u_pitch_with_map),u_is_along_line:new e.aI(t,r.u_is_along_line),u_is_variable_anchor:new e.aI(t,r.u_is_variable_anchor),u_texsize:new e.aP(t,r.u_texsize),u_texsize_icon:new e.aP(t,r.u_texsize_icon),u_texture:new e.aI(t,r.u_texture),u_texture_icon:new e.aI(t,r.u_texture_icon),u_gamma_scale:new e.aJ(t,r.u_gamma_scale),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_is_halo:new e.aI(t,r.u_is_halo),u_translation:new e.aP(t,r.u_translation),u_pitched_scale:new e.aJ(t,r.u_pitched_scale)}),background:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_opacity:new e.aJ(t,r.u_opacity),u_color:new e.aM(t,r.u_color)}),backgroundPattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_opacity:new e.aJ(t,r.u_opacity),u_image:new e.aI(t,r.u_image),u_pattern_tl_a:new e.aP(t,r.u_pattern_tl_a),u_pattern_br_a:new e.aP(t,r.u_pattern_br_a),u_pattern_tl_b:new e.aP(t,r.u_pattern_tl_b),u_pattern_br_b:new e.aP(t,r.u_pattern_br_b),u_texsize:new e.aP(t,r.u_texsize),u_mix:new e.aJ(t,r.u_mix),u_pattern_size_a:new e.aP(t,r.u_pattern_size_a),u_pattern_size_b:new e.aP(t,r.u_pattern_size_b),u_scale_a:new e.aJ(t,r.u_scale_a),u_scale_b:new e.aJ(t,r.u_scale_b),u_pixel_coord_upper:new e.aP(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,r.u_pixel_coord_lower),u_tile_units_to_pixels:new e.aJ(t,r.u_tile_units_to_pixels)}),terrain:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_texture:new e.aI(t,r.u_texture),u_ele_delta:new e.aJ(t,r.u_ele_delta),u_fog_matrix:new e.aK(t,r.u_fog_matrix),u_fog_color:new e.aM(t,r.u_fog_color),u_fog_ground_blend:new e.aJ(t,r.u_fog_ground_blend),u_fog_ground_blend_opacity:new e.aJ(t,r.u_fog_ground_blend_opacity),u_horizon_color:new e.aM(t,r.u_horizon_color),u_horizon_fog_blend:new e.aJ(t,r.u_horizon_fog_blend)}),terrainDepth:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_ele_delta:new e.aJ(t,r.u_ele_delta)}),terrainCoords:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_texture:new e.aI(t,r.u_texture),u_terrain_coords_id:new e.aJ(t,r.u_terrain_coords_id),u_ele_delta:new e.aJ(t,r.u_ele_delta)}),sky:(t,r)=>({u_sky_color:new e.aM(t,r.u_sky_color),u_horizon_color:new e.aM(t,r.u_horizon_color),u_horizon:new e.aJ(t,r.u_horizon),u_sky_horizon_blend:new e.aJ(t,r.u_sky_horizon_blend)})};class Qe{constructor(t,e,r){this.context=t;const n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(t){const e=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)}destroy(){const t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)}}const tr={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class er{constructor(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;const i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(t){if(t.length!==this.length)throw new Error(`Length of new data is ${t.length}, which doesn't match current length of ${this.length}`);const e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)}enableAttributes(t,e){for(let r=0;r0){const r=e.H();e.aR(r,d.placementInvProjMatrix,t.transform.glCoordMatrix),e.aR(r,r,d.placementViewportMatrix),c.push({circleArray:g,circleOffset:h,transform:p.posMatrix,invTransform:r,coord:p}),u+=g.length/4,h=u}m&&l.draw(o,s.LINES,qr.disabled,Gr.disabled,t.colorModeForRenderPass(),Zr.disabled,Le(t.transform,p.posMatrix),t.style.map.terrain&&t.style.map.terrain.getTerrainData(p),n.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,null,t.transform.zoom,null,null,m.collisionVertexBuffer)}if(!a||!c.length)return;const f=t.useProgram(\"collisionCircle\"),p=new e.aS;p.resize(4*u),p._trim();let d=0;for(const t of c)for(let e=0;er.style.map.terrain.getElevation(a,t,e):null,i=h.translatePosition(u,t,s,l);Qr(o,f,p,c,u,y,a.posMatrix,e,m,v,h,i,a.toUnwrapped(),n)}}}(i,t,n,r,n.layout.get(\"text-rotation-alignment\"),n.layout.get(\"text-pitch-alignment\"),n.paint.get(\"text-translate\"),n.paint.get(\"text-translate-anchor\"),a),0!==n.paint.get(\"icon-opacity\").constantOr(1)&&en(t,r,n,i,!1,n.paint.get(\"icon-translate\"),n.paint.get(\"icon-translate-anchor\"),n.layout.get(\"icon-rotation-alignment\"),n.layout.get(\"icon-pitch-alignment\"),n.layout.get(\"icon-keep-upright\"),o,s),0!==n.paint.get(\"text-opacity\").constantOr(1)&&en(t,r,n,i,!0,n.paint.get(\"text-translate\"),n.paint.get(\"text-translate-anchor\"),n.layout.get(\"text-rotation-alignment\"),n.layout.get(\"text-pitch-alignment\"),n.layout.get(\"text-keep-upright\"),o,s),r.map.showCollisionBoxes&&(Yr(t,r,n,i,!0),Yr(t,r,n,i,!1))}function Jr(t,r,n,i,a,o){const{horizontalAlign:s,verticalAlign:l}=e.av(t),c=-(s-.5)*r,u=-(l-.5)*n;return new e.P((c/a+i[0])*o,(u/a+i[1])*o)}function Kr(t,r,n,i,a,o){const s=r.tileAnchorPoint.add(new e.P(r.translation[0],r.translation[1]));if(r.pitchWithMap){let t=i.mult(o);return n||(t=t.rotate(-a)),wt(s.add(t),r.labelPlaneMatrix,r.getElevation).point}if(n){const e=It(r.tileAnchorPoint.x+1,r.tileAnchorPoint.y,r).point.sub(t),n=Math.atan(e.y/e.x)+(e.x<0?Math.PI:0);return t.add(i.rotate(n))}return t.add(i)}function Qr(t,r,n,i,a,o,s,l,c,u,h,f,p,d){const m=t.text.placedSymbolArray,g=t.text.dynamicLayoutVertexArray,y=t.icon.dynamicLayoutVertexArray,v={};g.clear();for(let y=0;y=0&&(v[x.associatedIconIndex]={shiftedAnchor:L,angle:I})}else Rt(x.numGlyphs,g)}if(u){y.clear();const r=t.icon.placedSymbolArray;for(let t=0;tt.style.map.terrain.getElevation(l,e,r):null,r=\"map\"===n.layout.get(\"text-rotation-alignment\");At(c,l.posMatrix,t,a,j,V,v,u,r,g,l.toUnwrapped(),m.width,m.height,q,e)}const Z=l.posMatrix,W=a&&A||G,Y=x||W?Xr:j,X=U,$=p&&0!==n.paint.get(a?\"text-halo-width\":\"icon-halo-width\").constantOr(1);let J;J=p?c.iconsInText?Xe(k.kind,L,_,v,x,W,t,Z,Y,X,q,P,R,S):Ye(k.kind,L,_,v,x,W,t,Z,Y,X,q,a,P,!0,S):We(k.kind,L,_,v,x,W,t,Z,Y,X,q,a,P,S);const K={program:C,buffers:h,uniformValues:J,atlasTexture:z,atlasTextureIcon:F,atlasInterpolation:O,atlasInterpolationIcon:D,isSDF:p,hasHalo:$};if(w&&c.canOverlap){T=!0;const t=h.segments.get();for(const r of t)M.push({segments:new e.a0([r]),sortKey:r.sortKey,state:K,terrainData:I})}else M.push({segments:h.segments,sortKey:0,state:K,terrainData:I})}T&&M.sort(((t,e)=>t.sortKey-e.sortKey));for(const e of M){const r=e.state;if(p.activeTexture.set(d.TEXTURE0),r.atlasTexture.bind(r.atlasInterpolation,d.CLAMP_TO_EDGE),r.atlasTextureIcon&&(p.activeTexture.set(d.TEXTURE1),r.atlasTextureIcon&&r.atlasTextureIcon.bind(r.atlasInterpolationIcon,d.CLAMP_TO_EDGE)),r.isSDF){const i=r.uniformValues;r.hasHalo&&(i.u_is_halo=1,rn(r.buffers,e.segments,n,t,r.program,k,h,f,i,e.terrainData)),i.u_is_halo=0}rn(r.buffers,e.segments,n,t,r.program,k,h,f,r.uniformValues,e.terrainData)}}function rn(t,e,r,n,i,a,o,s,l,c){const u=n.context,h=u.gl;i.draw(u,h.TRIANGLES,a,o,s,Zr.disabled,l,c,r.id,t.layoutVertexBuffer,t.indexBuffer,e,r.paint,n.transform.zoom,t.programConfigurations.get(r.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function nn(t,r,n,i){if(0!==n.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===t.renderPass){const a=t.context,o=a.gl,s=Gr.disabled,l=new Ur([o.ONE,o.ONE],e.aN.transparent,[!0,!0,!0,!0]);(function(t,e,r){const n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{const a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1,!1),function(t,e,r,n){var i,a;const o=t.gl,s=null!==(i=t.HALF_FLOAT)&&void 0!==i?i:o.UNSIGNED_BYTE,l=null!==(a=t.RGBA16F)&&void 0!==a?a:o.RGBA;o.texImage2D(o.TEXTURE_2D,0,l,e.width/4,e.height/4,0,o.RGBA,s,null),n.colorAttachment.set(r)}(t,e,a,i)}})(a,t,n),a.clear({color:e.aN.transparent});for(let e=0;e0){const i=a.now(),s=(i-t.timeAdded)/l,c=r?(i-r.timeAdded)/l:-1,u=n.getSource(),h=o.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),p=f&&t.refreshedUponExpiration?1:e.ad(f?s:1-c,0,1);return t.refreshedUponExpiration&&s>=1&&(t.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}const hn=new e.aN(1,0,0,1),fn=new e.aN(0,1,0,1),pn=new e.aN(0,0,1,1),dn=new e.aN(1,0,1,1),mn=new e.aN(0,1,1,1);function gn(t){const e=t.transform.padding;yn(t,t.transform.height-(e.top||0),3,hn),yn(t,e.bottom||0,3,fn),vn(t,e.left||0,3,pn),vn(t,t.transform.width-(e.right||0),3,dn);const r=t.transform.centerPoint;!function(t,e,r,n){const i=20,a=2;xn(t,e-a/2,r-i/2,a,i,n),xn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,mn)}function yn(t,e,r,n){xn(t,0,e+r/2,t.transform.width,r,n)}function vn(t,e,r,n){xn(t,e-r/2,0,r,t.transform.height,n)}function xn(t,e,r,n,i,a){const o=t.context,s=o.gl;s.enable(s.SCISSOR_TEST),s.scissor(e*t.pixelRatio,r*t.pixelRatio,n*t.pixelRatio,i*t.pixelRatio),o.clear({color:a}),s.disable(s.SCISSOR_TEST)}function _n(t,r,n){const i=t.context,a=i.gl,o=n.posMatrix,s=t.useProgram(\"debug\"),l=qr.disabled,c=Gr.disabled,u=t.colorModeForRenderPass(),h=\"$debug\",f=t.style.map.terrain&&t.style.map.terrain.getTerrainData(n);i.activeTexture.set(a.TEXTURE0);const p=r.getTileByID(n.key).latestRawTileData,d=p&&p.byteLength||0,m=Math.floor(d/1024),g=r.getTile(n).tileSize,y=512/Math.min(g,512)*(n.overscaledZ/t.transform.zoom)*.5;let v=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(v+=` => ${n.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext(\"2d\");i.clearRect(0,0,r.width,r.height),i.shadowColor=\"white\",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle=\"white\",i.textBaseline=\"top\",i.font=\"bold 36px Open Sans, sans-serif\",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(t,`${v} ${m}kB`),s.draw(i,a.TRIANGLES,l,c,Ur.alphaBlended,Zr.disabled,Pe(o,e.aN.transparent,y),null,h,t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments),s.draw(i,a.LINE_STRIP,l,c,u,Zr.disabled,Pe(o,e.aN.red),f,h,t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments)}function bn(t,e,r){const n=t.context,i=n.gl,a=t.colorModeForRenderPass(),o=new qr(i.LEQUAL,qr.ReadWrite,t.depthRangeFor3D),s=t.useProgram(\"terrain\"),l=e.getTerrainMesh();n.bindFramebuffer.set(null),n.viewport.set([0,0,t.width,t.height]);for(const c of r){const r=t.renderToTexture.getTexture(c),u=e.getTerrainData(c.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.texture);const h=t.transform.calculatePosMatrix(c.tileID.toUnwrapped()),f=e.getMeshFrameDelta(t.transform.zoom),p=t.transform.calculateFogMatrix(c.tileID.toUnwrapped()),d=xe(h,f,p,t.style.sky,t.transform.pitch);s.draw(n,i.TRIANGLES,o,Gr.disabled,a,Zr.backCCW,d,u,\"terrain\",l.vertexBuffer,l.indexBuffer,l.segments)}}class wn{constructor(t,e,r){this.vertexBuffer=t,this.indexBuffer=e,this.segments=r}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Tn{constructor(t,r){this.context=new Vr(t),this.transform=r,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:e.ao(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=dt.maxUnderzooming+dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new he}resize(t,e,r){if(this.width=Math.floor(t*r),this.height=Math.floor(e*r),this.pixelRatio=r,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const t of this.style._order)this.style._layers[t].resize()}setup(){const t=this.context,r=new e.aX;r.emplaceBack(0,0),r.emplaceBack(e.X,0),r.emplaceBack(0,e.X),r.emplaceBack(e.X,e.X),this.tileExtentBuffer=t.createVertexBuffer(r,me.members),this.tileExtentSegments=e.a0.simpleSegment(0,0,4,2);const n=new e.aX;n.emplaceBack(0,0),n.emplaceBack(e.X,0),n.emplaceBack(0,e.X),n.emplaceBack(e.X,e.X),this.debugBuffer=t.createVertexBuffer(n,me.members),this.debugSegments=e.a0.simpleSegment(0,0,4,5);const i=new e.$;i.emplaceBack(0,0,0,0),i.emplaceBack(e.X,0,e.X,0),i.emplaceBack(0,e.X,0,e.X),i.emplaceBack(e.X,e.X,e.X,e.X),this.rasterBoundsBuffer=t.createVertexBuffer(i,et.members),this.rasterBoundsSegments=e.a0.simpleSegment(0,0,4,2);const a=new e.aX;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(a,me.members),this.viewportSegments=e.a0.simpleSegment(0,0,4,2);const o=new e.aZ;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=t.createIndexBuffer(o);const s=new e.aY;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(s);const l=this.context.gl;this.stencilClearMode=new Gr({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)}clearStencil(){const t=this.context,r=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const n=e.H();e.aQ(n,0,this.width,this.height,0,0,1),e.K(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(t,r.TRIANGLES,qr.disabled,this.stencilClearMode,Ur.disabled,Zr.disabled,ze(n),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(t,e){if(this.currentStencilSource===t.source||!t.isTileClipped()||!e||!e.length)return;this.currentStencilSource=t.source;const r=this.context,n=r.gl;this.nextStencilID+e.length>256&&this.clearStencil(),r.setColorMode(Ur.disabled),r.setDepthMode(qr.disabled);const i=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(const t of e){const e=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,a=this.style.map.terrain&&this.style.map.terrain.getTerrainData(t);i.draw(r,n.TRIANGLES,qr.disabled,new Gr({func:n.ALWAYS,mask:0},e,255,n.KEEP,n.KEEP,n.REPLACE),Ur.disabled,Zr.disabled,ze(t.posMatrix),a,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,e=this.context.gl;return new Gr({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Gr({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,r=t.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),n=r[r.length-1].overscaledZ,i=r[0].overscaledZ-n+1;if(i>1){this.currentStencilSource=void 0,this.nextStencilID+i>256&&this.clearStencil();const t={};for(let r=0;r({u_sky_color:t.properties.get(\"sky-color\"),u_horizon_color:t.properties.get(\"horizon-color\"),u_horizon:(e.height/2+e.getHorizon())*r,u_sky_horizon_blend:t.properties.get(\"sky-horizon-blend\")*e.height/2*r}))(r,t.style.map.transform,t.pixelRatio),o=new qr(i.LEQUAL,qr.ReadWrite,[0,1]),s=Gr.disabled,l=t.colorModeForRenderPass(),c=t.useProgram(\"sky\");if(!r.mesh){const t=new e.aX;t.emplaceBack(-1,-1),t.emplaceBack(1,-1),t.emplaceBack(1,1),t.emplaceBack(-1,1);const i=new e.aY;i.emplaceBack(0,1,2),i.emplaceBack(0,2,3),r.mesh=new wn(n.createVertexBuffer(t,me.members),n.createIndexBuffer(i),e.a0.simpleSegment(0,0,t.length,i.length))}c.draw(n,i.TRIANGLES,o,s,l,Zr.disabled,a,void 0,\"sky\",r.mesh.vertexBuffer,r.mesh.indexBuffer,r.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(t._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=\"opaque\",this.currentLayer=i.length-1;this.currentLayer>=0;this.currentLayer--){const t=this.style._layers[i[this.currentLayer]],e=o[t.source],r=s[t.source];this._renderTileClippingMasks(t,r),this.renderLayer(this,e,t,r)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayerr.source&&!r.isHidden(e)?[t.sourceCaches[r.source]]:[])),i=n.filter((t=>\"vector\"===t.getSource().type)),a=n.filter((t=>\"vector\"!==t.getSource().type)),o=t=>{(!r||r.getSource().maxzoomo(t))),r||a.forEach((t=>o(t))),r}(this.style,this.transform.zoom);t&&function(t,e,r){for(let n=0;n0),i&&(e.b0(r,n),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(t,r){const n=t.context,i=n.gl,a=Ur.unblended,o=new qr(i.LEQUAL,qr.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.sourceCache.getRenderableTiles(),c=t.useProgram(\"terrainDepth\");n.bindFramebuffer.set(r.getFramebuffer(\"depth\").framebuffer),n.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),n.clear({color:e.aN.transparent,depth:1});for(const e of l){const l=r.getTerrainData(e.tileID),u={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_ele_delta:r.getMeshFrameDelta(t.transform.zoom)};c.draw(n,i.TRIANGLES,o,Gr.disabled,a,Zr.backCCW,u,l,\"terrain\",s.vertexBuffer,s.indexBuffer,s.segments)}n.bindFramebuffer.set(null),n.viewport.set([0,0,t.width,t.height])}(this,this.style.map.terrain),function(t,r){const n=t.context,i=n.gl,a=Ur.unblended,o=new qr(i.LEQUAL,qr.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.getCoordsTexture(),c=r.sourceCache.getRenderableTiles(),u=t.useProgram(\"terrainCoords\");n.bindFramebuffer.set(r.getFramebuffer(\"coords\").framebuffer),n.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),n.clear({color:e.aN.transparent,depth:1}),r.coordsIndex=[];for(const e of c){const c=r.getTerrainData(e.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,l.texture);const h={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_terrain_coords_id:(255-r.coordsIndex.length)/255,u_texture:0,u_ele_delta:r.getMeshFrameDelta(t.transform.zoom)};u.draw(n,i.TRIANGLES,o,Gr.disabled,a,Zr.backCCW,h,c,\"terrain\",s.vertexBuffer,s.indexBuffer,s.segments),r.coordsIndex.push(e.tileID.key)}n.bindFramebuffer.set(null),n.viewport.set([0,0,t.width,t.height])}(this,this.style.map.terrain))}renderLayer(t,r,n,i){if(!n.isHidden(this.transform.zoom)&&(\"background\"===n.type||\"custom\"===n.type||(i||[]).length))switch(this.id=n.id,n.type){case\"symbol\":$r(t,r,n,i,this.style.placement.variableOffsets);break;case\"circle\":!function(t,r,n,i){if(\"translucent\"!==t.renderPass)return;const a=n.paint.get(\"circle-opacity\"),o=n.paint.get(\"circle-stroke-width\"),s=n.paint.get(\"circle-stroke-opacity\"),l=!n.layout.get(\"circle-sort-key\").isConstant();if(0===a.constantOr(1)&&(0===o.constantOr(1)||0===s.constantOr(1)))return;const c=t.context,u=c.gl,h=t.depthModeForSublayer(0,qr.ReadOnly),f=Gr.disabled,p=t.colorModeForRenderPass(),d=[];for(let a=0;at.sortKey-e.sortKey));for(const e of d){const{programConfiguration:r,program:i,layoutVertexBuffer:a,indexBuffer:o,uniformValues:s,terrainData:l}=e.state,d=e.segments;i.draw(c,u.TRIANGLES,h,f,p,Zr.disabled,s,l,n.id,a,o,d,n.paint,t.transform.zoom,r)}}(t,r,n,i);break;case\"heatmap\":nn(t,r,n,i);break;case\"line\":!function(t,r,n,i){if(\"translucent\"!==t.renderPass)return;const a=n.paint.get(\"line-opacity\"),o=n.paint.get(\"line-width\");if(0===a.constantOr(1)||0===o.constantOr(1))return;const s=t.depthModeForSublayer(0,qr.ReadOnly),l=t.colorModeForRenderPass(),c=n.paint.get(\"line-dasharray\"),u=n.paint.get(\"line-pattern\"),h=u.constantOr(1),f=n.paint.get(\"line-gradient\"),p=n.getCrossfadeParameters(),d=h?\"linePattern\":c?\"lineSDF\":f?\"lineGradient\":\"line\",m=t.context,g=m.gl;let y=!0;for(const a of i){const i=r.getTile(a);if(h&&!i.patternsLoaded())continue;const o=i.getBucket(n);if(!o)continue;const v=o.programConfigurations.get(n.id),x=t.context.program.get(),_=t.useProgram(d,v),b=y||_.program!==x,T=t.style.map.terrain&&t.style.map.terrain.getTerrainData(a),k=u.constantOr(null);if(k&&i.imageAtlas){const t=i.imageAtlas,e=t.patternPositions[k.to.toString()],r=t.patternPositions[k.from.toString()];e&&r&&v.setConstantPatternPositions(e,r)}const A=T?a:null,M=h?Ue(t,i,n,p,A):c?Ve(t,i,n,c,p,A):f?je(t,i,n,o.lineClipsArray.length,A):Ne(t,i,n,A);if(h)m.activeTexture.set(g.TEXTURE0),i.imageAtlasTexture.bind(g.LINEAR,g.CLAMP_TO_EDGE),v.updatePaintBuffers(p);else if(c&&(b||t.lineAtlas.dirty))m.activeTexture.set(g.TEXTURE0),t.lineAtlas.bind(m);else if(f){const i=o.gradients[n.id];let s=i.texture;if(n.gradientVersion!==i.version){let l=256;if(n.stepInterpolant){const n=r.getSource().maxzoom,i=a.canonical.z===n?Math.ceil(1<20&&a.texParameterf(a.TEXTURE_2D,i.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,i.extTextureFilterAnisotropicMax);const _=t.style.map.terrain&&t.style.map.terrain.getTerrainData(n),b=_?n:null,w=b?b.posMatrix:t.transform.calculatePosMatrix(n.toUnwrapped(),f),T=Ge(w,v||[0,0],y||1,g,r);o instanceof rt?s.draw(i,a.TRIANGLES,u,Gr.disabled,l,Zr.disabled,T,_,r.id,o.boundsBuffer,t.quadTriangleIndexBuffer,o.boundsSegments):s.draw(i,a.TRIANGLES,u,c[n.overscaledZ],l,Zr.disabled,T,_,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}}(t,r,n,i);break;case\"background\":!function(t,e,r,n){const i=r.paint.get(\"background-color\"),a=r.paint.get(\"background-opacity\");if(0===a)return;const o=t.context,s=o.gl,l=t.transform,c=l.tileSize,u=r.paint.get(\"background-pattern\");if(t.isPatternMissing(u))return;const h=!u&&1===i.a&&1===a&&t.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(t.renderPass!==h)return;const f=Gr.disabled,p=t.depthModeForSublayer(0,\"opaque\"===h?qr.ReadWrite:qr.ReadOnly),d=t.colorModeForRenderPass(),m=t.useProgram(u?\"backgroundPattern\":\"background\"),g=n||l.coveringTiles({tileSize:c,terrain:t.style.map.terrain});u&&(o.activeTexture.set(s.TEXTURE0),t.imageManager.bind(t.context));const y=r.getCrossfadeParameters();for(const e of g){const l=n?e.posMatrix:t.transform.calculatePosMatrix(e.toUnwrapped()),h=u?Je(l,a,t,u,{tileID:e,tileSize:c},y):$e(l,a,i),g=t.style.map.terrain&&t.style.map.terrain.getTerrainData(e);m.draw(o,s.TRIANGLES,p,f,d,Zr.disabled,h,g,r.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments)}}(t,0,n,i);break;case\"custom\":!function(t,e,r){const n=t.context,i=r.implementation;if(\"offscreen\"===t.renderPass){const e=i.prerender;e&&(t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),e.call(i,n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState())}else if(\"translucent\"===t.renderPass){t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),n.setStencilMode(Gr.disabled);const e=\"3d\"===i.renderingMode?new qr(t.context.gl.LEQUAL,qr.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,qr.ReadOnly);n.setDepthMode(e),i.render(n.gl,t.transform.customLayerMatrix(),{farZ:t.transform.farZ,nearZ:t.transform.nearZ,fov:t.transform._fov,modelViewProjectionMatrix:t.transform.modelViewProjectionMatrix,projectionMatrix:t.transform.projectionMatrix}),n.setDirty(),t.setBaseState(),n.bindFramebuffer.set(null)}}(t,0,n)}}translatePosMatrix(t,r,n,i,a){if(!n[0]&&!n[1])return t;const o=a?\"map\"===i?this.transform.angle:0:\"viewport\"===i?-this.transform.angle:0;if(o){const t=Math.sin(o),e=Math.cos(o);n=[n[0]*e-n[1]*t,n[0]*t+n[1]*e]}const s=[a?n[0]:Nt(r,n[0],this.transform.zoom),a?n[1]:Nt(r,n[1],this.transform.zoom),0],l=new Float32Array(16);return e.J(l,t,s),l}saveTileTexture(t){const e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]}getTileTexture(t){const e=this._tileTextures[t];return e&&e.length>0?e.pop():null}isPatternMissing(t){if(!t)return!1;if(!t.from||!t.to)return!0;const e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r}useProgram(t,e){this.cache=this.cache||{};const r=t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[r]||(this.cache[r]=new be(this.context,ge[t],e,Ke[t],this._showOverdrawInspector,this.style.map.terrain)),this.cache[r]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)}initDebugOverlayCanvas(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;const t=this.context.gl;this.debugOverlayTexture=new w(this.context,this.debugOverlayCanvas,t.RGBA)}}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){const{drawingBufferWidth:t,drawingBufferHeight:e}=this.context.gl;return this.width!==t||this.height!==e}}class kn{constructor(t,e){this.points=t,this.planes=e}static fromInvProjectionMatrix(t,r,n){const i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((n=>{const a=1/(n=e.ag([],n,t))[3]/r*i;return e.b1(n,n,[a,a,1/n[3],a])})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const e=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t}([],function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}([],y([],a[t[0]],a[t[1]]),y([],a[t[2]],a[t[1]]))),r=(n=e,i=a[t[1]],-(n[0]*i[0]+n[1]*i[1]+n[2]*i[2]));var n,i;return e.concat(r)}));return new kn(a,o)}}class An{constructor(t,e){this.min=t,this.max=e,this.center=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}([],function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}([],this.min,this.max),.5)}quadrant(t){const e=[t%2==0,t<2],r=m(this.min),n=m(this.max);for(let t=0;t=0&&o++;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(let e=0;e<3;e++){let r=Number.MAX_VALUE,n=-Number.MAX_VALUE;for(let i=0;ithis.max[e]-this.min[e])return 0}return 1}}class Mn{constructor(t=0,e=0,r=0,n=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=t,this.bottom=e,this.left=r,this.right=n}interpolate(t,r,n){return null!=r.top&&null!=t.top&&(this.top=e.z.number(t.top,r.top,n)),null!=r.bottom&&null!=t.bottom&&(this.bottom=e.z.number(t.bottom,r.bottom,n)),null!=r.left&&null!=t.left&&(this.left=e.z.number(t.left,r.left,n)),null!=r.right&&null!=t.right&&(this.right=e.z.number(t.right,r.right,n)),this}getCenter(t,r){const n=e.ad((this.left+t-this.right)/2,0,t),i=e.ad((this.top+r-this.bottom)/2,0,r);return new e.P(n,i)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new Mn(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}const Sn=85.051129;class En{constructor(t,r,n,i,a){this.tileSize=512,this._renderWorldCopies=void 0===a||!!a,this._minZoom=t||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Mn,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){const t=new En(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.apply(this),t}apply(t){this.tileSize=t.tileSize,this.latRange=t.latRange,this.width=t.width,this.height=t.height,this._center=t._center,this._elevation=t._elevation,this.minElevationForCurrentTile=t.minElevationForCurrentTile,this.zoom=t.zoom,this.angle=t.angle,this._fov=t._fov,this._pitch=t._pitch,this._unmodified=t._unmodified,this._edgeInsets=t._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(t){const r=-e.b3(t,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=function(){var t=new e.A(4);return e.A!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t}(),function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const r=e.ad(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.tileZoom=Math.max(0,Math.floor(e)),this.scale=this.zoomScale(e),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()}coveringZoomLevel(t){const e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)}getVisibleUnwrappedCoordinates(t){const r=[new e.b4(0,t)];if(this._renderWorldCopies){const n=this.pointCoordinate(new e.P(0,0)),i=this.pointCoordinate(new e.P(this.width,0)),a=this.pointCoordinate(new e.P(this.width,this.height)),o=this.pointCoordinate(new e.P(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=1;for(let n=s-c;n<=l+c;n++)0!==n&&r.push(new e.b4(n,t))}return r}coveringTiles(t){var r,n;let i=this.coveringZoomLevel(t);const a=i;if(void 0!==t.minzoom&&it.maxzoom&&(i=t.maxzoom);const o=this.pointCoordinate(this.getCameraPoint()),s=e.Z.fromLngLat(this.center),l=Math.pow(2,i),c=[l*o.x,l*o.y,0],u=[l*s.x,l*s.y,0],h=kn.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,i);let f=t.minzoom||0;!t.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(f=i);const p=t.terrain?2/Math.min(this.tileSize,t.tileSize)*this.tileSize:3,d=t=>({aabb:new An([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),m=[],g=[],y=i,x=t.reparseOverscaled?a:i;if(this._renderWorldCopies)for(let t=1;t<=3;t++)m.push(d(-t)),m.push(d(t));for(m.push(d(0));m.length>0;){const i=m.pop(),a=i.x,o=i.y;let s=i.fullyVisible;if(!s){const t=i.aabb.intersects(h);if(0===t)continue;s=2===t}const l=t.terrain?c:u,d=i.aabb.distanceX(l),_=i.aabb.distanceY(l),b=Math.max(Math.abs(d),Math.abs(_)),w=p+(1<w&&i.zoom>=f){const t=y-i.zoom,r=c[0]-.5-(a<>1),h=i.zoom+1;let f=i.aabb.quadrant(l);if(t.terrain){const a=new e.S(h,i.wrap,h,c,u),o=t.terrain.getMinMaxElevation(a),s=null!==(r=o.minElevation)&&void 0!==r?r:this.elevation,l=null!==(n=o.maxElevation)&&void 0!==n?n:this.elevation;f=new An([f.min[0],f.min[1],s],[f.max[0],f.max[1],l])}m.push({aabb:f,zoom:h,x:c,y:u,wrap:i.wrap,fullyVisible:s})}}return g.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(t){const r=e.ad(t.lat,-85.051129,Sn);return new e.P(e.O(t.lng)*this.worldSize,e.Q(r)*this.worldSize)}unproject(t){return new e.Z(t.x/this.worldSize,t.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(t){const r=this.elevation,n=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,i=this.pointLocation(this.centerPoint,t),a=t.getElevationForLngLatZoom(i,this.tileZoom);if(!(this.elevation-a))return;const o=n+r-a,s=Math.cos(this._pitch)*this.cameraToCenterDistance/o/e.b5(1,i.lat)/this.tileSize,l=this.scaleZoom(s);this._elevation=a,this._center=i,this.zoom=l}setLocationAtPoint(t,r){const n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(t),o=new e.Z(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(t,e){return e?this.coordinatePoint(this.locationCoordinate(t),e.getElevationForLngLatZoom(t,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(t))}pointLocation(t,e){return this.coordinateLocation(this.pointCoordinate(t,e))}locationCoordinate(t){return e.Z.fromLngLat(t)}coordinateLocation(t){return t&&t.toLngLat()}pointCoordinate(t,r){if(r){const e=r.pointCoordinate(t);if(null!=e)return e}const n=[t.x,t.y,0,1],i=[t.x,t.y,1,1];e.ag(n,n,this.pixelMatrixInverse),e.ag(i,i,this.pixelMatrixInverse);const a=n[3],o=i[3],s=n[0]/a,l=i[0]/o,c=n[1]/a,u=i[1]/o,h=n[2]/a,f=i[2]/o,p=h===f?0:(0-h)/(f-h);return new e.Z(e.z.number(s,l,p)/this.worldSize,e.z.number(c,u,p)/this.worldSize)}coordinatePoint(t,r=0,n=this.pixelMatrix){const i=[t.x*this.worldSize,t.y*this.worldSize,r,1];return e.ag(i,i,n),new e.P(i[0]/i[3],i[1]/i[3])}getBounds(){const t=Math.max(0,this.height/2-this.getHorizon());return(new X).extend(this.pointLocation(new e.P(0,t))).extend(this.pointLocation(new e.P(this.width,t))).extend(this.pointLocation(new e.P(this.width,this.height))).extend(this.pointLocation(new e.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new X([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,Sn])}calculateTileMatrix(t){const r=t.canonical,n=this.worldSize/this.zoomScale(r.z),i=r.x+Math.pow(2,r.z)*t.wrap,a=e.ao(new Float64Array(16));return e.J(a,a,[i*n,r.y*n,0]),e.K(a,a,[n/e.X,n/e.X,1]),a}calculatePosMatrix(t,r=!1){const n=t.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];const a=this.calculateTileMatrix(t);return e.L(a,r?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,a),i[n]=new Float32Array(a),i[n]}calculateFogMatrix(t){const r=t.key,n=this._fogMatrixCache;if(n[r])return n[r];const i=this.calculateTileMatrix(t);return e.L(i,this.fogMatrix,i),n[r]=new Float32Array(i),n[r]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(t,r){r=e.ad(+r,this.minZoom,this.maxZoom);const n={center:new e.N(t.lng,t.lat),zoom:r};let i=this.lngRange;if(!this._renderWorldCopies&&null===i){const t=180-1e-10;i=[-t,t]}const a=this.tileSize*this.zoomScale(n.zoom);let o=0,s=a,l=0,c=a,u=0,h=0;const{x:f,y:p}=this.size;if(this.latRange){const t=this.latRange;o=e.Q(t[1])*a,s=e.Q(t[0])*a,s-os&&(y=s-t)}if(i){const t=(l+c)/2;let r=d;this._renderWorldCopies&&(r=e.b3(d,t-a/2,t+a/2));const n=f/2;r-nc&&(g=c-n)}if(void 0!==g||void 0!==y){const t=new e.P(null!=g?g:d,null!=y?y:m);n.center=this.unproject.call({worldSize:a},t).wrap()}return n}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const t=this._unmodified,{center:e,zoom:r}=this.getConstrained(this.center,this.zoom);this.center=e,this.zoom=r,this._unmodified=t,this._constraining=!1}_calcMatrices(){if(!this.height)return;const t=this._fov/2,r=this.centerOffset,n=this.point.x,i=this.point.y;this.cameraToCenterDistance=.5/Math.tan(t)*this.height,this._pixelPerMeter=e.b5(1,this.center.lat)*this.worldSize;let a=e.ao(new Float64Array(16));e.K(a,a,[this.width/2,-this.height/2,1]),e.J(a,a,[1,-1,0]),this.labelPlaneMatrix=a,a=e.ao(new Float64Array(16)),e.K(a,a,[1,-1,1]),e.J(a,a,[-1,-1,0]),e.K(a,a,[2/this.width,2/this.height,1]),this.glCoordMatrix=a;const o=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),s=Math.min(this.elevation,this.minElevationForCurrentTile),l=o-s*this._pixelPerMeter/Math.cos(this._pitch),c=s<0?l:o,u=Math.PI/2+this._pitch,h=this._fov*(.5+r.y/this.height),f=Math.sin(h)*c/Math.sin(e.ad(Math.PI-u-h,.01,Math.PI-.01)),p=this.getHorizon(),d=2*Math.atan(p/this.cameraToCenterDistance)*(.5+r.y/(2*p)),m=Math.sin(d)*c/Math.sin(e.ad(Math.PI-u-d,.01,Math.PI-.01)),g=Math.min(f,m);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*g+c),this.nearZ=this.height/50,a=new Float64Array(16),e.b6(a,this._fov,this.width/this.height,this.nearZ,this.farZ),a[8]=2*-r.x/this.width,a[9]=2*r.y/this.height,this.projectionMatrix=e.af(a),e.K(a,a,[1,-1,1]),e.J(a,a,[0,0,-this.cameraToCenterDistance]),e.b7(a,a,this._pitch),e.ae(a,a,this.angle),e.J(a,a,[-n,-i,0]),this.mercatorMatrix=e.K([],a,[this.worldSize,this.worldSize,this.worldSize]),e.K(a,a,[1,1,this._pixelPerMeter]),this.pixelMatrix=e.L(new Float64Array(16),this.labelPlaneMatrix,a),e.J(a,a,[0,0,-this.elevation]),this.modelViewProjectionMatrix=a,this.invModelViewProjectionMatrix=e.at([],a),this.fogMatrix=new Float64Array(16),e.b6(this.fogMatrix,this._fov,this.width/this.height,o,this.farZ),this.fogMatrix[8]=2*-r.x/this.width,this.fogMatrix[9]=2*r.y/this.height,e.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),e.b7(this.fogMatrix,this.fogMatrix,this._pitch),e.ae(this.fogMatrix,this.fogMatrix,this.angle),e.J(this.fogMatrix,this.fogMatrix,[-n,-i,0]),e.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=e.L(new Float64Array(16),this.labelPlaneMatrix,a);const y=this.width%2/2,v=this.height%2/2,x=Math.cos(this.angle),_=Math.sin(this.angle),b=n-Math.round(n)+x*y+_*v,w=i-Math.round(i)+x*v+_*y,T=new Float64Array(a);if(e.J(T,T,[b>.5?b-1:b,w>.5?w-1:w,0]),this.alignedModelViewProjectionMatrix=T,a=e.at(new Float64Array(16),this.pixelMatrix),!a)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=a,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const t=this.pointCoordinate(new e.P(0,0)),r=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.ag(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const t=this._pitch,r=Math.tan(t)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.P(0,r))}getCameraQueryGeometry(t){const r=this.getCameraPoint();if(1===t.length)return[t[0],r];{let n=r.x,i=r.y,a=r.x,o=r.y;for(const e of t)n=Math.min(n,e.x),i=Math.min(i,e.y),a=Math.max(a,e.x),o=Math.max(o,e.y);return[new e.P(n,i),new e.P(a,i),new e.P(a,o),new e.P(n,o),new e.P(n,i)]}}lngLatToCameraDepth(t,r){const n=this.locationCoordinate(t),i=[n.x*this.worldSize,n.y*this.worldSize,r,1];return e.ag(i,i,this.modelViewProjectionMatrix),i[2]/i[3]}}function Cn(t,e){let r,n=!1,i=null,a=null;const o=()=>{i=null,n&&(t.apply(a,r),i=setTimeout(o,e),n=!1)};return(...t)=>(n=!0,a=this,r=t,i||o(),i)}class Ln{constructor(t){this._getCurrentHash=()=>{const t=window.location.hash.replace(\"#\",\"\");if(this._hashName){let e;return t.split(\"&\").map((t=>t.split(\"=\"))).forEach((t=>{t[0]===this._hashName&&(e=t)})),(e&&e[1]||\"\").split(\"/\")}return t.split(\"/\")},this._onHashChange=()=>{const t=this._getCurrentHash();if(t.length>=3&&!t.some((t=>isNaN(t)))){const e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{const t=window.location.href.replace(/(#.+)?$/,this.getHashString());window.history.replaceState(window.history.state,null,t)},this._removeHash=()=>{const t=this._getCurrentHash();if(0===t.length)return;const e=t.join(\"/\");let r=e;r.split(\"&\").length>0&&(r=r.split(\"&\")[0]),this._hashName&&(r=`${this._hashName}=${e}`);let n=window.location.hash.replace(r,\"\");n.startsWith(\"#&\")?n=n.slice(0,1)+n.slice(2):\"#\"===n&&(n=\"\");let i=window.location.href.replace(/(#.+)?$/,n);i=i.replace(\"&&\",\"&\"),window.history.replaceState(window.history.state,null,i)},this._updateHash=Cn(this._updateHashUnthrottled,300),this._hashName=t&&encodeURIComponent(t)}addTo(t){return this._map=t,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(t){const e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch();let c=\"\";if(c+=t?`/${a}/${o}/${r}`:`${r}/${o}/${a}`,(s||l)&&(c+=\"/\"+Math.round(10*s)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const r=window.location.hash.slice(1).split(\"&\").map((r=>{const n=r.split(\"=\")[0];return n===t?(e=!0,`${n}=${c}`):r})).filter((t=>t));return e||r.push(`${t}=${c}`),`#${r.join(\"&\")}`}return`#${c}`}}const In={linearity:.3,easing:e.b8(0,0,.3,1)},Pn=e.e({deceleration:2500,maxSpeed:1400},In),zn=e.e({deceleration:20,maxSpeed:1400},In),On=e.e({deceleration:1e3,maxSpeed:360},In),Dn=e.e({deceleration:1e3,maxSpeed:90},In);class Rn{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:a.now(),settings:t})}_drainInertiaBuffer(){const t=this._inertiaBuffer,e=a.now();for(;t.length>0&&e-t[0].time>160;)t.shift()}_onMoveEnd(t){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const r={zoom:0,bearing:0,pitch:0,pan:new e.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:t}of this._inertiaBuffer)r.zoom+=t.zoomDelta||0,r.bearing+=t.bearingDelta||0,r.pitch+=t.pitchDelta||0,t.panDelta&&r.pan._add(t.panDelta),t.around&&(r.around=t.around),t.pinchAround&&(r.pinchAround=t.pinchAround);const n=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,i={};if(r.pan.mag()){const a=Bn(r.pan.mag(),n,e.e({},Pn,t||{}));i.offset=r.pan.mult(a.amount/r.pan.mag()),i.center=this._map.transform.center,Fn(i,a)}if(r.zoom){const t=Bn(r.zoom,n,zn);i.zoom=this._map.transform.zoom+t.amount,Fn(i,t)}if(r.bearing){const t=Bn(r.bearing,n,On);i.bearing=this._map.transform.bearing+e.ad(t.amount,-179,179),Fn(i,t)}if(r.pitch){const t=Bn(r.pitch,n,Dn);i.pitch=this._map.transform.pitch+t.amount,Fn(i,t)}if(i.zoom||i.bearing){const t=void 0===r.pinchAround?r.around:r.pinchAround;i.around=t?this._map.unproject(t):this._map.getCenter()}return this.clear(),e.e(i,{noMoveStart:!0})}}function Fn(t,e){(!t.duration||t.durationr.unproject(t))),l=a.reduce(((t,e,r,n)=>t.add(e.div(n.length))),new e.P(0,0));super(t,{points:a,point:l,lngLats:s,lngLat:r.unproject(l),originalEvent:n}),this._defaultPrevented=!1}}class Un extends e.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,e,r){super(t,{originalEvent:r}),this._defaultPrevented=!1}}class Vn{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance}reset(){delete this._mousedownPos}wheel(t){return this._firePreventable(new Un(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new Nn(t.type,this._map,t))}mouseup(t){this._map.fire(new Nn(t.type,this._map,t))}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new Nn(t.type,this._map,t))}dblclick(t){return this._firePreventable(new Nn(t.type,this._map,t))}mouseover(t){this._map.fire(new Nn(t.type,this._map,t))}mouseout(t){this._map.fire(new Nn(t.type,this._map,t))}touchstart(t){return this._firePreventable(new jn(t.type,this._map,t))}touchmove(t){this._map.fire(new jn(t.type,this._map,t))}touchend(t){this._map.fire(new jn(t.type,this._map,t))}touchcancel(t){this._map.fire(new jn(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class qn{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(t){this._map.fire(new Nn(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Nn(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new Nn(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Hn{constructor(t){this._map=t}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(t){return this.transform.pointLocation(e.P.convert(t),this._map.terrain)}}class Gn{constructor(t,e){this._map=t,this._tr=new Hn(t),this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(o.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)}mousemoveWindow(t,e){if(!this._active)return;const r=e;if(this._lastPos.equals(r)||!this._box&&r.dist(this._startPos)t.fitScreenCoordinates(n,i,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",t)}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",t))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(o.remove(this._box),this._box=null),o.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(t,r){return this._map.fire(new e.k(t,{originalEvent:r}))}}function Zn(t,e){if(t.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${t.length}, points ${e.length}`);const r={};for(let n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=t.timeStamp),n.length===this.numTouches&&(this.centroid=function(t){const r=new e.P(0,0);for(const e of t)r._add(e);return r.div(t.length)}(r),this.touches=Zn(n,r)))}touchmove(t,e,r){if(this.aborted||!this.centroid)return;const n=Zn(r,e);for(const t in this.touches){const e=this.touches[t],r=n[t];(!r||r.dist(e)>30)&&(this.aborted=!0)}}touchend(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class Yn{constructor(t){this.singleTap=new Wn(t),this.numTaps=t.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(t,e,r){this.singleTap.touchstart(t,e,r)}touchmove(t,e,r){this.singleTap.touchmove(t,e,r)}touchend(t,e,r){const n=this.singleTap.touchend(t,e,r);if(n){const e=t.timeStamp-this.lastTime<500,r=!this.lastTap||this.lastTap.dist(n)<30;if(e&&r||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}}}class Xn{constructor(t){this._tr=new Hn(t),this._zoomIn=new Yn({numTouches:1,numTaps:2}),this._zoomOut=new Yn({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)}touchmove(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)}touchend(t,e,r){const n=this._zoomIn.touchend(t,e,r),i=this._zoomOut.touchend(t,e,r),a=this._tr;return n?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:a.zoom+1,around:a.unproject(n)},{originalEvent:t})}):i?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:a.zoom-1,around:a.unproject(i)},{originalEvent:t})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class $n{constructor(t){this._enabled=!!t.enable,this._moveStateManager=t.moveStateManager,this._clickTolerance=t.clickTolerance||1,this._moveFunction=t.move,this._activateOnStart=!!t.activateOnStart,t.assignEvents(this),this.reset()}reset(t){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(t)}_move(...t){const e=this._moveFunction(...t);if(e.bearingDelta||e.pitchDelta||e.around||e.panDelta)return this._active=!0,e}dragStart(t,e){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(t)&&(this._moveStateManager.startMove(t),this._lastPoint=e.length?e[0]:e,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(t,e){if(!this.isEnabled())return;const r=this._lastPoint;if(!r)return;if(t.preventDefault(),!this._moveStateManager.isValidMoveEvent(t))return void this.reset(t);const n=e.length?e[0]:e;return!this._moved&&n.dist(r){t.mousedown=t.dragStart,t.mousemoveWindow=t.dragMove,t.mouseup=t.dragEnd,t.contextmenu=t=>{t.preventDefault()}},ei=({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:r=.8})=>{const n=new Kn({checkCorrectEvent:t=>0===o.mouseButton(t)&&t.ctrlKey||2===o.mouseButton(t)});return new $n({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*r}),moveStateManager:n,enable:t,assignEvents:ti})},ri=({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:r=-.5})=>{const n=new Kn({checkCorrectEvent:t=>0===o.mouseButton(t)&&t.ctrlKey||2===o.mouseButton(t)});return new $n({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*r}),moveStateManager:n,enable:t,assignEvents:ti})};class ni{constructor(t,e){this._clickTolerance=t.clickTolerance||1,this._map=e,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new e.P(0,0)}_shouldBePrevented(t){return t<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(t,e,r){return this._calculateTransform(t,e,r)}touchmove(t,e,r){if(this._active){if(!this._shouldBePrevented(r.length))return t.preventDefault(),this._calculateTransform(t,e,r);this._map.cooperativeGestures.notifyGestureBlocked(\"touch_pan\",t)}}touchend(t,e,r){this._calculateTransform(t,e,r),this._active&&this._shouldBePrevented(r.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(t,r,n){n.length>0&&(this._active=!0);const i=Zn(n,r),a=new e.P(0,0),o=new e.P(0,0);let s=0;for(const t in i){const e=i[t],r=this._touches[t];r&&(a._add(e),o._add(e.sub(r)),s++,i[t]=e)}if(this._touches=i,this._shouldBePrevented(s)||!o.mag())return;const l=o.div(s);return this._sum._add(l),this._sum.mag()Math.abs(t.x)}class hi extends ii{constructor(t){super(),this._currentTouchCount=0,this._map=t}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(t,e,r){super.touchstart(t,e,r),this._currentTouchCount=r.length}_start(t){this._lastPoints=t,ui(t[0].sub(t[1]))&&(this._valid=!1)}_move(t,e,r){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,r){if(void 0!==this._valid)return this._valid;const n=t.mag()>=2,i=e.mag()>=2;if(!n&&!i)return;if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;const a=t.y>0==e.y>0;return ui(t)&&ui(e)&&a}}const fi={panStep:100,bearingStep:15,pitchStep:10};class pi{constructor(t){this._tr=new Hn(t);const e=fi;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,r=0,n=0,i=0,a=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),i=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),i=1);break;case 38:t.shiftKey?n=1:(t.preventDefault(),a=-1);break;case 40:t.shiftKey?n=-1:(t.preventDefault(),a=1);break;default:return}return this._rotationDisabled&&(r=0,n=0),{cameraAnimation:o=>{const s=this._tr;o.easeTo({duration:300,easeId:\"keyboardHandler\",easing:di,zoom:e?Math.round(s.zoom)+e*(t.shiftKey?2:1):s.zoom,bearing:s.bearing+r*this._bearingStep,pitch:s.pitch+n*this._pitchStep,offset:[-i*this._panStep,-a*this._panStep],center:s.center},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function di(t){return t*(2-t)}const mi=4.000244140625;class gi{constructor(t,e){this._onTimeout=t=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t)},this._map=t,this._tr=new Hn(t),this._triggerRenderFrame=e,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(t){this._defaultZoomRate=t}setWheelZoomRate(t){this._wheelZoomRate=t}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!t&&\"center\"===t.around)}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(t){return!!this._map.cooperativeGestures.isEnabled()&&!(t.ctrlKey||this._map.cooperativeGestures.isBypassed(t))}wheel(t){if(!this.isEnabled())return;if(this._shouldBePrevented(t))return void this._map.cooperativeGestures.notifyGestureBlocked(\"wheel_zoom\",t);let e=t.deltaMode===WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==e&&e%mi==0?this._type=\"wheel\":0!==e&&Math.abs(e)<4?this._type=\"trackpad\":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(n*e)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this._active||this._start(t)),t.preventDefault()}_start(t){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const r=o.mousePos(this._map.getCanvas(),t),n=this._tr;r.y>n.transform.height/2-n.transform.getHorizon()?this._around=e.N.convert(this._aroundCenter?n.center:n.unproject(r)):this._around=e.N.convert(n.center),this._aroundPoint=n.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._tr.transform;if(0!==this._delta){const e=\"wheel\"===this._type&&Math.abs(this._delta)>mi?this._wheelZoomRate:this._defaultZoomRate;let r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);const n=\"number\"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(n*r))),\"wheel\"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const r=\"number\"==typeof this._targetZoom?this._targetZoom:t.zoom,n=this._startZoom,i=this._easing;let o,s=!1;const l=a.now()-this._lastWheelEventTime;if(\"wheel\"===this._type&&n&&i&&l){const t=Math.min(l/200,1),a=i(t);o=e.z.number(n,r,a),t<1?this._frameId||(this._frameId=!0):s=!0}else o=r,s=!0;return this._active=!0,s&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!s,zoomDelta:o-t.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let r=e.b9;if(this._prevEase){const t=this._prevEase,n=(a.now()-t.start)/t.duration,i=t.easing(n+.01)-t.easing(n),o=.27/Math.sqrt(i*i+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=e.b8(o,s,.25,1)}return this._prevEase={start:a.now(),duration:t,easing:r},r}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class yi{constructor(t,e){this._clickZoom=t,this._tapZoom=e}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class vi{constructor(t){this._tr=new Hn(t),this.reset()}reset(){this._active=!1}dblclick(t,e){return t.preventDefault(),{cameraAnimation:r=>{r.easeTo({duration:300,zoom:this._tr.zoom+(t.shiftKey?-1:1),around:this._tr.unproject(e)},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class xi{constructor(){this._tap=new Yn({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(t,e,r){if(!this._swipePoint)if(this._tapTime){const n=e[0],i=t.timeStamp-this._tapTime<500,a=this._tapPoint.dist(n)<30;i&&a?r.length>0&&(this._swipePoint=n,this._swipeTouch=r[0].identifier):this.reset()}else this._tap.touchstart(t,e,r)}touchmove(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;const n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)}touchend(t,e,r){if(this._tapTime)this._swipePoint&&0===r.length&&this.reset();else{const n=this._tap.touchend(t,e,r);n&&(this._tapTime=t.timeStamp,this._tapPoint=n)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class _i{constructor(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class bi{constructor(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class wi{constructor(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class Ti{constructor(t,e){this._bypassKey=-1!==navigator.userAgent.indexOf(\"Mac\")?\"metaKey\":\"ctrlKey\",this._map=t,this._options=e,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;const t=this._map.getCanvasContainer();t.classList.add(\"maplibregl-cooperative-gestures\"),this._container=o.create(\"div\",\"maplibregl-cooperative-gesture-screen\",t);let e=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");\"metaKey\"===this._bypassKey&&(e=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));const r=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),n=document.createElement(\"div\");n.className=\"maplibregl-desktop-message\",n.textContent=e,this._container.appendChild(n);const i=document.createElement(\"div\");i.className=\"maplibregl-mobile-message\",i.textContent=r,this._container.appendChild(i),this._container.setAttribute(\"aria-hidden\",\"true\")}_destroyUI(){this._container&&(o.remove(this._container),this._map.getCanvasContainer().classList.remove(\"maplibregl-cooperative-gestures\")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(t){return t[this._bypassKey]}notifyGestureBlocked(t,r){this._enabled&&(this._map.fire(new e.k(\"cooperativegestureprevented\",{gestureType:t,originalEvent:r})),this._container.classList.add(\"maplibregl-show\"),setTimeout((()=>{this._container.classList.remove(\"maplibregl-show\")}),100))}}const ki=t=>t.zoom||t.drag||t.pitch||t.rotate;class Ai extends e.k{}function Mi(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class Si{constructor(t,e){this.handleWindowEvent=t=>{this.handleEvent(t,`${t.type}Window`)},this.handleEvent=(t,e)=>{if(\"blur\"===t.type)return void this.stop(!0);this._updatingCamera=!0;const r=\"renderFrame\"===t.type?void 0:t,n={needsRenderFrame:!1},i={},a={},s=t.touches,l=s?this._getMapTouches(s):void 0,c=l?o.touchPos(this._map.getCanvas(),l):o.mousePos(this._map.getCanvas(),t);for(const{handlerName:o,handler:s,allowed:u}of this._handlers){if(!s.isEnabled())continue;let h;this._blockedByActive(a,u,o)?s.reset():s[e||t.type]&&(h=s[e||t.type](t,c,l),this.mergeHandlerResult(n,i,h,o,r),h&&h.needsRenderFrame&&this._triggerRenderFrame()),(h||s.isActive())&&(a[o]=s)}const u={};for(const t in this._previousActiveHandlers)a[t]||(u[t]=r);this._previousActiveHandlers=a,(Object.keys(u).length||Mi(n))&&(this._changes.push([n,i,u]),this._triggerRenderFrame()),(Object.keys(a).length||Mi(n))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:h}=n;h&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],h(this._map))},this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Rn(t),this._bearingSnap=e.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(e);const r=this._el;this._listeners=[[r,\"touchstart\",{passive:!0}],[r,\"touchmove\",{passive:!1}],[r,\"touchend\",void 0],[r,\"touchcancel\",void 0],[r,\"mousedown\",void 0],[r,\"mousemove\",void 0],[r,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[r,\"mouseover\",void 0],[r,\"mouseout\",void 0],[r,\"dblclick\",void 0],[r,\"click\",void 0],[r,\"keydown\",{capture:!1}],[r,\"keyup\",void 0],[r,\"wheel\",{passive:!1}],[r,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(const[t,e,r]of this._listeners)o.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,r)}destroy(){for(const[t,e,r]of this._listeners)o.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,r)}_addDefaultHandlers(t){const e=this._map,r=e.getCanvasContainer();this._add(\"mapEvent\",new Vn(e,t));const n=e.boxZoom=new Gn(e,t);this._add(\"boxZoom\",n),t.interactive&&t.boxZoom&&n.enable();const i=e.cooperativeGestures=new Ti(e,t.cooperativeGestures);this._add(\"cooperativeGestures\",i),t.cooperativeGestures&&i.enable();const a=new Xn(e),s=new vi(e);e.doubleClickZoom=new yi(s,a),this._add(\"tapZoom\",a),this._add(\"clickZoom\",s),t.interactive&&t.doubleClickZoom&&e.doubleClickZoom.enable();const l=new xi;this._add(\"tapDragZoom\",l);const c=e.touchPitch=new hi(e);this._add(\"touchPitch\",c),t.interactive&&t.touchPitch&&e.touchPitch.enable(t.touchPitch);const u=ei(t),h=ri(t);e.dragRotate=new bi(t,u,h),this._add(\"mouseRotate\",u,[\"mousePitch\"]),this._add(\"mousePitch\",h,[\"mouseRotate\"]),t.interactive&&t.dragRotate&&e.dragRotate.enable();const f=(({enable:t,clickTolerance:e})=>{const r=new Kn({checkCorrectEvent:t=>0===o.mouseButton(t)&&!t.ctrlKey});return new $n({clickTolerance:e,move:(t,e)=>({around:e,panDelta:e.sub(t)}),activateOnStart:!0,moveStateManager:r,enable:t,assignEvents:ti})})(t),p=new ni(t,e);e.dragPan=new _i(r,f,p),this._add(\"mousePan\",f),this._add(\"touchPan\",p,[\"touchZoom\",\"touchRotate\"]),t.interactive&&t.dragPan&&e.dragPan.enable(t.dragPan);const d=new ci,m=new si;e.touchZoomRotate=new wi(r,m,d,l),this._add(\"touchRotate\",d,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",m,[\"touchPan\",\"touchRotate\"]),t.interactive&&t.touchZoomRotate&&e.touchZoomRotate.enable(t.touchZoomRotate);const g=e.scrollZoom=new gi(e,(()=>this._triggerRenderFrame()));this._add(\"scrollZoom\",g,[\"mousePan\"]),t.interactive&&t.scrollZoom&&e.scrollZoom.enable(t.scrollZoom);const y=e.keyboard=new pi(e);this._add(\"keyboard\",y),t.interactive&&t.keyboard&&e.keyboard.enable(),this._add(\"blockableMapEvent\",new qn(e))}_add(t,e,r){this._handlers.push({handlerName:t,handler:e,allowed:r}),this._handlersById[t]=e}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[]}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return Boolean(ki(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,r){for(const n in t)if(n!==r&&(!e||e.indexOf(n)<0))return!0;return!1}_getMapTouches(t){const e=[];for(const r of t){const t=r.target;this._el.contains(t)&&e.push(r)}return e}mergeHandlerResult(t,r,n,i,a){if(!n)return;e.e(t,n);const o={handlerName:i,originalEvent:n.originalEvent||a};void 0!==n.zoomDelta&&(r.zoom=o),void 0!==n.panDelta&&(r.drag=o),void 0!==n.pitchDelta&&(r.pitch=o),void 0!==n.bearingDelta&&(r.rotate=o)}_applyChanges(){const t={},r={},n={};for(const[i,a,o]of this._changes)i.panDelta&&(t.panDelta=(t.panDelta||new e.P(0,0))._add(i.panDelta)),i.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+i.zoomDelta),i.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+i.bearingDelta),i.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+i.pitchDelta),void 0!==i.around&&(t.around=i.around),void 0!==i.pinchAround&&(t.pinchAround=i.pinchAround),i.noInertia&&(t.noInertia=i.noInertia),e.e(r,a),e.e(n,o);this._updateMapTransform(t,r,n),this._changes=[]}_updateMapTransform(t,e,r){const n=this._map,i=n._getTransformForUpdate(),a=n.terrain;if(!(Mi(t)||a&&this._terrainMovement))return this._fireEvents(e,r,!0);let{panDelta:o,zoomDelta:s,bearingDelta:l,pitchDelta:c,around:u,pinchAround:h}=t;void 0!==h&&(u=h),n._stop(!0),u=u||n.transform.centerPoint;const f=i.pointLocation(o?u.sub(o):u);l&&(i.bearing+=l),c&&(i.pitch+=c),s&&(i.zoom+=s),a?this._terrainMovement||!e.drag&&!e.zoom?e.drag&&this._terrainMovement?i.center=i.pointLocation(i.centerPoint.sub(o)):i.setLocationAtPoint(f,u):(this._terrainMovement=!0,this._map._elevationFreeze=!0,i.setLocationAtPoint(f,u)):i.setLocationAtPoint(f,u),n._applyUpdatedTransform(i),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,r,!0)}_fireEvents(t,r,n){const i=ki(this._eventsInProgress),o=ki(t),s={};for(const e in t){const{originalEvent:r}=t[e];this._eventsInProgress[e]||(s[`${e}start`]=r),this._eventsInProgress[e]=t[e]}!i&&o&&this._fireEvent(\"movestart\",o.originalEvent);for(const t in s)this._fireEvent(t,s[t]);o&&this._fireEvent(\"move\",o.originalEvent);for(const e in t){const{originalEvent:r}=t[e];this._fireEvent(e,r)}const l={};let c;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:n}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],c=r[e]||n,l[`${t}end`]=c)}for(const t in l)this._fireEvent(t,l[t]);const u=ki(this._eventsInProgress),h=(i||o)&&!u;if(h&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;const t=this._map._getTransformForUpdate();t.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(t)}if(n&&h){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),r=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Ai(\"renderFrame\",{timeStamp:t})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}class Ei extends e.E{constructor(t,e){super(),this._renderFrameCallback=()=>{const t=Math.min((a.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=e.bearingSnap,this.on(\"moveend\",(()=>{delete this._requestedCameraState}))}getCenter(){return new e.N(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(t,r,n){return t=e.P.convert(t).mult(-1),this.panTo(this.transform.center,e.e({offset:t},r),n)}panTo(t,r,n){return this.easeTo(e.e({center:t},r),n)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(t,r,n){return this.easeTo(e.e({zoom:t},r),n)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(t,r,n){return this.easeTo(e.e({bearing:t},r),n)}resetNorth(t,r){return this.rotateTo(0,e.e({duration:1e3},t),r),this}resetNorthPitch(t,r){return this.easeTo(e.e({bearing:0,pitch:0,duration:1e3},t),r),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(i.zoom=e.z.number(o,y,n)),this._rotating&&(i.bearing=e.z.number(s,u,n)),this._pitching&&(i.pitch=e.z.number(l,h,n)),this._padding&&(i.interpolatePadding(c,f,n),d=i.centerPoint.add(p)),this.terrain&&!t.freezeElevation&&this._updateElevation(n),b)i.setLocationAtPoint(b,w);else{const t=i.zoomScale(i.zoom-o),e=y>o?Math.min(2,_):Math.max(.5,_),r=Math.pow(e,1-n),a=i.unproject(v.add(x.mult(n*r)).mult(t));i.setLocationAtPoint(i.renderWorldCopies?a.wrap():a,d)}this._applyUpdatedTransform(i),this._fireMoveEvents(r)}),(e=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(r,e)}),t),this}_prepareEase(t,r,n={}){this._moving=!0,r||n.moving||this.fire(new e.k(\"movestart\",t)),this._zooming&&!n.zooming&&this.fire(new e.k(\"zoomstart\",t)),this._rotating&&!n.rotating&&this.fire(new e.k(\"rotatestart\",t)),this._pitching&&!n.pitching&&this.fire(new e.k(\"pitchstart\",t))}_prepareElevation(t){this._elevationCenter=t,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(t,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(t){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const r=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(t<1&&r!==this._elevationTarget){const e=this._elevationTarget-this._elevationStart,n=(r-(e*t+this._elevationStart))/(1-t);this._elevationStart+=t*(e-n),this._elevationTarget=r}this.transform.elevation=e.z.number(this._elevationStart,this._elevationTarget,t)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(t){const e=t.getCameraPosition(),r=this.terrain.getElevationForLngLatZoom(e.lngLat,t.zoom);if(e.altitudethis._elevateCameraIfInsideTerrain(t))),this.transformCameraUpdate&&e.push((t=>this.transformCameraUpdate(t))),!e.length)return;const r=t.clone();for(const t of e){const e=r.clone(),{center:n,zoom:i,pitch:a,bearing:o,elevation:s}=t(e);n&&(e.center=n),void 0!==i&&(e.zoom=i),void 0!==a&&(e.pitch=a),void 0!==o&&(e.bearing=o),void 0!==s&&(e.elevation=s),r.apply(e)}this.transform.apply(r)}_fireMoveEvents(t){this.fire(new e.k(\"move\",t)),this._zooming&&this.fire(new e.k(\"zoom\",t)),this._rotating&&this.fire(new e.k(\"rotate\",t)),this._pitching&&this.fire(new e.k(\"pitch\",t))}_afterEase(t,r){if(this._easeId&&r&&this._easeId===r)return;delete this._easeId;const n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new e.k(\"zoomend\",t)),i&&this.fire(new e.k(\"rotateend\",t)),a&&this.fire(new e.k(\"pitchend\",t)),this.fire(new e.k(\"moveend\",t))}flyTo(t,r){var n;if(!t.essential&&a.prefersReducedMotion){const n=e.M(t,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(n,r)}this.stop(),t=e.e({offset:[0,0],speed:1.2,curve:1.42,easing:e.b9},t);const i=this._getTransformForUpdate(),o=i.zoom,s=i.bearing,l=i.pitch,c=i.padding,u=\"bearing\"in t?this._normalizeBearing(t.bearing,s):s,h=\"pitch\"in t?+t.pitch:l,f=\"padding\"in t?t.padding:i.padding,p=e.P.convert(t.offset);let d=i.centerPoint.add(p);const m=i.pointLocation(d),{center:g,zoom:y}=i.getConstrained(e.N.convert(t.center||m),null!==(n=t.zoom)&&void 0!==n?n:o);this._normalizeCenter(g,i);const v=i.zoomScale(y-o),x=i.project(m),_=i.project(g).sub(x);let b=t.curve;const w=Math.max(i.width,i.height),T=w/v,k=_.mag();if(\"minZoom\"in t){const r=e.ad(Math.min(t.minZoom,o,y),i.minZoom,i.maxZoom),n=w/i.zoomScale(r-o);b=Math.sqrt(n/k*2)}const A=b*b;function M(t){const e=(T*T-w*w+(t?-1:1)*A*A*k*k)/(2*(t?T:w)*A*k);return Math.log(Math.sqrt(e*e+1)-e)}function S(t){return(Math.exp(t)-Math.exp(-t))/2}function E(t){return(Math.exp(t)+Math.exp(-t))/2}const C=M(!1);let L=function(t){return E(C)/E(C+b*t)},I=function(t){return w*((E(C)*(S(e=C+b*t)/E(e))-S(C))/A)/k;var e},P=(M(!0)-C)/b;if(Math.abs(k)<1e-6||!isFinite(P)){if(Math.abs(w-T)<1e-6)return this.easeTo(t,r);const e=T0,L=t=>Math.exp(e*b*t)}if(\"duration\"in t)t.duration=+t.duration;else{const e=\"screenSpeed\"in t?+t.screenSpeed/b:+t.speed;t.duration=1e3*P/e}return t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=s!==u,this._pitching=h!==l,this._padding=!i.isPaddingEqual(f),this._prepareEase(r,!1),this.terrain&&this._prepareElevation(g),this._ease((n=>{const a=n*P,m=1/L(a);i.zoom=1===n?y:o+i.scaleZoom(m),this._rotating&&(i.bearing=e.z.number(s,u,n)),this._pitching&&(i.pitch=e.z.number(l,h,n)),this._padding&&(i.interpolatePadding(c,f,n),d=i.centerPoint.add(p)),this.terrain&&!t.freezeElevation&&this._updateElevation(n);const v=1===n?g:i.unproject(x.add(_.mult(I(a))).mult(m));i.setLocationAtPoint(i.renderWorldCopies?v.wrap():v,d),this._applyUpdatedTransform(i),this._fireMoveEvents(r)}),(()=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(r)}),t),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,e){var r;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e)}return t||null===(r=this.handlers)||void 0===r||r.stop(!1),this}_ease(t,e,r){!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._easeOptions=r,this._onEaseFrame=t,this._onEaseEnd=e,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(t,r){t=e.b3(t,-180,180);const n=Math.abs(t-r);return Math.abs(t-360-r)180?-360:r<-180?360:0}queryTerrainElevation(t){return this.terrain?this.terrain.getElevationForLngLatZoom(e.N.convert(t),this.transform.tileZoom)-this.transform.elevation:null}}const Ci={compact:!0,customAttribution:'
MapLibre'};class Li{constructor(t=Ci){this._toggleAttribution=()=>{this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")))},this._updateData=t=>{!t||\"metadata\"!==t.sourceDataType&&\"visibility\"!==t.sourceDataType&&\"style\"!==t.dataType&&\"terrain\"!==t.type||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"))},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\")},this.options=t}getDefaultPosition(){return\"bottom-right\"}onAdd(t){return this._map=t,this._compact=this.options.compact,this._container=o.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=o.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=o.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){o.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(t,e){const r=this._map._getUIString(`AttributionControl.${e}`);t.title=r,t.setAttribute(\"aria-label\",r)}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((t=>\"string\"!=typeof t?\"\":t))):\"string\"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id}const e=this._map.style.sourceCaches;for(const r in e){const n=e[r];if(n.used||n.usedForTerrain){const e=n.getSource();e.attribution&&t.indexOf(e.attribution)<0&&t.push(e.attribution)}}t=t.filter((t=>String(t).trim())),t.sort(((t,e)=>t.length-e.length)),t=t.filter(((e,r)=>{for(let n=r+1;n=0)return!1;return!0}));const r=t.join(\" | \");r!==this._attribHTML&&(this._attribHTML=r,t.length?(this._innerContainer.innerHTML=r,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class Ii{constructor(t={}){this._updateCompact=()=>{const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add(\"maplibregl-compact\"):e.classList.remove(\"maplibregl-compact\")}},this.options=t}getDefaultPosition(){return\"bottom-left\"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=o.create(\"div\",\"maplibregl-ctrl\");const e=o.create(\"a\",\"maplibregl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://maplibre.org/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){o.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class Pi{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,r=e?this._queue.concat(e):this._queue;for(const e of r)if(e.id===t)return void(e.cancelled=!0)}run(t=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");const e=this._currentlyRunning=this._queue;this._queue=[];for(const r of e)if(!r.cancelled&&(r.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var zi=e.Y([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class Oi extends e.E{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(t,r){this.sourceCache.update(t,r),this._renderableTilesKeys=[];const n={};for(const i of t.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:r}))n[i.key]=!0,this._renderableTilesKeys.push(i.key),this._tiles[i.key]||(i.posMatrix=new Float64Array(16),e.aQ(i.posMatrix,0,e.X,0,e.X,0,1),this._tiles[i.key]=new ht(i,this.tileSize));for(const t in this._tiles)n[t]||delete this._tiles[t]}freeRtt(t){for(const e in this._tiles){const r=this._tiles[e];(!t||r.tileID.equals(t)||r.tileID.isChildOf(t)||t.isChildOf(r.tileID))&&(r.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(t){const r={};for(const n of this._renderableTilesKeys){const i=this._tiles[n].tileID;if(i.canonical.equals(t.canonical)){const i=t.clone();i.posMatrix=new Float64Array(16),e.aQ(i.posMatrix,0,e.X,0,e.X,0,1),r[n]=i}else if(i.canonical.isChildOf(t.canonical)){const a=t.clone();a.posMatrix=new Float64Array(16);const o=i.canonical.z-t.canonical.z,s=i.canonical.x-(i.canonical.x>>o<>o<>o;e.aQ(a.posMatrix,0,c,0,c,0,1),e.J(a.posMatrix,a.posMatrix,[-s*c,-l*c,0]),r[n]=a}else if(t.canonical.isChildOf(i.canonical)){const a=t.clone();a.posMatrix=new Float64Array(16);const o=t.canonical.z-i.canonical.z,s=t.canonical.x-(t.canonical.x>>o<>o<>o;e.aQ(a.posMatrix,0,e.X,0,e.X,0,1),e.J(a.posMatrix,a.posMatrix,[s*c,l*c,0]),e.K(a.posMatrix,a.posMatrix,[1/2**o,1/2**o,0]),r[n]=a}}return r}getSourceTile(t,e){const r=this.sourceCache._source;let n=t.overscaledZ-this.deltaZoom;if(n>r.maxzoom&&(n=r.maxzoom),n=r.minzoom&&(!i||!i.dem);)i=this.sourceCache.getTileByID(t.scaledTo(n--).key);return i}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeAdded>=t))}}class Di{constructor(t,e,r){this.painter=t,this.sourceCache=new Oi(e),this.options=r,this.exaggeration=\"number\"==typeof r.exaggeration?r.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(t,r,n,i=e.X){var a;if(!(r>=0&&r=0&&nt.canonical.z&&(t.canonical.z>=n?i=t.canonical.z-n:e.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));const a=t.canonical.x-(t.canonical.x>>i<>i<>8<<4|t>>8,r[e+3]=0;const n=new e.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(r.buffer)),i=new w(t,n,t.gl.RGBA,{premultiply:!1});return i.bind(t.gl.NEAREST,t.gl.CLAMP_TO_EDGE),this._coordsTexture=i,i}pointCoordinate(t){this.painter.maybeDrawDepthAndCoords(!0);const r=new Uint8Array(4),n=this.painter.context,i=n.gl,a=Math.round(t.x*this.painter.pixelRatio/devicePixelRatio),o=Math.round(t.y*this.painter.pixelRatio/devicePixelRatio),s=Math.round(this.painter.height/devicePixelRatio);n.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),i.readPixels(a,s-o-1,1,1,i.RGBA,i.UNSIGNED_BYTE,r),n.bindFramebuffer.set(null);const l=r[0]+(r[2]>>4<<8),c=r[1]+((15&r[2])<<8),u=this.coordsIndex[255-r[3]],h=u&&this.sourceCache.getTileByID(u);if(!h)return null;const f=this._coordsTextureSize,p=(1<t.id!==e)),this._recentlyUsed.push(t.id)}stampObject(t){t.stamp=++this._stamp}getOrCreateFreeObject(){for(const t of this._recentlyUsed)if(!this._objects[t].inUse)return this._objects[t];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");const t=this._createObject(this._objects.length);return this._objects.push(t),t}freeObject(t){t.inUse=!1}freeAllObjects(){for(const t of this._objects)this.freeObject(t)}isFull(){return!(this._objects.length!t.inUse))}}const Fi={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Bi{constructor(t,e){this.painter=t,this.terrain=e,this.pool=new Ri(t.context,30,e.sourceCache.tileSize*e.qualityFactor)}destruct(){this.pool.destruct()}getTexture(t){return this.pool.getObjectForId(t.rtt[this._stacks.length-1].id).texture}prepareForRender(t,e){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=t._order.filter((r=>!t._layers[r].isHidden(e))),this._coordsDescendingInv={};for(const e in t.sourceCaches){this._coordsDescendingInv[e]={};const r=t.sourceCaches[e].getVisibleCoordinates();for(const t of r){const r=this.terrain.sourceCache.getTerrainCoords(t);for(const t in r)this._coordsDescendingInv[e][t]||(this._coordsDescendingInv[e][t]=[]),this._coordsDescendingInv[e][t].push(r[t])}}this._coordsDescendingInvStr={};for(const e of t._order){const r=t._layers[e],n=r.source;if(Fi[r.type]&&!this._coordsDescendingInvStr[n]){this._coordsDescendingInvStr[n]={};for(const t in this._coordsDescendingInv[n])this._coordsDescendingInvStr[n][t]=this._coordsDescendingInv[n][t].map((t=>t.key)).sort().join()}}for(const t of this._renderableTiles)for(const e in this._coordsDescendingInvStr){const r=this._coordsDescendingInvStr[e][t.tileID.key];r&&r!==t.rttCoords[e]&&(t.rtt=[])}}renderLayer(t){if(t.isHidden(this.painter.transform.zoom))return!1;const r=t.type,n=this.painter,i=this._renderableLayerIds[this._renderableLayerIds.length-1]===t.id;if(Fi[r]&&(this._prevType&&Fi[this._prevType]||this._stacks.push([]),this._prevType=r,this._stacks[this._stacks.length-1].push(t.id),!i))return!0;if(Fi[this._prevType]||Fi[r]&&i){this._prevType=r;const t=this._stacks.length-1,i=this._stacks[t]||[];for(const r of this._renderableTiles){if(this.pool.isFull()&&(bn(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(r),r.rtt[t]){const e=this.pool.getObjectForId(r.rtt[t].id);if(e.stamp===r.rtt[t].stamp){this.pool.useObject(e);continue}}const a=this.pool.getOrCreateFreeObject();this.pool.useObject(a),this.pool.stampObject(a),r.rtt[t]={id:a.id,stamp:a.stamp},n.context.bindFramebuffer.set(a.fbo.framebuffer),n.context.clear({color:e.aN.transparent,stencil:0}),n.currentStencilSource=void 0;for(let t=0;t{t.touchstart=t.dragStart,t.touchmoveWindow=t.dragMove,t.touchend=t.dragEnd},qi={showCompass:!0,showZoom:!0,visualizePitch:!1};class Hi{constructor(t,r,n=!1){this.mousedown=t=>{this.startMouse(e.e({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),o.mousePos(this.element,t)),o.addEventListener(window,\"mousemove\",this.mousemove),o.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=t=>{this.moveMouse(t,o.mousePos(this.element,t))},this.mouseup=t=>{this.mouseRotate.dragEnd(t),this.mousePitch&&this.mousePitch.dragEnd(t),this.offTemp()},this.touchstart=t=>{1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=o.touchPos(this.element,t.targetTouches)[0],this.startTouch(t,this._startPos),o.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),o.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=t=>{1!==t.targetTouches.length?this.reset():(this._lastPos=o.touchPos(this.element,t.targetTouches)[0],this.moveTouch(t,this._lastPos))},this.touchend=t=>{0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;const i=t.dragRotate._mouseRotate.getClickTolerance(),a=t.dragRotate._mousePitch.getClickTolerance();this.element=r,this.mouseRotate=ei({clickTolerance:i,enable:!0}),this.touchRotate=(({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:r=.8})=>{const n=new Qn;return new $n({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*r}),moveStateManager:n,enable:t,assignEvents:Vi})})({clickTolerance:i,enable:!0}),this.map=t,n&&(this.mousePitch=ri({clickTolerance:a,enable:!0}),this.touchPitch=(({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:r=-.5})=>{const n=new Qn;return new $n({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*r}),moveStateManager:n,enable:t,assignEvents:Vi})})({clickTolerance:a,enable:!0})),o.addEventListener(r,\"mousedown\",this.mousedown),o.addEventListener(r,\"touchstart\",this.touchstart,{passive:!1}),o.addEventListener(r,\"touchcancel\",this.reset)}startMouse(t,e){this.mouseRotate.dragStart(t,e),this.mousePitch&&this.mousePitch.dragStart(t,e),o.disableDrag()}startTouch(t,e){this.touchRotate.dragStart(t,e),this.touchPitch&&this.touchPitch.dragStart(t,e),o.disableDrag()}moveMouse(t,e){const r=this.map,{bearingDelta:n}=this.mouseRotate.dragMove(t,e)||{};if(n&&r.setBearing(r.getBearing()+n),this.mousePitch){const{pitchDelta:n}=this.mousePitch.dragMove(t,e)||{};n&&r.setPitch(r.getPitch()+n)}}moveTouch(t,e){const r=this.map,{bearingDelta:n}=this.touchRotate.dragMove(t,e)||{};if(n&&r.setBearing(r.getBearing()+n),this.touchPitch){const{pitchDelta:n}=this.touchPitch.dragMove(t,e)||{};n&&r.setPitch(r.getPitch()+n)}}off(){const t=this.element;o.removeEventListener(t,\"mousedown\",this.mousedown),o.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),o.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),o.removeEventListener(window,\"touchend\",this.touchend),o.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp()}offTemp(){o.enableDrag(),o.removeEventListener(window,\"mousemove\",this.mousemove),o.removeEventListener(window,\"mouseup\",this.mouseup),o.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),o.removeEventListener(window,\"touchend\",this.touchend)}}let Gi;function Zi(t,r,n){const i=new e.N(t.lng,t.lat);if(t=new e.N(t.lng,t.lat),r){const i=new e.N(t.lng-360,t.lat),a=new e.N(t.lng+360,t.lat),o=n.locationPoint(t).distSqr(r);n.locationPoint(i).distSqr(r)180;){const e=n.locationPoint(t);if(e.x>=0&&e.y>=0&&e.x<=n.width&&e.y<=n.height)break;t.lng>n.center.lng?t.lng-=360:t.lng+=360}return t.lng!==i.lng&&n.locationPoint(t).y>n.height/2-n.getHorizon()?t:i}const Wi={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function Yi(t,e,r){const n=t.classList;for(const t in Wi)n.remove(`maplibregl-${r}-anchor-${t}`);n.add(`maplibregl-${r}-anchor-${e}`)}class Xi extends e.E{constructor(t){if(super(),this._onKeyPress=t=>{const e=t.code,r=t.charCode||t.keyCode;\"Space\"!==e&&\"Enter\"!==e&&32!==r&&13!==r||this.togglePopup()},this._onMapClick=t=>{const e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},this._update=t=>{var e;if(!this._map)return;const r=this._map.loaded()&&!this._map.isMoving();(\"terrain\"===(null==t?void 0:t.type)||\"render\"===(null==t?void 0:t.type)&&!r)&&this._map.once(\"render\",this._update),this._map.transform.renderWorldCopies?this._lngLat=Zi(this._lngLat,this._flatPos,this._map.transform):this._lngLat=null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let n=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?n=`rotateZ(${this._rotation}deg)`:\"map\"===this._rotationAlignment&&(n=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let i=\"\";\"viewport\"===this._pitchAlignment||\"auto\"===this._pitchAlignment?i=\"rotateX(0deg)\":\"map\"===this._pitchAlignment&&(i=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),o.setTransform(this._element,`${Wi[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${i} ${n}`),a.frameAsync(new AbortController).then((()=>{this._updateOpacity(t&&\"moveend\"===t.type)})).catch((()=>{}))},this._onMove=t=>{if(!this._isDragging){const e=this._clickTolerance||this._map._clickTolerance;this._isDragging=t.point.dist(this._pointerdownPos)>=e}this._isDragging&&(this._pos=t.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new e.k(\"dragstart\"))),this.fire(new e.k(\"drag\")))},this._onUp=()=>{this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),\"active\"===this._state&&this.fire(new e.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=t=>{this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},this._anchor=t&&t.anchor||\"center\",this._color=t&&t.color||\"#3FB1CE\",this._scale=t&&t.scale||1,this._draggable=t&&t.draggable||!1,this._clickTolerance=t&&t.clickTolerance||0,this._subpixelPositioning=t&&t.subpixelPositioning||!1,this._isDragging=!1,this._state=\"inactive\",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||\"auto\",this._pitchAlignment=t&&t.pitchAlignment&&\"auto\"!==t.pitchAlignment?t.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(null==t?void 0:t.opacity,null==t?void 0:t.opacityWhenCovered),t&&t.element)this._element=t.element,this._offset=e.P.convert(t&&t.offset||[0,0]);else{this._defaultMarker=!0,this._element=o.create(\"div\");const r=o.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),n=41,i=27;r.setAttributeNS(null,\"display\",\"block\"),r.setAttributeNS(null,\"height\",`${n}px`),r.setAttributeNS(null,\"width\",`${i}px`),r.setAttributeNS(null,\"viewBox\",`0 0 ${i} ${n}`);const a=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");a.setAttributeNS(null,\"stroke\",\"none\"),a.setAttributeNS(null,\"stroke-width\",\"1\"),a.setAttributeNS(null,\"fill\",\"none\"),a.setAttributeNS(null,\"fill-rule\",\"evenodd\");const s=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");s.setAttributeNS(null,\"fill-rule\",\"nonzero\");const l=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),l.setAttributeNS(null,\"fill\",\"#000000\");const c=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];for(const t of c){const e=o.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");e.setAttributeNS(null,\"opacity\",\"0.04\"),e.setAttributeNS(null,\"cx\",\"10.5\"),e.setAttributeNS(null,\"cy\",\"5.80029008\"),e.setAttributeNS(null,\"rx\",t.rx),e.setAttributeNS(null,\"ry\",t.ry),l.appendChild(e)}const u=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");u.setAttributeNS(null,\"fill\",this._color);const h=o.createNS(\"http://www.w3.org/2000/svg\",\"path\");h.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),u.appendChild(h);const f=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");f.setAttributeNS(null,\"opacity\",\"0.25\"),f.setAttributeNS(null,\"fill\",\"#000000\");const p=o.createNS(\"http://www.w3.org/2000/svg\",\"path\");p.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),f.appendChild(p);const d=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),d.setAttributeNS(null,\"fill\",\"#FFFFFF\");const m=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");m.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");const g=o.createNS(\"http://www.w3.org/2000/svg\",\"circle\");g.setAttributeNS(null,\"fill\",\"#000000\"),g.setAttributeNS(null,\"opacity\",\"0.25\"),g.setAttributeNS(null,\"cx\",\"5.5\"),g.setAttributeNS(null,\"cy\",\"5.5\"),g.setAttributeNS(null,\"r\",\"5.4999962\");const y=o.createNS(\"http://www.w3.org/2000/svg\",\"circle\");y.setAttributeNS(null,\"fill\",\"#FFFFFF\"),y.setAttributeNS(null,\"cx\",\"5.5\"),y.setAttributeNS(null,\"cy\",\"5.5\"),y.setAttributeNS(null,\"r\",\"5.4999962\"),m.appendChild(g),m.appendChild(y),s.appendChild(l),s.appendChild(u),s.appendChild(f),s.appendChild(d),s.appendChild(m),r.appendChild(s),r.setAttributeNS(null,\"height\",n*this._scale+\"px\"),r.setAttributeNS(null,\"width\",i*this._scale+\"px\"),this._element.appendChild(r),this._offset=e.P.convert(t&&t.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",(t=>{t.preventDefault()})),this._element.addEventListener(\"mousedown\",(t=>{t.preventDefault()})),Yi(this._element,this._anchor,\"marker\"),t&&t.className)for(const e of t.className.split(\" \"))this._element.classList.add(e);this._popup=null}addTo(t){return this.remove(),this._map=t,this._element.setAttribute(\"aria-label\",t._getUIString(\"Marker.Title\")),t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),t.on(\"terrain\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"terrain\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),o.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),t){if(!(\"offset\"in t.options)){const e=38.1,r=13.5,n=Math.abs(r)/Math.SQRT2;t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-e],\"bottom-left\":[n,-1*(e-r+n)],\"bottom-right\":[-n,-1*(e-r+n)],left:[r,-1*(e-r)],right:[-r,-1*(e-r)]}:this._offset}this._popup=t,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}setSubpixelPositioning(t){return this._subpixelPositioning=t,this}getPopup(){return this._popup}togglePopup(){const t=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:t?(t.isOpen()?t.remove():(t.setLngLat(this._lngLat),t.addTo(this._map)),this):this}_updateOpacity(t=!1){var r,n;if(!(null===(r=this._map)||void 0===r?void 0:r.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(t)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null}),100)}const i=this._map,a=i.terrain.depthAtPoint(this._pos),o=i.terrain.getElevationForLngLatZoom(this._lngLat,i.transform.tileZoom);if(i.transform.lngLatToCameraDepth(this._lngLat,o)-a<.006)return void(this._element.style.opacity=this._opacity);const s=-this._offset.y/i.transform._pixelPerMeter,l=Math.sin(i.getPitch()*Math.PI/180)*s,c=i.terrain.depthAtPoint(new e.P(this._pos.x,this._pos.y-this._offset.y)),u=i.transform.lngLatToCameraDepth(this._lngLat,o+l)-c>.006;(null===(n=this._popup)||void 0===n?void 0:n.isOpen())&&u&&this._popup.remove(),this._element.style.opacity=u?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(t){return this._offset=e.P.convert(t),this._update(),this}addClassName(t){this._element.classList.add(t)}removeClassName(t){this._element.classList.remove(t)}toggleClassName(t){return this._element.classList.toggle(t)}setDraggable(t){return this._draggable=!!t,this._map&&(t?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&\"auto\"!==t?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(t,e){return void 0===t&&void 0===e&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),void 0!==t&&(this._opacity=t),void 0!==e&&(this._opacityWhenCovered=e),this._map&&this._updateOpacity(!0),this}}const $i={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let Ji=0,Ki=!1;class Qi extends e.E{constructor(t){super(),this._onSuccess=t=>{if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.k(\"outofmaxbounds\",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new e.k(\"geolocate\",t)),this._finish()}},this._updateCamera=t=>{const r=new e.N(t.coords.longitude,t.coords.latitude),n=t.coords.accuracy,i=this._map.getBearing(),a=e.e({bearing:i},this.options.fitBoundsOptions),o=X.fromLngLat(r,n);this._map.fitBounds(o,a,{geolocateSource:!0})},this._updateMarker=t=>{if(t){const r=new e.N(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=t=>{if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;const t=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===t.code&&Ki)return;this._setErrorState()}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new e.k(\"error\",t)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this._geolocateButton=o.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),o.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",this._geolocateButton.disabled=!0)},this._finishSetupUI=t=>{if(this._map){if(!1===t){e.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");const t=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t)}else{const t=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.disabled=!1,this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=o.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new Xi({element:this._dotElement}),this._circleElement=o.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Xi({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",(()=>this.trigger())),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(t=>{const r=t.originalEvent&&\"resize\"===t.originalEvent.type;t.geolocateSource||\"ACTIVE_LOCK\"!==this._watchState||r||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new e.k(\"trackuserlocationend\")),this.fire(new e.k(\"userlocationlostfocus\")))}))}},this.options=e.e({},$i,t)}onAdd(t){return this._map=t,this._container=o.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),function(){return e._(this,arguments,void 0,(function*(t=!1){if(void 0!==Gi&&!t)return Gi;if(void 0===window.navigator.permissions)return Gi=!!window.navigator.geolocation,Gi;try{const t=yield window.navigator.permissions.query({name:\"geolocation\"});Gi=\"denied\"!==t.state}catch(t){Gi=!!window.navigator.geolocation}return Gi}))}().then((t=>this._finishSetupUI(t))),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),o.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Ji=0,Ki=!1}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitudee.getEast()||r.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const t=this._map.getBounds(),e=t.getSouthEast(),r=t.getNorthEast(),n=e.distanceTo(r),i=this._map._container.clientHeight,a=Math.ceil(this._accuracy/(n/i)*2);this._circleElement.style.width=`${a}px`,this._circleElement.style.height=`${a}px`}trigger(){if(!this._setup)return e.w(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new e.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Ji--,Ki=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new e.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.k(\"trackuserlocationstart\")),this.fire(new e.k(\"userlocationfocus\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),Ji++,Ji>1?(t={maximumAge:6e5,timeout:0},Ki=!0):(t=this.options.positionOptions,Ki=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)}}const ta={maxWidth:100,unit:\"metric\"};function ea(t,e,r){const n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&\"imperial\"===r.unit){const r=3.2808*s;r>5280?ra(e,n,r/5280,t._getUIString(\"ScaleControl.Miles\")):ra(e,n,r,t._getUIString(\"ScaleControl.Feet\"))}else r&&\"nautical\"===r.unit?ra(e,n,s/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):s>=1e3?ra(e,n,s/1e3,t._getUIString(\"ScaleControl.Kilometers\")):ra(e,n,s,t._getUIString(\"ScaleControl.Meters\"))}function ra(t,e,r,n){const i=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let r=t/e;return r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:r>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(r),e*r}(r),a=i/r;t.style.width=e*a+\"px\",t.innerHTML=`${i} ${n}`}class na extends e.E{constructor(t={}){super(),this._onFullscreenChange=()=>{var t;let e=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null===(t=null==e?void 0:e.shadowRoot)||void 0===t?void 0:t.fullscreenElement;)e=e.shadowRoot.fullscreenElement;e===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,t&&t.container&&(t.container instanceof HTMLElement?this._container=t.container:e.w(\"Full screen control 'container' must be a DOM element.\")),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\")}onAdd(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){o.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const t=this._fullscreenButton=o.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);o.create(\"span\",\"maplibregl-ctrl-icon\",t).setAttribute(\"aria-hidden\",\"true\"),t.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new e.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new e.k(\"fullscreenend\")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize()}}const ia={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},aa=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");class oa extends e.E{constructor(t){super(),this.remove=()=>(this._content&&o.remove(this._content),this._container&&(o.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\"),delete this._map,this.fire(new e.k(\"close\"))),this),this._onMouseUp=t=>{this._update(t.point)},this._onMouseMove=t=>{this._update(t.point)},this._onDrag=t=>{this._update(t.point)},this._update=t=>{var e;const r=this._lngLat||this._trackPointer;if(!this._map||!r||!this._content)return;if(!this._container){if(this._container=o.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=o.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(const t of this.options.className.split(\" \"))this._container.classList.add(t);this._closeButton&&this._closeButton.setAttribute(\"aria-label\",this._map._getUIString(\"Popup.Close\")),this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer?this._lngLat=Zi(this._lngLat,this._flatPos,this._map.transform):this._lngLat=null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._trackPointer&&!t)return;const n=this._flatPos=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&t?t:this._map.transform.locationPoint(this._lngLat));let i=this.options.anchor;const a=sa(this.options.offset);if(!i){const t=this._container.offsetWidth,e=this._container.offsetHeight;let r;r=n.y+a.bottom.ythis._map.transform.height-e?[\"bottom\"]:[],n.xthis._map.transform.width-t/2&&r.push(\"right\"),i=0===r.length?\"bottom\":r.join(\"-\")}let s=n.add(a[i]);this.options.subpixelPositioning||(s=s.round()),o.setTransform(this._container,`${Wi[i]} translate(${s.x}px,${s.y}px)`),Yi(this._container,i,\"popup\")},this._onClose=()=>{this.remove()},this.options=e.e(Object.create(ia),t)}addTo(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new e.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")),this}getElement(){return this._container}setText(t){return this.setDOMContent(document.createTextNode(t))}setHTML(t){const e=document.createDocumentFragment(),r=document.createElement(\"body\");let n;for(r.innerHTML=t;n=r.firstChild,n;)e.appendChild(n);return this.setDOMContent(e)}getMaxWidth(){var t;return null===(t=this._container)||void 0===t?void 0:t.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){return this._container&&this._container.classList.add(t),this}removeClassName(t){return this._container&&this._container.classList.remove(t),this}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}setSubpixelPositioning(t){this.options.subpixelPositioning=t}_createCloseButton(){this.options.closeButton&&(this._closeButton=o.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(aa);t&&t.focus()}}function sa(t){if(t){if(\"number\"==typeof t){const r=Math.round(Math.abs(t)/Math.SQRT2);return{center:new e.P(0,0),top:new e.P(0,t),\"top-left\":new e.P(r,r),\"top-right\":new e.P(-r,r),bottom:new e.P(0,-t),\"bottom-left\":new e.P(r,-r),\"bottom-right\":new e.P(-r,-r),left:new e.P(t,0),right:new e.P(-t,0)}}if(t instanceof e.P||Array.isArray(t)){const r=e.P.convert(t);return{center:r,top:r,\"top-left\":r,\"top-right\":r,bottom:r,\"bottom-left\":r,\"bottom-right\":r,left:r,right:r}}return{center:e.P.convert(t.center||[0,0]),top:e.P.convert(t.top||[0,0]),\"top-left\":e.P.convert(t[\"top-left\"]||[0,0]),\"top-right\":e.P.convert(t[\"top-right\"]||[0,0]),bottom:e.P.convert(t.bottom||[0,0]),\"bottom-left\":e.P.convert(t[\"bottom-left\"]||[0,0]),\"bottom-right\":e.P.convert(t[\"bottom-right\"]||[0,0]),left:e.P.convert(t.left||[0,0]),right:e.P.convert(t.right||[0,0])}}return sa(new e.P(0,0))}const la=r;t.AJAXError=e.bg,t.Evented=e.E,t.LngLat=e.N,t.MercatorCoordinate=e.Z,t.Point=e.P,t.addProtocol=e.bh,t.config=e.a,t.removeProtocol=e.bi,t.AttributionControl=Li,t.BoxZoomHandler=Gn,t.CanvasSource=it,t.CooperativeGesturesHandler=Ti,t.DoubleClickZoomHandler=yi,t.DragPanHandler=_i,t.DragRotateHandler=bi,t.EdgeInsets=Mn,t.FullscreenControl=na,t.GeoJSONSource=tt,t.GeolocateControl=Qi,t.Hash=Ln,t.ImageSource=rt,t.KeyboardHandler=pi,t.LngLatBounds=X,t.LogoControl=Ii,t.Map=class extends Ei{constructor(t){e.be.mark(e.bf.create);const r=Object.assign(Object.assign({},Ui),t);if(null!=r.minZoom&&null!=r.maxZoom&&r.minZoom>r.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=r.minPitch&&null!=r.maxPitch&&r.minPitch>r.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=r.minPitch&&r.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=r.maxPitch&&r.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new En(r.minZoom,r.maxZoom,r.minPitch,r.maxPitch,r.renderWorldCopies),{bearingSnap:r.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Pi,this._controls=[],this._mapId=e.a4(),this._contextLost=t=>{t.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new e.k(\"webglcontextlost\",{originalEvent:t}))},this._contextRestored=t=>{this._setupPainter(),this.resize(),this._update(),this.fire(new e.k(\"webglcontextrestored\",{originalEvent:t}))},this._onMapScroll=t=>{if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=r.interactive,this._maxTileCacheSize=r.maxTileCacheSize,this._maxTileCacheZoomLevels=r.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=!0===r.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=!0===r.preserveDrawingBuffer,this._antialias=!0===r.antialias,this._trackResize=!0===r.trackResize,this._bearingSnap=r.bearingSnap,this._refreshExpiredTiles=!0===r.refreshExpiredTiles,this._fadeDuration=r.fadeDuration,this._crossSourceCollisions=!0===r.crossSourceCollisions,this._collectResourceTiming=!0===r.collectResourceTiming,this._locale=Object.assign(Object.assign({},Ni),r.locale),this._clickTolerance=r.clickTolerance,this._overridePixelRatio=r.pixelRatio,this._maxCanvasSize=r.maxCanvasSize,this.transformCameraUpdate=r.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===r.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=p.addThrottleControl((()=>this.isMoving())),this._requestManager=new d(r.transformRequest),\"string\"==typeof r.container){if(this._container=document.getElementById(r.container),!this._container)throw new Error(`Container '${r.container}' not found.`)}else{if(!(r.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=r.container}if(r.maxBounds&&this.setMaxBounds(r.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",(()=>this._update(!1))).on(\"moveend\",(()=>this._update(!1))).on(\"zoom\",(()=>this._update(!0))).on(\"terrain\",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)})).once(\"idle\",(()=>{this._idleTriggered=!0})),\"undefined\"!=typeof window){addEventListener(\"online\",this._onWindowOnline,!1);let t=!1;const e=Cn((t=>{this._trackResize&&!this._removed&&this.resize(t)._update()}),50);this._resizeObserver=new ResizeObserver((r=>{t?e(r):t=!0})),this._resizeObserver.observe(this._container)}this.handlers=new Si(this,r);const n=\"string\"==typeof r.hash&&r.hash||void 0;this._hash=r.hash&&new Ln(n).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:r.center,zoom:r.zoom,bearing:r.bearing,pitch:r.pitch}),r.bounds&&(this.resize(),this.fitBounds(r.bounds,e.e({},r.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=r.localIdeographFontFamily,this._validateStyle=r.validateStyle,r.style&&this.setStyle(r.style,{localIdeographFontFamily:r.localIdeographFontFamily}),r.attributionControl&&this.addControl(new Li(\"boolean\"==typeof r.attributionControl?void 0:r.attributionControl)),r.maplibreLogo&&this.addControl(new Ii,r.logoPosition),this.on(\"style.load\",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on(\"data\",(t=>{this._update(\"style\"===t.dataType),this.fire(new e.k(`${t.dataType}data`,t))})),this.on(\"dataloading\",(t=>{this.fire(new e.k(`${t.dataType}dataloading`,t))})),this.on(\"dataabort\",(t=>{this.fire(new e.k(\"sourcedataabort\",t))}))}_getMapId(){return this._mapId}addControl(t,r){if(void 0===r&&(r=t.getDefaultPosition?t.getDefaultPosition():\"top-right\"),!t||!t.onAdd)return this.fire(new e.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));const n=t.onAdd(this);this._controls.push(t);const i=this._controlPositions[r];return-1!==r.indexOf(\"bottom\")?i.insertBefore(n,i.firstChild):i.appendChild(n),this}removeControl(t){if(!t||!t.onRemove)return this.fire(new e.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));const r=this._controls.indexOf(t);return r>-1&&this._controls.splice(r,1),t.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}calculateCameraOptionsFromTo(t,e,r,n){return null==n&&this.terrain&&(n=this.terrain.getElevationForLngLatZoom(r,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(t,e,r,n)}resize(t){var r;const n=this._containerDimensions(),i=n[0],a=n[1],o=this._getClampedPixelRatio(i,a);if(this._resizeCanvas(i,a,o),this.painter.resize(i,a,o),this.painter.overLimit()){const t=this.painter.context.gl;this._maxCanvasSize=[t.drawingBufferWidth,t.drawingBufferHeight];const e=this._getClampedPixelRatio(i,a);this._resizeCanvas(i,a,e),this.painter.resize(i,a,e)}this.transform.resize(i,a),null===(r=this._requestedCameraState)||void 0===r||r.resize(i,a);const s=!this._moving;return s&&(this.stop(),this.fire(new e.k(\"movestart\",t)).fire(new e.k(\"move\",t))),this.fire(new e.k(\"resize\",t)),s&&this.fire(new e.k(\"moveend\",t)),this}_getClampedPixelRatio(t,e){const{0:r,1:n}=this._maxCanvasSize,i=this.getPixelRatio(),a=t*i,o=e*i,s=a>r?r/a:1,l=o>n?n/o:1;return Math.min(s,l)*i}getPixelRatio(){var t;return null!==(t=this._overridePixelRatio)&&void 0!==t?t:devicePixelRatio}setPixelRatio(t){this._overridePixelRatio=t,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(t){return this.transform.setMaxBounds(X.convert(t)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(t){if((t=null==t?0:t)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this._update()}project(t){return this.transform.locationPoint(e.N.convert(t),this.style&&this.terrain)}unproject(t){return this.transform.pointLocation(e.P.convert(t),this.terrain)}isMoving(){var t;return this._moving||(null===(t=this.handlers)||void 0===t?void 0:t.isMoving())}isZooming(){var t;return this._zooming||(null===(t=this.handlers)||void 0===t?void 0:t.isZooming())}isRotating(){var t;return this._rotating||(null===(t=this.handlers)||void 0===t?void 0:t.isRotating())}_createDelegatedListener(t,e,r){if(\"mouseenter\"===t||\"mouseover\"===t){let n=!1;const i=i=>{const a=this.getLayer(e)?this.queryRenderedFeatures(i.point,{layers:[e]}):[];a.length?n||(n=!0,r.call(this,new Nn(t,this,i.originalEvent,{features:a}))):n=!1};return{layer:e,listener:r,delegates:{mousemove:i,mouseout:()=>{n=!1}}}}if(\"mouseleave\"===t||\"mouseout\"===t){let n=!1;const i=i=>{(this.getLayer(e)?this.queryRenderedFeatures(i.point,{layers:[e]}):[]).length?n=!0:n&&(n=!1,r.call(this,new Nn(t,this,i.originalEvent)))},a=e=>{n&&(n=!1,r.call(this,new Nn(t,this,e.originalEvent)))};return{layer:e,listener:r,delegates:{mousemove:i,mouseout:a}}}{const n=t=>{const n=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(this,t),delete t.features)};return{layer:e,listener:r,delegates:{[t]:n}}}}on(t,e,r){if(void 0===r)return super.on(t,e);const n=this._createDelegatedListener(t,e,r);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(n);for(const t in n.delegates)this.on(t,n.delegates[t]);return this}once(t,e,r){if(void 0===r)return super.once(t,e);const n=this._createDelegatedListener(t,e,r);for(const t in n.delegates)this.once(t,n.delegates[t]);return this}off(t,e,r){if(void 0===r)return super.off(t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&(n=>{const i=n[t];for(let t=0;tthis._updateStyle(t,e)));const r=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!t)),t?(this.style=new de(this,e||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof t?this.style.loadURL(t,e,r):this.style.loadJSON(t,e,r),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new de(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(t,r){if(\"string\"==typeof t){const n=t,i=this._requestManager.transformRequest(n,\"Style\");e.h(i,new AbortController).then((t=>{this._updateDiff(t.data,r)})).catch((t=>{t&&this.fire(new e.j(t))}))}else\"object\"==typeof t&&this._updateDiff(t,r)}_updateDiff(t,r){try{this.style.setState(t,r)&&this._update(!0)}catch(n){e.w(`Unable to perform style diff: ${n.message||n.error||n}. Rebuilding the style from scratch.`),this._updateStyle(t,r)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():e.w(\"There is no style added to the map.\")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(t){const r=this.style&&this.style.sourceCaches[t];if(void 0!==r)return r.loaded();this.fire(new e.j(new Error(`There is no source with ID '${t}'`)))}setTerrain(t){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),t){const r=this.style.sourceCaches[t.source];if(!r)throw new Error(`cannot load terrain, because there exists no source with ID: ${t.source}`);null===this.terrain&&r.reload();for(const r in this.style._layers){const n=this.style._layers[r];\"hillshade\"===n.type&&n.source===t.source&&e.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\")}this.terrain=new Di(this.painter,r,t),this.painter.renderToTexture=new Bi(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=e=>{\"style\"===e.dataType?this.terrain.sourceCache.freeRtt():\"source\"===e.dataType&&e.tile&&(e.sourceId!==t.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(e.tile.tileID))},this.style.on(\"data\",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new e.k(\"terrain\",{terrain:t})),this}getTerrain(){var t,e;return null!==(e=null===(t=this.terrain)||void 0===t?void 0:t.options)&&void 0!==e?e:null}areTilesLoaded(){const t=this.style&&this.style.sourceCaches;for(const e in t){const r=t[e]._tiles;for(const t in r){const e=r[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return!1}}return!0}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(t,r,n={}){const{pixelRatio:i=1,sdf:o=!1,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h}=n;this._lazyInitEmptyStyle();if(!(r instanceof HTMLImageElement||e.b(r))){if(void 0===r.width||void 0===r.height)return this.fire(new e.j(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{const{width:n,height:a,data:f}=r,p=r;return this.style.addImage(t,{data:new e.R({width:n,height:a},new Uint8Array(f)),pixelRatio:i,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h,sdf:o,version:0,userImage:p}),p.onAdd&&p.onAdd(this,t),this}}{const{width:n,height:f,data:p}=a.getImageData(r);this.style.addImage(t,{data:new e.R({width:n,height:f},p),pixelRatio:i,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h,sdf:o,version:0})}}updateImage(t,r){const n=this.style.getImage(t);if(!n)return this.fire(new e.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));const i=r instanceof HTMLImageElement||e.b(r)?a.getImageData(r):r,{width:o,height:s,data:l}=i;if(void 0===o||void 0===s)return this.fire(new e.j(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(o!==n.data.width||s!==n.data.height)return this.fire(new e.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));const c=!(r instanceof HTMLImageElement||e.b(r));return n.data.replace(l,c),this.style.updateImage(t,n),this}getImage(t){return this.style.getImage(t)}hasImage(t){return t?!!this.style.getImage(t):(this.fire(new e.j(new Error(\"Missing required image id\"))),!1)}removeImage(t){this.style.removeImage(t)}loadImage(t){return p.getImage(this._requestManager.transformRequest(t,\"Image\"),new AbortController)}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0)}setFilter(t,e,r={}){return this.style.setFilter(t,e,r),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,r,n={}){return this.style.setPaintProperty(t,e,r,n),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,r,n={}){return this.style.setLayoutProperty(t,e,r,n),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setGlyphs(t,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(t,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(t,e,r={}){return this._lazyInitEmptyStyle(),this.style.addSprite(t,e,r,(t=>{t||this._update(!0)})),this}removeSprite(t){return this._lazyInitEmptyStyle(),this.style.removeSprite(t),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(t,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(t,e,(t=>{t||this._update(!0)})),this}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setSky(t){return this._lazyInitEmptyStyle(),this.style.setSky(t),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]}_setupContainer(){const t=this._container;t.classList.add(\"maplibregl-map\");const e=this._canvasContainer=o.create(\"div\",\"maplibregl-canvas-container\",t);this._interactive&&e.classList.add(\"maplibregl-interactive\"),this._canvas=o.create(\"canvas\",\"maplibregl-canvas\",e),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",this._interactive?\"0\":\"-1\"),this._canvas.setAttribute(\"aria-label\",this._getUIString(\"Map.Title\")),this._canvas.setAttribute(\"role\",\"region\");const r=this._containerDimensions(),n=this._getClampedPixelRatio(r[0],r[1]);this._resizeCanvas(r[0],r[1],n);const i=this._controlContainer=o.create(\"div\",\"maplibregl-control-container\",t),a=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((t=>{a[t]=o.create(\"div\",`maplibregl-ctrl-${t} `,i)})),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_resizeCanvas(t,e,r){this._canvas.width=Math.floor(r*t),this._canvas.height=Math.floor(r*e),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const t={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let e=null;this._canvas.addEventListener(\"webglcontextcreationerror\",(r=>{e={requestedAttributes:t},r&&(e.statusMessage=r.statusMessage,e.type=r.type)}),{once:!0});const r=this._canvas.getContext(\"webgl2\",t)||this._canvas.getContext(\"webgl\",t);if(!r){const t=\"Failed to initialize WebGL\";throw e?(e.message=t,new Error(JSON.stringify(e))):new Error(t)}this.painter=new Tn(r,this.transform),s.testSupport(r)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t)}_render(t){const r=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(t),this._removed)return;let n=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,i=a.now();this.style.zoomHistory.update(t,i);const o=new e.a9(t,{now:i,fadeDuration:r,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),s=o.crossFadingFactor();1===s&&s===this._crossFadingFactor||(n=!0,this._crossFadingFactor=s),this.style.update(o)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,r,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:r,showPadding:this.showPadding}),this.fire(new e.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,e.be.mark(e.bf.load),this.fire(new e.k(\"load\"))),this.style&&(this.style.hasTransitions()||n)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const i=this._sourcesDirty||this._styleDirty||this._placementDirty;return i||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new e.k(\"idle\")),!this._loaded||this._fullyLoaded||i||(this._fullyLoaded=!0,e.be.mark(e.bf.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var t;this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),\"undefined\"!=typeof window&&removeEventListener(\"online\",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),null===(t=this._resizeObserver)||void 0===t||t.disconnect();const r=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");(null==r?void 0:r.loseContext)&&r.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),o.remove(this._canvasContainer),o.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),e.be.clearMetrics(),this._removed=!0,this.fire(new e.k(\"remove\"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,a.frameAsync(this._frameRequest).then((t=>{e.be.frame(t),this._frameRequest=null,this._render(t)})).catch((()=>{})))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())}get showPadding(){return!!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())}get repaint(){return!!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(t){this._vertices=t,this._update()}get version(){return ji}getCameraTargetElevation(){return this.transform.elevation}},t.MapMouseEvent=Nn,t.MapTouchEvent=jn,t.MapWheelEvent=Un,t.Marker=Xi,t.NavigationControl=class{constructor(t){this._updateZoomButtons=()=>{const t=this._map.getZoom(),e=t===this._map.getMaxZoom(),r=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=r,this._zoomInButton.setAttribute(\"aria-disabled\",e.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",r.toString())},this._rotateCompassArrow=()=>{const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=t},this._setButtonTitle=(t,e)=>{const r=this._map._getUIString(`NavigationControl.${e}`);t.title=r,t.setAttribute(\"aria-label\",r)},this.options=e.e({},qi,t),this._container=o.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",(t=>this._map.zoomIn({},{originalEvent:t}))),o.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",(t=>this._map.zoomOut({},{originalEvent:t}))),o.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t})})),this._compassIcon=o.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Hi(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){o.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(t,e){const r=o.create(\"button\",t,this._container);return r.type=\"button\",r.addEventListener(\"click\",e),r}},t.Popup=oa,t.RasterDEMTileSource=Q,t.RasterTileSource=K,t.ScaleControl=class{constructor(t){this._onMove=()=>{ea(this._map,this._container,this.options)},this.setUnit=t=>{this.options.unit=t,ea(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},ta),t)}getDefaultPosition(){return\"bottom-left\"}onAdd(t){return this._map=t,this._container=o.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){o.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},t.ScrollZoomHandler=gi,t.Style=de,t.TerrainControl=class{constructor(t){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Disable\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Enable\"))},this.options=t}onAdd(t){return this._map=t,this._container=o.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=o.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),o.create(\"span\",\"maplibregl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){o.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},t.TwoFingersTouchPitchHandler=hi,t.TwoFingersTouchRotateHandler=ci,t.TwoFingersTouchZoomHandler=si,t.TwoFingersTouchZoomRotateHandler=wi,t.VectorTileSource=J,t.VideoSource=nt,t.addSourceType=(t,r)=>e._(void 0,void 0,void 0,(function*(){if(ot(t))throw new Error(`A source type called \"${t}\" already exists.`);((t,e)=>{at[t]=e})(t,r)})),t.clearPrewarmedResources=function(){const t=j;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(F),j=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},t.getMaxParallelImageRequests=function(){return e.a.MAX_PARALLEL_IMAGE_REQUESTS},t.getRTLTextPluginStatus=function(){return ut().getRTLTextPluginStatus()},t.getVersion=function(){return la},t.getWorkerCount=function(){return B.workerCount},t.getWorkerUrl=function(){return e.a.WORKER_URL},t.importScriptInWorkers=function(t){return H().broadcast(\"IS\",t)},t.prewarm=function(){V().acquire(F)},t.setMaxParallelImageRequests=function(t){e.a.MAX_PARALLEL_IMAGE_REQUESTS=t},t.setRTLTextPlugin=function(t,e){return ut().setRTLTextPlugin(t,e)},t.setWorkerCount=function(t){B.workerCount=t},t.setWorkerUrl=function(t){e.a.WORKER_URL=t}})),t}()},88640:function(t,e,r){\"use strict\";function n(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function i(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function a(){}r.d(e,{GW:function(){return K},Dj:function(){return H}});var o=.7,s=1/o,l=\"\\\\s*([+-]?\\\\d+)\\\\s*\",c=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",u=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",h=/^#([0-9a-f]{3,8})$/,f=new RegExp(\"^rgb\\\\(\".concat(l,\",\").concat(l,\",\").concat(l,\"\\\\)$\")),p=new RegExp(\"^rgb\\\\(\".concat(u,\",\").concat(u,\",\").concat(u,\"\\\\)$\")),d=new RegExp(\"^rgba\\\\(\".concat(l,\",\").concat(l,\",\").concat(l,\",\").concat(c,\"\\\\)$\")),m=new RegExp(\"^rgba\\\\(\".concat(u,\",\").concat(u,\",\").concat(u,\",\").concat(c,\"\\\\)$\")),g=new RegExp(\"^hsl\\\\(\".concat(c,\",\").concat(u,\",\").concat(u,\"\\\\)$\")),y=new RegExp(\"^hsla\\\\(\".concat(c,\",\").concat(u,\",\").concat(u,\",\").concat(c,\"\\\\)$\")),v={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function x(){return this.rgb().formatHex()}function _(){return this.rgb().formatRgb()}function b(t){var e,r;return t=(t+\"\").trim().toLowerCase(),(e=h.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?w(e):3===r?new A(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?T(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?T(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=f.exec(t))?new A(e[1],e[2],e[3],1):(e=p.exec(t))?new A(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=d.exec(t))?T(e[1],e[2],e[3],e[4]):(e=m.exec(t))?T(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(t))?I(e[1],e[2]/100,e[3]/100,1):(e=y.exec(t))?I(e[1],e[2]/100,e[3]/100,e[4]):v.hasOwnProperty(t)?w(v[t]):\"transparent\"===t?new A(NaN,NaN,NaN,0):null}function w(t){return new A(t>>16&255,t>>8&255,255&t,1)}function T(t,e,r,n){return n<=0&&(t=e=r=NaN),new A(t,e,r,n)}function k(t,e,r,n){return 1===arguments.length?((i=t)instanceof a||(i=b(i)),i?new A((i=i.rgb()).r,i.g,i.b,i.opacity):new A):new A(t,e,r,null==n?1:n);var i}function A(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function M(){return\"#\".concat(L(this.r)).concat(L(this.g)).concat(L(this.b))}function S(){var t=E(this.opacity);return\"\".concat(1===t?\"rgb(\":\"rgba(\").concat(C(this.r),\", \").concat(C(this.g),\", \").concat(C(this.b)).concat(1===t?\")\":\", \".concat(t,\")\"))}function E(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function C(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function L(t){return((t=C(t))<16?\"0\":\"\")+t.toString(16)}function I(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new z(t,e,r,n)}function P(t){if(t instanceof z)return new z(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=b(t)),!t)return new z;if(t instanceof z)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,l=o-i,c=(o+i)/2;return l?(s=e===o?(r-n)/l+6*(r0&&c<1?0:s,new z(s,l,c,t.opacity)}function z(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function O(t){return(t=(t||0)%360)<0?t+360:t}function D(t){return Math.max(0,Math.min(1,t||0))}function R(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function F(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}n(a,b,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return P(this).formatHsl()},formatRgb:_,toString:_}),n(A,k,i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},clamp:function(){return new A(C(this.r),C(this.g),C(this.b),E(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:M,formatHex:M,formatHex8:function(){return\"#\".concat(L(this.r)).concat(L(this.g)).concat(L(this.b)).concat(L(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:S,toString:S})),n(z,(function(t,e,r,n){return 1===arguments.length?P(t):new z(t,e,r,null==n?1:n)}),i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new z(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new z(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,i=2*r-n;return new A(R(t>=240?t-240:t+120,i,n),R(t,i,n),R(t<120?t+240:t-120,i,n),this.opacity)},clamp:function(){return new z(O(this.h),D(this.s),D(this.l),E(this.opacity))},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=E(this.opacity);return\"\".concat(1===t?\"hsl(\":\"hsla(\").concat(O(this.h),\", \").concat(100*D(this.s),\"%, \").concat(100*D(this.l),\"%\").concat(1===t?\")\":\", \".concat(t,\")\"))}}));var B=function(t){return function(){return t}};function N(t,e){var r=e-t;return r?function(t,e){return function(r){return t+r*e}}(t,r):B(isNaN(t)?e:t)}var j=function t(e){var r=function(t){return 1==(t=+t)?N: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):B(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=k(t)).r,(e=k(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=N(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+\"\"}}return n.gamma=t,n}(1);function U(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:H(r,n)})),a=Y.lastIndex;return aESRI\"},\"ortoInstaMaps\":{\"type\":\"raster\",\"tiles\":[\"https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png\"],\"tileSize\":256,\"maxzoom\":13},\"ortoICGC\":{\"type\":\"raster\",\"tiles\":[\"https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg\"],\"tileSize\":256,\"minzoom\":13.1,\"maxzoom\":20},\"openmaptiles\":{\"type\":\"vector\",\"url\":\"https://geoserveis.icgc.cat/contextmaps/basemap.json\"}},\"sprite\":\"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1\",\"glyphs\":\"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf\",\"layers\":[{\"id\":\"background\",\"type\":\"background\",\"paint\":{\"background-color\":\"#F4F9F4\"}},{\"id\":\"ortoEsri\",\"type\":\"raster\",\"source\":\"ortoEsri\",\"maxzoom\":16,\"layout\":{\"visibility\":\"visible\"}},{\"id\":\"ortoICGC\",\"type\":\"raster\",\"source\":\"ortoICGC\",\"minzoom\":13.1,\"maxzoom\":19,\"layout\":{\"visibility\":\"visible\"}},{\"id\":\"ortoInstaMaps\",\"type\":\"raster\",\"source\":\"ortoInstaMaps\",\"maxzoom\":13,\"layout\":{\"visibility\":\"visible\"}},{\"id\":\"waterway_tunnel\",\"type\":\"line\",\"source\":\"openmaptiles\",\"source-layer\":\"waterway\",\"minzoom\":14,\"filter\":[\"all\",[\"in\",\"class\",\"river\",\"stream\",\"canal\"],[\"==\",\"brunnel\",\"tunnel\"]],\"layout\":{\"line-cap\":\"round\"},\"paint\":{\"line-color\":\"#a0c8f0\",\"line-width\":{\"base\":1.3,\"stops\":[[13,0.5],[20,6]]},\"line-dasharray\":[2,4]}},{\"id\":\"waterway-other\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849382550.77\"},\"source\":\"openmaptiles\",\"source-layer\":\"waterway\",\"filter\":[\"!in\",\"class\",\"canal\",\"river\",\"stream\"],\"layout\":{\"line-cap\":\"round\"},\"paint\":{\"line-color\":\"#a0c8f0\",\"line-width\":{\"base\":1.3,\"stops\":[[13,0.5],[20,2]]}}},{\"id\":\"waterway-stream-canal\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849382550.77\"},\"source\":\"openmaptiles\",\"source-layer\":\"waterway\",\"filter\":[\"all\",[\"in\",\"class\",\"canal\",\"stream\"],[\"!=\",\"brunnel\",\"tunnel\"]],\"layout\":{\"line-cap\":\"round\"},\"paint\":{\"line-color\":\"#a0c8f0\",\"line-width\":{\"base\":1.3,\"stops\":[[13,0.5],[20,6]]}}},{\"id\":\"waterway-river\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849382550.77\"},\"source\":\"openmaptiles\",\"source-layer\":\"waterway\",\"filter\":[\"all\",[\"==\",\"class\",\"river\"],[\"!=\",\"brunnel\",\"tunnel\"]],\"layout\":{\"line-cap\":\"round\"},\"paint\":{\"line-color\":\"#a0c8f0\",\"line-width\":{\"base\":1.2,\"stops\":[[10,0.8],[20,4]]},\"line-opacity\":0.5}},{\"id\":\"water-offset\",\"type\":\"fill\",\"metadata\":{\"mapbox:group\":\"1444849382550.77\"},\"source\":\"openmaptiles\",\"source-layer\":\"water\",\"maxzoom\":8,\"filter\":[\"==\",\"$type\",\"Polygon\"],\"layout\":{\"visibility\":\"visible\"},\"paint\":{\"fill-opacity\":0,\"fill-color\":\"#a0c8f0\",\"fill-translate\":{\"base\":1,\"stops\":[[6,[2,0]],[8,[0,0]]]}}},{\"id\":\"water\",\"type\":\"fill\",\"metadata\":{\"mapbox:group\":\"1444849382550.77\"},\"source\":\"openmaptiles\",\"source-layer\":\"water\",\"layout\":{\"visibility\":\"visible\"},\"paint\":{\"fill-color\":\"hsl(210, 67%, 85%)\",\"fill-opacity\":0}},{\"id\":\"water-pattern\",\"type\":\"fill\",\"metadata\":{\"mapbox:group\":\"1444849382550.77\"},\"source\":\"openmaptiles\",\"source-layer\":\"water\",\"layout\":{\"visibility\":\"visible\"},\"paint\":{\"fill-translate\":[0,2.5],\"fill-pattern\":\"wave\",\"fill-opacity\":1}},{\"id\":\"landcover-ice-shelf\",\"type\":\"fill\",\"metadata\":{\"mapbox:group\":\"1444849382550.77\"},\"source\":\"openmaptiles\",\"source-layer\":\"landcover\",\"filter\":[\"==\",\"subclass\",\"ice_shelf\"],\"layout\":{\"visibility\":\"visible\"},\"paint\":{\"fill-color\":\"#fff\",\"fill-opacity\":{\"base\":1,\"stops\":[[0,0.9],[10,0.3]]}}},{\"id\":\"tunnel-service-track-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849354174.1904\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"service\",\"track\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#cfcdca\",\"line-dasharray\":[0.5,0.25],\"line-width\":{\"base\":1.2,\"stops\":[[15,1],[16,4],[20,11]]}}},{\"id\":\"tunnel-minor-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849354174.1904\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"minor\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#cfcdca\",\"line-opacity\":{\"stops\":[[12,0],[12.5,1]]},\"line-width\":{\"base\":1.2,\"stops\":[[12,0.5],[13,1],[14,4],[20,15]]}}},{\"id\":\"tunnel-secondary-tertiary-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849354174.1904\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{\"base\":1.2,\"stops\":[[8,1.5],[20,17]]}}},{\"id\":\"tunnel-trunk-primary-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849354174.1904\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"primary\",\"trunk\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#e9ac77\",\"line-width\":{\"base\":1.2,\"stops\":[[5,0.4],[6,0.6],[7,1.5],[20,22]]},\"line-opacity\":0.7}},{\"id\":\"tunnel-motorway-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849354174.1904\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],\"layout\":{\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"#e9ac77\",\"line-dasharray\":[0.5,0.25],\"line-width\":{\"base\":1.2,\"stops\":[[5,0.4],[6,0.6],[7,1.5],[20,22]]},\"line-opacity\":0.5}},{\"id\":\"tunnel-path\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849354174.1904\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"path\"]]],\"paint\":{\"line-color\":\"#cba\",\"line-dasharray\":[1.5,0.75],\"line-width\":{\"base\":1.2,\"stops\":[[15,1.2],[20,4]]}}},{\"id\":\"tunnel-service-track\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849354174.1904\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"service\",\"track\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#fff\",\"line-width\":{\"base\":1.2,\"stops\":[[15.5,0],[16,2],[20,7.5]]}}},{\"id\":\"tunnel-minor\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849354174.1904\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"minor_road\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#fff\",\"line-opacity\":1,\"line-width\":{\"base\":1.2,\"stops\":[[13.5,0],[14,2.5],[20,11.5]]}}},{\"id\":\"tunnel-secondary-tertiary\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849354174.1904\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#fff4c6\",\"line-width\":{\"base\":1.2,\"stops\":[[6.5,0],[7,0.5],[20,10]]}}},{\"id\":\"tunnel-trunk-primary\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849354174.1904\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"primary\",\"trunk\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#fff4c6\",\"line-width\":{\"base\":1.2,\"stops\":[[6.5,0],[7,0.5],[20,18]]},\"line-opacity\":0.5}},{\"id\":\"tunnel-motorway\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849354174.1904\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],\"layout\":{\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"#ffdaa6\",\"line-width\":{\"base\":1.2,\"stops\":[[6.5,0],[7,0.5],[20,18]]},\"line-opacity\":0.5}},{\"id\":\"tunnel-railway\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849354174.1904\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"rail\"]],\"paint\":{\"line-color\":\"#bbb\",\"line-width\":{\"base\":1.4,\"stops\":[[14,0.4],[15,0.75],[20,2]]},\"line-dasharray\":[2,2]}},{\"id\":\"ferry\",\"type\":\"line\",\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"in\",\"class\",\"ferry\"]],\"layout\":{\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"rgba(108, 159, 182, 1)\",\"line-width\":1.1,\"line-dasharray\":[2,2]}},{\"id\":\"aeroway-taxiway-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"aeroway\",\"minzoom\":12,\"filter\":[\"all\",[\"in\",\"class\",\"taxiway\"]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"rgba(153, 153, 153, 1)\",\"line-width\":{\"base\":1.5,\"stops\":[[11,2],[17,12]]},\"line-opacity\":1}},{\"id\":\"aeroway-runway-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"aeroway\",\"minzoom\":12,\"filter\":[\"all\",[\"in\",\"class\",\"runway\"]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"rgba(153, 153, 153, 1)\",\"line-width\":{\"base\":1.5,\"stops\":[[11,5],[17,55]]},\"line-opacity\":1}},{\"id\":\"aeroway-taxiway\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"aeroway\",\"minzoom\":4,\"filter\":[\"all\",[\"in\",\"class\",\"taxiway\"],[\"==\",\"$type\",\"LineString\"]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"rgba(255, 255, 255, 1)\",\"line-width\":{\"base\":1.5,\"stops\":[[11,1],[17,10]]},\"line-opacity\":{\"base\":1,\"stops\":[[11,0],[12,1]]}}},{\"id\":\"aeroway-runway\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"aeroway\",\"minzoom\":4,\"filter\":[\"all\",[\"in\",\"class\",\"runway\"],[\"==\",\"$type\",\"LineString\"]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"rgba(255, 255, 255, 1)\",\"line-width\":{\"base\":1.5,\"stops\":[[11,4],[17,50]]},\"line-opacity\":{\"base\":1,\"stops\":[[11,0],[12,1]]}}},{\"id\":\"highway-motorway-link-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"minzoom\":12,\"filter\":[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway_link\"]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{\"base\":1.2,\"stops\":[[12,1],[13,3],[14,4],[20,15]]}}},{\"id\":\"highway-link-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"minzoom\":13,\"filter\":[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{\"base\":1.2,\"stops\":[[12,1],[13,3],[14,4],[20,15]]}}},{\"id\":\"highway-minor-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!=\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#cfcdca\",\"line-opacity\":{\"stops\":[[12,0],[12.5,0]]},\"line-width\":{\"base\":1.2,\"stops\":[[12,0.5],[13,1],[14,4],[20,15]]}}},{\"id\":\"highway-secondary-tertiary-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],\"layout\":{\"line-cap\":\"butt\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"#e9ac77\",\"line-opacity\":0.5,\"line-width\":{\"base\":1.2,\"stops\":[[8,1.5],[20,17]]}}},{\"id\":\"highway-primary-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"minzoom\":5,\"filter\":[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary\"]],\"layout\":{\"line-cap\":\"butt\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"#e9ac77\",\"line-opacity\":{\"stops\":[[7,0],[8,0.6]]},\"line-width\":{\"base\":1.2,\"stops\":[[7,0],[8,0.6],[9,1.5],[20,22]]}}},{\"id\":\"highway-trunk-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"minzoom\":5,\"filter\":[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"trunk\"]],\"layout\":{\"line-cap\":\"butt\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"#e9ac77\",\"line-opacity\":{\"stops\":[[5,0],[6,0.5]]},\"line-width\":{\"base\":1.2,\"stops\":[[5,0],[6,0.6],[7,1.5],[20,22]]}}},{\"id\":\"highway-motorway-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"minzoom\":4,\"filter\":[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],\"layout\":{\"line-cap\":\"butt\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"#e9ac77\",\"line-width\":{\"base\":1.2,\"stops\":[[4,0],[5,0.4],[6,0.6],[7,1.5],[20,22]]},\"line-opacity\":{\"stops\":[[4,0],[5,0.5]]}}},{\"id\":\"highway-path\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"path\"]]],\"paint\":{\"line-color\":\"#cba\",\"line-dasharray\":[1.5,0.75],\"line-width\":{\"base\":1.2,\"stops\":[[15,1.2],[20,4]]}}},{\"id\":\"highway-motorway-link\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"minzoom\":12,\"filter\":[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway_link\"]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#fc8\",\"line-width\":{\"base\":1.2,\"stops\":[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{\"id\":\"highway-link\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"minzoom\":13,\"filter\":[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"#fea\",\"line-width\":{\"base\":1.2,\"stops\":[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{\"id\":\"highway-minor\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!=\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#fff\",\"line-opacity\":0.5,\"line-width\":{\"base\":1.2,\"stops\":[[13.5,0],[14,2.5],[20,11.5]]}}},{\"id\":\"highway-secondary-tertiary\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"#fea\",\"line-width\":{\"base\":1.2,\"stops\":[[6.5,0],[8,0.5],[20,13]]},\"line-opacity\":0.5}},{\"id\":\"highway-primary\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary\"]]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"#fea\",\"line-width\":{\"base\":1.2,\"stops\":[[8.5,0],[9,0.5],[20,18]]},\"line-opacity\":0}},{\"id\":\"highway-trunk\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"trunk\"]]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"#fea\",\"line-width\":{\"base\":1.2,\"stops\":[[6.5,0],[7,0.5],[20,18]]},\"line-opacity\":0.5}},{\"id\":\"highway-motorway\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"minzoom\":5,\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\",\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"#fc8\",\"line-width\":{\"base\":1.2,\"stops\":[[6.5,0],[7,0.5],[20,18]]},\"line-opacity\":0.5}},{\"id\":\"railway-transit\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"transit\"],[\"!in\",\"brunnel\",\"tunnel\"]]],\"layout\":{\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"hsla(0, 0%, 73%, 0.77)\",\"line-width\":{\"base\":1.4,\"stops\":[[14,0.4],[20,1]]}}},{\"id\":\"railway-transit-hatching\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"transit\"],[\"!in\",\"brunnel\",\"tunnel\"]]],\"layout\":{\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"hsla(0, 0%, 73%, 0.68)\",\"line-dasharray\":[0.2,8],\"line-width\":{\"base\":1.4,\"stops\":[[14.5,0],[15,2],[20,6]]}}},{\"id\":\"railway-service\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"rail\"],[\"has\",\"service\"]]],\"paint\":{\"line-color\":\"hsla(0, 0%, 73%, 0.77)\",\"line-width\":{\"base\":1.4,\"stops\":[[14,0.4],[20,1]]}}},{\"id\":\"railway-service-hatching\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"rail\"],[\"has\",\"service\"]]],\"layout\":{\"visibility\":\"visible\"},\"paint\":{\"line-color\":\"hsla(0, 0%, 73%, 0.68)\",\"line-dasharray\":[0.2,8],\"line-width\":{\"base\":1.4,\"stops\":[[14.5,0],[15,2],[20,6]]}}},{\"id\":\"railway\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!has\",\"service\"],[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"rail\"]]],\"paint\":{\"line-color\":\"#bbb\",\"line-width\":{\"base\":1.4,\"stops\":[[14,0.4],[15,0.75],[20,2]]}}},{\"id\":\"railway-hatching\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849345966.4436\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!has\",\"service\"],[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"rail\"]]],\"paint\":{\"line-color\":\"#bbb\",\"line-dasharray\":[0.2,8],\"line-width\":{\"base\":1.4,\"stops\":[[14.5,0],[15,3],[20,8]]}}},{\"id\":\"bridge-motorway-link-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway_link\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{\"base\":1.2,\"stops\":[[12,1],[13,3],[14,4],[20,15]]}}},{\"id\":\"bridge-link-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{\"base\":1.2,\"stops\":[[12,1],[13,3],[14,4],[20,15]]}}},{\"id\":\"bridge-secondary-tertiary-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{\"base\":1.2,\"stops\":[[8,1.5],[20,28]]}}},{\"id\":\"bridge-trunk-primary-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary\",\"trunk\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"hsl(28, 76%, 67%)\",\"line-width\":{\"base\":1.2,\"stops\":[[5,0.4],[6,0.6],[7,1.5],[20,26]]}}},{\"id\":\"bridge-motorway-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#e9ac77\",\"line-width\":{\"base\":1.2,\"stops\":[[5,0.4],[6,0.6],[7,1.5],[20,22]]},\"line-opacity\":0.5}},{\"id\":\"bridge-path-casing\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"path\"]]],\"paint\":{\"line-color\":\"#f8f4f0\",\"line-width\":{\"base\":1.2,\"stops\":[[15,1.2],[20,18]]}}},{\"id\":\"bridge-path\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"path\"]]],\"paint\":{\"line-color\":\"#cba\",\"line-width\":{\"base\":1.2,\"stops\":[[15,1.2],[20,4]]},\"line-dasharray\":[1.5,0.75]}},{\"id\":\"bridge-motorway-link\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway_link\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#fc8\",\"line-width\":{\"base\":1.2,\"stops\":[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{\"id\":\"bridge-link\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#fea\",\"line-width\":{\"base\":1.2,\"stops\":[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{\"id\":\"bridge-secondary-tertiary\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#fea\",\"line-width\":{\"base\":1.2,\"stops\":[[6.5,0],[7,0.5],[20,20]]}}},{\"id\":\"bridge-trunk-primary\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary\",\"trunk\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#fea\",\"line-width\":{\"base\":1.2,\"stops\":[[6.5,0],[7,0.5],[20,18]]}}},{\"id\":\"bridge-motorway\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway\"]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#fc8\",\"line-width\":{\"base\":1.2,\"stops\":[[6.5,0],[7,0.5],[20,18]]},\"line-opacity\":0.5}},{\"id\":\"bridge-railway\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"rail\"]],\"paint\":{\"line-color\":\"#bbb\",\"line-width\":{\"base\":1.4,\"stops\":[[14,0.4],[15,0.75],[20,2]]}}},{\"id\":\"bridge-railway-hatching\",\"type\":\"line\",\"metadata\":{\"mapbox:group\":\"1444849334699.1902\"},\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"filter\":[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"rail\"]],\"paint\":{\"line-color\":\"#bbb\",\"line-dasharray\":[0.2,8],\"line-width\":{\"base\":1.4,\"stops\":[[14.5,0],[15,3],[20,8]]}}},{\"id\":\"cablecar\",\"type\":\"line\",\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"minzoom\":13,\"filter\":[\"==\",\"class\",\"cable_car\"],\"layout\":{\"visibility\":\"visible\",\"line-cap\":\"round\"},\"paint\":{\"line-color\":\"hsl(0, 0%, 70%)\",\"line-width\":{\"base\":1,\"stops\":[[11,1],[19,2.5]]}}},{\"id\":\"cablecar-dash\",\"type\":\"line\",\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"minzoom\":13,\"filter\":[\"==\",\"class\",\"cable_car\"],\"layout\":{\"visibility\":\"visible\",\"line-cap\":\"round\"},\"paint\":{\"line-color\":\"hsl(0, 0%, 70%)\",\"line-width\":{\"base\":1,\"stops\":[[11,3],[19,5.5]]},\"line-dasharray\":[2,3]}},{\"id\":\"boundary-land-level-4\",\"type\":\"line\",\"source\":\"openmaptiles\",\"source-layer\":\"boundary\",\"filter\":[\"all\",[\">=\",\"admin_level\",4],[\"<=\",\"admin_level\",8],[\"!=\",\"maritime\",1]],\"layout\":{\"line-join\":\"round\"},\"paint\":{\"line-color\":\"#9e9cab\",\"line-dasharray\":[3,1,1,1],\"line-width\":{\"base\":1.4,\"stops\":[[4,0.4],[5,1],[12,3]]},\"line-opacity\":0.6}},{\"id\":\"boundary-land-level-2\",\"type\":\"line\",\"source\":\"openmaptiles\",\"source-layer\":\"boundary\",\"filter\":[\"all\",[\"==\",\"admin_level\",2],[\"!=\",\"maritime\",1],[\"!=\",\"disputed\",1]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\"},\"paint\":{\"line-color\":\"hsl(248, 7%, 66%)\",\"line-width\":{\"base\":1,\"stops\":[[0,0.6],[4,1.4],[5,2],[12,2]]}}},{\"id\":\"boundary-land-disputed\",\"type\":\"line\",\"source\":\"openmaptiles\",\"source-layer\":\"boundary\",\"filter\":[\"all\",[\"!=\",\"maritime\",1],[\"==\",\"disputed\",1]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\"},\"paint\":{\"line-color\":\"hsl(248, 7%, 70%)\",\"line-dasharray\":[1,3],\"line-width\":{\"base\":1,\"stops\":[[0,0.6],[4,1.4],[5,2],[12,8]]}}},{\"id\":\"boundary-water\",\"type\":\"line\",\"source\":\"openmaptiles\",\"source-layer\":\"boundary\",\"filter\":[\"all\",[\"in\",\"admin_level\",2,4],[\"==\",\"maritime\",1]],\"layout\":{\"line-cap\":\"round\",\"line-join\":\"round\"},\"paint\":{\"line-color\":\"rgba(154, 189, 214, 1)\",\"line-width\":{\"base\":1,\"stops\":[[0,0.6],[4,1],[5,1],[12,1]]},\"line-opacity\":{\"stops\":[[6,0],[10,0]]}}},{\"id\":\"waterway-name\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"waterway\",\"minzoom\":13,\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"has\",\"name\"]],\"layout\":{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":\"{name:latin} {name:nonlatin}\",\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"line\",\"text-letter-spacing\":0.2,\"symbol-spacing\":350},\"paint\":{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{\"id\":\"water-name-lakeline\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"water_name\",\"filter\":[\"==\",\"$type\",\"LineString\"],\"layout\":{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":\"{name:latin}\\\\n{name:nonlatin}\",\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"line\",\"symbol-spacing\":350,\"text-letter-spacing\":0.2},\"paint\":{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{\"id\":\"water-name-ocean\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"water_name\",\"filter\":[\"all\",[\"==\",\"$type\",\"Point\"],[\"==\",\"class\",\"ocean\"]],\"layout\":{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":\"{name:latin}\",\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"point\",\"symbol-spacing\":350,\"text-letter-spacing\":0.2},\"paint\":{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{\"id\":\"water-name-other\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"water_name\",\"filter\":[\"all\",[\"==\",\"$type\",\"Point\"],[\"!in\",\"class\",\"ocean\"]],\"layout\":{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":{\"stops\":[[0,10],[6,14]]},\"text-field\":\"{name:latin}\\\\n{name:nonlatin}\",\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"point\",\"symbol-spacing\":350,\"text-letter-spacing\":0.2,\"visibility\":\"visible\"},\"paint\":{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{\"id\":\"poi-level-3\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"poi\",\"minzoom\":16,\"filter\":[\"all\",[\"==\",\"$type\",\"Point\"],[\">=\",\"rank\",25]],\"layout\":{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":\"{name:latin}\\\\n{name:nonlatin}\",\"text-offset\":[0,0.6],\"text-size\":12,\"text-max-width\":9},\"paint\":{\"text-halo-blur\":0.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{\"id\":\"poi-level-2\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"poi\",\"minzoom\":15,\"filter\":[\"all\",[\"==\",\"$type\",\"Point\"],[\"<=\",\"rank\",24],[\">=\",\"rank\",15]],\"layout\":{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":\"{name:latin}\\\\n{name:nonlatin}\",\"text-offset\":[0,0.6],\"text-size\":12,\"text-max-width\":9},\"paint\":{\"text-halo-blur\":0.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{\"id\":\"poi-level-1\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"poi\",\"minzoom\":14,\"filter\":[\"all\",[\"==\",\"$type\",\"Point\"],[\"<=\",\"rank\",14],[\"has\",\"name\"]],\"layout\":{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":\"{name:latin}\\\\n{name:nonlatin}\",\"text-offset\":[0,0.6],\"text-size\":11,\"text-max-width\":9},\"paint\":{\"text-halo-blur\":0.5,\"text-color\":\"rgba(191, 228, 172, 1)\",\"text-halo-width\":1,\"text-halo-color\":\"rgba(30, 29, 29, 1)\"}},{\"id\":\"poi-railway\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"poi\",\"minzoom\":13,\"filter\":[\"all\",[\"==\",\"$type\",\"Point\"],[\"has\",\"name\"],[\"==\",\"class\",\"railway\"],[\"==\",\"subclass\",\"station\"]],\"layout\":{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":\"{name:latin}\\\\n{name:nonlatin}\",\"text-offset\":[0,0.6],\"text-size\":12,\"text-max-width\":9,\"icon-optional\":false,\"icon-ignore-placement\":false,\"icon-allow-overlap\":false,\"text-ignore-placement\":false,\"text-allow-overlap\":false,\"text-optional\":true},\"paint\":{\"text-halo-blur\":0.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{\"id\":\"road_oneway\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"minzoom\":15,\"filter\":[\"all\",[\"==\",\"oneway\",1],[\"in\",\"class\",\"motorway\",\"trunk\",\"primary\",\"secondary\",\"tertiary\",\"minor\",\"service\"]],\"layout\":{\"symbol-placement\":\"line\",\"icon-image\":\"oneway\",\"symbol-spacing\":75,\"icon-padding\":2,\"icon-rotation-alignment\":\"map\",\"icon-rotate\":90,\"icon-size\":{\"stops\":[[15,0.5],[19,1]]}},\"paint\":{\"icon-opacity\":0.5}},{\"id\":\"road_oneway_opposite\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"transportation\",\"minzoom\":15,\"filter\":[\"all\",[\"==\",\"oneway\",-1],[\"in\",\"class\",\"motorway\",\"trunk\",\"primary\",\"secondary\",\"tertiary\",\"minor\",\"service\"]],\"layout\":{\"symbol-placement\":\"line\",\"icon-image\":\"oneway\",\"symbol-spacing\":75,\"icon-padding\":2,\"icon-rotation-alignment\":\"map\",\"icon-rotate\":-90,\"icon-size\":{\"stops\":[[15,0.5],[19,1]]}},\"paint\":{\"icon-opacity\":0.5}},{\"id\":\"highway-name-path\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"transportation_name\",\"minzoom\":15.5,\"filter\":[\"==\",\"class\",\"path\"],\"layout\":{\"text-size\":{\"base\":1,\"stops\":[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},\"paint\":{\"text-halo-color\":\"#f8f4f0\",\"text-color\":\"hsl(30, 23%, 62%)\",\"text-halo-width\":0.5}},{\"id\":\"highway-name-minor\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"transportation_name\",\"minzoom\":15,\"filter\":[\"all\",[\"==\",\"$type\",\"LineString\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]],\"layout\":{\"text-size\":{\"base\":1,\"stops\":[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},\"paint\":{\"text-halo-blur\":0.5,\"text-color\":\"#765\",\"text-halo-width\":1}},{\"id\":\"highway-name-major\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"transportation_name\",\"minzoom\":12.2,\"filter\":[\"in\",\"class\",\"primary\",\"secondary\",\"tertiary\",\"trunk\"],\"layout\":{\"text-size\":{\"base\":1,\"stops\":[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},\"paint\":{\"text-halo-blur\":0.5,\"text-color\":\"#765\",\"text-halo-width\":1}},{\"id\":\"highway-shield\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"transportation_name\",\"minzoom\":8,\"filter\":[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"!in\",\"network\",\"us-interstate\",\"us-highway\",\"us-state\"]],\"layout\":{\"text-size\":10,\"icon-image\":\"road_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{\"base\":1,\"stops\":[[10,\"point\"],[11,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},\"paint\":{\"text-opacity\":1,\"text-color\":\"rgba(20, 19, 19, 1)\",\"text-halo-color\":\"rgba(230, 221, 221, 0)\",\"text-halo-width\":2,\"icon-color\":\"rgba(183, 18, 18, 1)\",\"icon-opacity\":0.3,\"icon-halo-color\":\"rgba(183, 55, 55, 0)\"}},{\"id\":\"highway-shield-us-interstate\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"transportation_name\",\"minzoom\":7,\"filter\":[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"in\",\"network\",\"us-interstate\"]],\"layout\":{\"text-size\":10,\"icon-image\":\"{network}_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{\"base\":1,\"stops\":[[7,\"point\"],[7,\"line\"],[8,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},\"paint\":{\"text-color\":\"rgba(0, 0, 0, 1)\"}},{\"id\":\"highway-shield-us-other\",\"type\":\"symbol\",\"source\":\"openmaptiles\",\"source-layer\":\"transportation_name\",\"minzoom\":9,\"filter\":[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"in\",\"network\",\"us-highway\",\"us-state\"]],\"layout\":{\"text-size\":10,\"icon-image\":\"{network}_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{\"base\":1,\"stops\":[[10,\"point\"],[11,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},\"paint\":{\"text-color\":\"rgba(0, 0, 0, 1)\"}},{\"id\":\"place-other\",\"type\":\"symbol\",\"metadata\":{\"mapbox:group\":\"1444849242106.713\"},\"source\":\"openmaptiles\",\"source-layer\":\"place\",\"minzoom\":12,\"filter\":[\"!in\",\"class\",\"city\",\"town\",\"village\",\"country\",\"continent\"],\"layout\":{\"text-letter-spacing\":0.1,\"text-size\":{\"base\":1.2,\"stops\":[[12,10],[15,14]]},\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\\\\n{name:nonlatin}\",\"text-transform\":\"uppercase\",\"text-max-width\":9,\"visibility\":\"visible\"},\"paint\":{\"text-color\":\"rgba(255,255,255,1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(57, 28, 28, 1)\"}},{\"id\":\"place-village\",\"type\":\"symbol\",\"metadata\":{\"mapbox:group\":\"1444849242106.713\"},\"source\":\"openmaptiles\",\"source-layer\":\"place\",\"minzoom\":10,\"filter\":[\"==\",\"class\",\"village\"],\"layout\":{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{\"base\":1.2,\"stops\":[[10,12],[15,16]]},\"text-field\":\"{name:latin}\\\\n{name:nonlatin}\",\"text-max-width\":8,\"visibility\":\"visible\"},\"paint\":{\"text-color\":\"rgba(255, 255, 255, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(10, 9, 9, 0.8)\"}},{\"id\":\"place-town\",\"type\":\"symbol\",\"metadata\":{\"mapbox:group\":\"1444849242106.713\"},\"source\":\"openmaptiles\",\"source-layer\":\"place\",\"filter\":[\"==\",\"class\",\"town\"],\"layout\":{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{\"base\":1.2,\"stops\":[[10,14],[15,24]]},\"text-field\":\"{name:latin}\\\\n{name:nonlatin}\",\"text-max-width\":8,\"visibility\":\"visible\"},\"paint\":{\"text-color\":\"rgba(255, 255, 255, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(22, 22, 22, 0.8)\"}},{\"id\":\"place-city\",\"type\":\"symbol\",\"metadata\":{\"mapbox:group\":\"1444849242106.713\"},\"source\":\"openmaptiles\",\"source-layer\":\"place\",\"filter\":[\"all\",[\"!=\",\"capital\",2],[\"==\",\"class\",\"city\"]],\"layout\":{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{\"base\":1.2,\"stops\":[[7,14],[11,24]]},\"text-field\":\"{name:latin}\\\\n{name:nonlatin}\",\"text-max-width\":8,\"visibility\":\"visible\"},\"paint\":{\"text-color\":\"rgba(0, 0, 0, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{\"id\":\"place-city-capital\",\"type\":\"symbol\",\"metadata\":{\"mapbox:group\":\"1444849242106.713\"},\"source\":\"openmaptiles\",\"source-layer\":\"place\",\"filter\":[\"all\",[\"==\",\"capital\",2],[\"==\",\"class\",\"city\"]],\"layout\":{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{\"base\":1.2,\"stops\":[[7,14],[11,24]]},\"text-field\":\"{name:latin}\\\\n{name:nonlatin}\",\"text-max-width\":8,\"icon-image\":\"star_11\",\"text-offset\":[0.4,0],\"icon-size\":0.8,\"text-anchor\":\"left\",\"visibility\":\"visible\"},\"paint\":{\"text-color\":\"#333\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{\"id\":\"place-country-other\",\"type\":\"symbol\",\"metadata\":{\"mapbox:group\":\"1444849242106.713\"},\"source\":\"openmaptiles\",\"source-layer\":\"place\",\"filter\":[\"all\",[\"==\",\"class\",\"country\"],[\">=\",\"rank\",3],[\"!has\",\"iso_a2\"]],\"layout\":{\"text-font\":[\"Noto Sans Italic\"],\"text-field\":\"{name:latin}\",\"text-size\":{\"stops\":[[3,11],[7,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,\"visibility\":\"visible\"},\"paint\":{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{\"id\":\"place-country-3\",\"type\":\"symbol\",\"metadata\":{\"mapbox:group\":\"1444849242106.713\"},\"source\":\"openmaptiles\",\"source-layer\":\"place\",\"filter\":[\"all\",[\"==\",\"class\",\"country\"],[\">=\",\"rank\",3],[\"has\",\"iso_a2\"]],\"layout\":{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{\"stops\":[[3,11],[7,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,\"visibility\":\"visible\"},\"paint\":{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{\"id\":\"place-country-2\",\"type\":\"symbol\",\"metadata\":{\"mapbox:group\":\"1444849242106.713\"},\"source\":\"openmaptiles\",\"source-layer\":\"place\",\"filter\":[\"all\",[\"==\",\"class\",\"country\"],[\"==\",\"rank\",2],[\"has\",\"iso_a2\"]],\"layout\":{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{\"stops\":[[2,11],[5,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,\"visibility\":\"visible\"},\"paint\":{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{\"id\":\"place-country-1\",\"type\":\"symbol\",\"metadata\":{\"mapbox:group\":\"1444849242106.713\"},\"source\":\"openmaptiles\",\"source-layer\":\"place\",\"filter\":[\"all\",[\"==\",\"class\",\"country\"],[\"==\",\"rank\",1],[\"has\",\"iso_a2\"]],\"layout\":{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{\"stops\":[[1,11],[4,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,\"visibility\":\"visible\"},\"paint\":{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{\"id\":\"place-continent\",\"type\":\"symbol\",\"metadata\":{\"mapbox:group\":\"1444849242106.713\"},\"source\":\"openmaptiles\",\"source-layer\":\"place\",\"maxzoom\":1,\"filter\":[\"==\",\"class\",\"continent\"],\"layout\":{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":14,\"text-max-width\":6.25,\"text-transform\":\"uppercase\",\"visibility\":\"visible\"},\"paint\":{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}}],\"id\":\"qebnlkra6\"}')},51962:function(t){\"use strict\";t.exports=JSON.parse('{\"version\":8,\"name\":\"orto\",\"metadata\":{},\"center\":[1.537786,41.837539],\"zoom\":12,\"bearing\":0,\"pitch\":0,\"light\":{\"anchor\":\"viewport\",\"color\":\"white\",\"intensity\":0.4,\"position\":[1.15,45,30]},\"sources\":{\"ortoEsri\":{\"type\":\"raster\",\"tiles\":[\"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}\"],\"tileSize\":256,\"maxzoom\":18,\"attribution\":\"ESRI © ESRI\"},\"ortoInstaMaps\":{\"type\":\"raster\",\"tiles\":[\"https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png\"],\"tileSize\":256,\"maxzoom\":13},\"ortoICGC\":{\"type\":\"raster\",\"tiles\":[\"https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg\"],\"tileSize\":256,\"minzoom\":13.1,\"maxzoom\":20},\"openmaptiles\":{\"type\":\"vector\",\"url\":\"https://geoserveis.icgc.cat/contextmaps/basemap.json\"}},\"sprite\":\"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1\",\"glyphs\":\"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf\",\"layers\":[{\"id\":\"background\",\"type\":\"background\",\"paint\":{\"background-color\":\"#F4F9F4\"}},{\"id\":\"ortoEsri\",\"type\":\"raster\",\"source\":\"ortoEsri\",\"maxzoom\":16,\"layout\":{\"visibility\":\"visible\"}},{\"id\":\"ortoICGC\",\"type\":\"raster\",\"source\":\"ortoICGC\",\"minzoom\":13.1,\"maxzoom\":19,\"layout\":{\"visibility\":\"visible\"}},{\"id\":\"ortoInstaMaps\",\"type\":\"raster\",\"source\":\"ortoInstaMaps\",\"maxzoom\":13,\"layout\":{\"visibility\":\"visible\"}}]}')}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var a=e[n]={id:n,exports:{}};return t[n].call(a.exports,a,a.exports,r),a.exports}return r.m=t,r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.b=document.baseURI||self.location.href,r.nc=void 0,r(20260)}()}));\n", " });\n", " require(['plotly'], function(Plotly) {\n", " window._Plotly = Plotly;\n", @@ -233,7 +178,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4f92c91394f84538911370bd013a41a8", + "model_id": "51cb45b5f6a245ddac6587bd218ffd54", "version_major": 2, "version_minor": 0 }, @@ -301,7 +246,13 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ "### Other libraries" ] @@ -338,7 +289,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.4" + "version": "3.11.0" }, "toc": { "base_numbering": 1, diff --git a/Tuto-GUDHI-cover-complex.ipynb b/Tuto-GUDHI-cover-complex.ipynb index 483ab20..0f89b9d 100644 --- a/Tuto-GUDHI-cover-complex.ipynb +++ b/Tuto-GUDHI-cover-complex.ipynb @@ -2,7 +2,13 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ "# Topological Exploratory Data Analysis" ] @@ -17,7 +23,13 @@ { "cell_type": "code", "execution_count": 1, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "from gudhi.cover_complex import MapperComplex, GraphInducedComplex, NerveComplex\n", @@ -25,8 +37,7 @@ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from tqdm import tqdm\n", - "from mpl_toolkits.mplot3d import Axes3D\n", - "%matplotlib notebook" + "from mpl_toolkits.mplot3d import Axes3D" ] }, { @@ -79,1002 +90,13 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "scrolled": false - }, + "metadata": {}, "outputs": [ { "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_device_pixel_ratio', {\n", - " device_pixel_ratio: fig.ratio,\n", - " });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute('tabindex', '0');\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;' +\n", - " 'z-index: 2;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box;' +\n", - " 'pointer-events: none;' +\n", - " 'position: relative;' +\n", - " 'z-index: 0;'\n", - " );\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box;' +\n", - " 'left: 0;' +\n", - " 'pointer-events: none;' +\n", - " 'position: absolute;' +\n", - " 'top: 0;' +\n", - " 'z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " /* This rescales the canvas back to display pixels, so that it\n", - " * appears correct on HiDPI screens. */\n", - " canvas.style.width = width + 'px';\n", - " canvas.style.height = height + 'px';\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " /* User Agent sniffing is bad, but WebKit is busted:\n", - " * https://bugs.webkit.org/show_bug.cgi?id=144526\n", - " * https://bugs.webkit.org/show_bug.cgi?id=181818\n", - " * The worst that happens here is that they get an extra browser\n", - " * selection when dragging, if this check fails to catch them.\n", - " */\n", - " var UA = navigator.userAgent;\n", - " var isWebKit = /AppleWebKit/.test(UA) && !/Chrome/.test(UA);\n", - " if(isWebKit) {\n", - " return function (event) {\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We\n", - " * want to control all of the cursor setting manually through\n", - " * the 'cursor' event from matplotlib */\n", - " event.preventDefault()\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " } else {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'dblclick',\n", - " on_mouse_event_closure('dblclick')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " canvas_div.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " canvas_div.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " canvas_div.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " fig.canvas_div.style.cursor = msg['cursor'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_message = function (fig, msg) {\n", - " fig.message.textContent = msg['message'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n", - " // Request the server to send over a new figure.\n", - " fig.send_draw_message();\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n", - " fig.image_mode = msg['mode'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " var img = evt.data;\n", - " if (img.type !== 'image/png') {\n", - " /* FIXME: We get \"Resource interpreted as Image but\n", - " * transferred with MIME type text/plain:\" errors on\n", - " * Chrome. But how to set the MIME type? It doesn't seem\n", - " * to be part of the websocket stream */\n", - " img.type = 'image/png';\n", - " }\n", - "\n", - " /* Free the memory for the previous frames */\n", - " if (fig.imageObj.src) {\n", - " (window.URL || window.webkitURL).revokeObjectURL(\n", - " fig.imageObj.src\n", - " );\n", - " }\n", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " img\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "function getModifiers(event) {\n", - " var mods = [];\n", - " if (event.ctrlKey) {\n", - " mods.push('ctrl');\n", - " }\n", - " if (event.altKey) {\n", - " mods.push('alt');\n", - " }\n", - " if (event.shiftKey) {\n", - " mods.push('shift');\n", - " }\n", - " if (event.metaKey) {\n", - " mods.push('meta');\n", - " }\n", - " return mods;\n", - "}\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * https://stackoverflow.com/a/24161582/3208463\n", - " */\n", - "function simpleKeys(original) {\n", - " return Object.keys(original).reduce(function (obj, key) {\n", - " if (typeof original[key] !== 'object') {\n", - " obj[key] = original[key];\n", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " // from https://stackoverflow.com/q/1114465\n", - " var boundingRect = this.canvas.getBoundingClientRect();\n", - " var x = (event.clientX - boundingRect.left) * this.ratio;\n", - " var y = (event.clientY - boundingRect.top) * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " modifiers: getModifiers(event),\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.key === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.key;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.key !== 'Control') {\n", - " value += 'ctrl+';\n", - " }\n", - " else if (event.altKey && event.key !== 'Alt') {\n", - " value += 'alt+';\n", - " }\n", - " else if (event.shiftKey && event.key !== 'Shift') {\n", - " value += 'shift+';\n", - " }\n", - "\n", - " value += 'k' + event.key;\n", - "\n", - " this._key_event_extra(event, name);\n", - "\n", - " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o\", \"download\"]];\n", - "\n", - "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\", \"webp\"];\n", - "\n", - "mpl.default_extension = \"png\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.binaryType = comm.kernel.ws.binaryType;\n", - " ws.readyState = comm.kernel.ws.readyState;\n", - " function updateReadyState(_event) {\n", - " if (comm.kernel.ws) {\n", - " ws.readyState = comm.kernel.ws.readyState;\n", - " } else {\n", - " ws.readyState = 3; // Closed state.\n", - " }\n", - " }\n", - " comm.kernel.ws.addEventListener('open', updateReadyState);\n", - " comm.kernel.ws.addEventListener('close', updateReadyState);\n", - " comm.kernel.ws.addEventListener('error', updateReadyState);\n", - "\n", - " ws.close = function () {\n", - " comm.close();\n", - " };\n", - " ws.send = function (m) {\n", - " //console.log('sending', m);\n", - " comm.send(m);\n", - " };\n", - " // Register the callback with on_msg.\n", - " comm.on_msg(function (msg) {\n", - " //console.log('receiving', msg['content']['data'], msg);\n", - " var data = msg['content']['data'];\n", - " if (data['blob'] !== undefined) {\n", - " data = {\n", - " data: new Blob(msg['buffers'], { type: data['blob'] }),\n", - " };\n", - " }\n", - " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", - " ws.onmessage(data);\n", - " });\n", - " return ws;\n", - "};\n", - "\n", - "mpl.mpl_figure_comm = function (comm, msg) {\n", - " // This is the function which gets called when the mpl process\n", - " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", - "\n", - " var id = msg.content.data.id;\n", - " // Get hold of the div created by the display call when the Comm\n", - " // socket was opened in Python.\n", - " var element = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], + "image/png": "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", "text/plain": [ - "" + "
" ] }, "metadata": {}, @@ -1252,996 +274,9 @@ "outputs": [ { "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_device_pixel_ratio', {\n", - " device_pixel_ratio: fig.ratio,\n", - " });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute('tabindex', '0');\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;' +\n", - " 'z-index: 2;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box;' +\n", - " 'pointer-events: none;' +\n", - " 'position: relative;' +\n", - " 'z-index: 0;'\n", - " );\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box;' +\n", - " 'left: 0;' +\n", - " 'pointer-events: none;' +\n", - " 'position: absolute;' +\n", - " 'top: 0;' +\n", - " 'z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " /* This rescales the canvas back to display pixels, so that it\n", - " * appears correct on HiDPI screens. */\n", - " canvas.style.width = width + 'px';\n", - " canvas.style.height = height + 'px';\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " /* User Agent sniffing is bad, but WebKit is busted:\n", - " * https://bugs.webkit.org/show_bug.cgi?id=144526\n", - " * https://bugs.webkit.org/show_bug.cgi?id=181818\n", - " * The worst that happens here is that they get an extra browser\n", - " * selection when dragging, if this check fails to catch them.\n", - " */\n", - " var UA = navigator.userAgent;\n", - " var isWebKit = /AppleWebKit/.test(UA) && !/Chrome/.test(UA);\n", - " if(isWebKit) {\n", - " return function (event) {\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We\n", - " * want to control all of the cursor setting manually through\n", - " * the 'cursor' event from matplotlib */\n", - " event.preventDefault()\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " } else {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'dblclick',\n", - " on_mouse_event_closure('dblclick')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " canvas_div.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " canvas_div.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " canvas_div.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " fig.canvas_div.style.cursor = msg['cursor'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_message = function (fig, msg) {\n", - " fig.message.textContent = msg['message'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n", - " // Request the server to send over a new figure.\n", - " fig.send_draw_message();\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n", - " fig.image_mode = msg['mode'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " var img = evt.data;\n", - " if (img.type !== 'image/png') {\n", - " /* FIXME: We get \"Resource interpreted as Image but\n", - " * transferred with MIME type text/plain:\" errors on\n", - " * Chrome. But how to set the MIME type? It doesn't seem\n", - " * to be part of the websocket stream */\n", - " img.type = 'image/png';\n", - " }\n", - "\n", - " /* Free the memory for the previous frames */\n", - " if (fig.imageObj.src) {\n", - " (window.URL || window.webkitURL).revokeObjectURL(\n", - " fig.imageObj.src\n", - " );\n", - " }\n", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " img\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "function getModifiers(event) {\n", - " var mods = [];\n", - " if (event.ctrlKey) {\n", - " mods.push('ctrl');\n", - " }\n", - " if (event.altKey) {\n", - " mods.push('alt');\n", - " }\n", - " if (event.shiftKey) {\n", - " mods.push('shift');\n", - " }\n", - " if (event.metaKey) {\n", - " mods.push('meta');\n", - " }\n", - " return mods;\n", - "}\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * https://stackoverflow.com/a/24161582/3208463\n", - " */\n", - "function simpleKeys(original) {\n", - " return Object.keys(original).reduce(function (obj, key) {\n", - " if (typeof original[key] !== 'object') {\n", - " obj[key] = original[key];\n", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " // from https://stackoverflow.com/q/1114465\n", - " var boundingRect = this.canvas.getBoundingClientRect();\n", - " var x = (event.clientX - boundingRect.left) * this.ratio;\n", - " var y = (event.clientY - boundingRect.top) * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " modifiers: getModifiers(event),\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.key === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.key;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.key !== 'Control') {\n", - " value += 'ctrl+';\n", - " }\n", - " else if (event.altKey && event.key !== 'Alt') {\n", - " value += 'alt+';\n", - " }\n", - " else if (event.shiftKey && event.key !== 'Shift') {\n", - " value += 'shift+';\n", - " }\n", - "\n", - " value += 'k' + event.key;\n", - "\n", - " this._key_event_extra(event, name);\n", - "\n", - " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o\", \"download\"]];\n", - "\n", - "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\", \"webp\"];\n", - "\n", - "mpl.default_extension = \"png\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.binaryType = comm.kernel.ws.binaryType;\n", - " ws.readyState = comm.kernel.ws.readyState;\n", - " function updateReadyState(_event) {\n", - " if (comm.kernel.ws) {\n", - " ws.readyState = comm.kernel.ws.readyState;\n", - " } else {\n", - " ws.readyState = 3; // Closed state.\n", - " }\n", - " }\n", - " comm.kernel.ws.addEventListener('open', updateReadyState);\n", - " comm.kernel.ws.addEventListener('close', updateReadyState);\n", - " comm.kernel.ws.addEventListener('error', updateReadyState);\n", - "\n", - " ws.close = function () {\n", - " comm.close();\n", - " };\n", - " ws.send = function (m) {\n", - " //console.log('sending', m);\n", - " comm.send(m);\n", - " };\n", - " // Register the callback with on_msg.\n", - " comm.on_msg(function (msg) {\n", - " //console.log('receiving', msg['content']['data'], msg);\n", - " var data = msg['content']['data'];\n", - " if (data['blob'] !== undefined) {\n", - " data = {\n", - " data: new Blob(msg['buffers'], { type: data['blob'] }),\n", - " };\n", - " }\n", - " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", - " ws.onmessage(data);\n", - " });\n", - " return ws;\n", - "};\n", - "\n", - "mpl.mpl_figure_comm = function (comm, msg) {\n", - " // This is the function which gets called when the mpl process\n", - " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", - "\n", - " var id = msg.content.data.id;\n", - " // Get hold of the div created by the display call when the Comm\n", - " // socket was opened in Python.\n", - " var element = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], + "image/png": "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PvKRTxo14MFWPltpP6H7018+W2n/bKUbPvtoV1V2d3e5+uqrP2ndz2uwc8m0+syZM58VD3aznD59+rOSbvjspf2E7k9/+Wyl/bOVbvjsov3+MionBion5aSclJNyUj7nywnYnZSTclJOykn5nC+f12A3m8344R/+YWaz2WealAdUPlvphs9e2k/o/vSXz1baP1vphs9u2j9Z+by2xjwpJ+WknJST8vlRPq85u5NyUk7KSTkpnx/lBOxOykk5KSflpHzOlxOwOykn5aSclJPyOV9OwO6knJSTclJOyud8OQG7k3JSTspJOSmf8+XzFux+7ud+jkc84hHM53Oe/OQn8/a3v/3Tev2XvOQl/PW//tc5deoUV1xxBd/yLd/C+973vkmd5XLJ85//fC699FJ2dnb4O3/n73D77bdP6tx666084xnPYGtriyuuuIIbb7yRYRgmdX77t3+bL//yL2c2m/GFX/iF/Mqv/MqnbBwvfelLERFe+MIXPujp/uhHP8rf//t/n0svvZTFYsHjHvc43vGOd5TzqsoP/dAP8ZCHPITFYsENN9zA+9///kkfd999N8961rM4ffo0Z8+e5bnPfS57e3uTOu9617v4qq/6KubzOddccw0//uM//peiO4TAD/7gD/LIRz6SxWLBF3zBF/AjP/Ijk+C3Dxba3/SmN/GN3/iNXH311YgIr371qyfnP510vvKVr+Qxj3kM8/mcxz3ucbzmNa/5C9Hd9z0vfvGLedzjHsf29jZXX301/+Af/AM+9rGPPajp3izPe97zEBF+5md+5jNO92ek6OdhecUrXqFd1+kv/dIv6bvf/W79ju/4Dj179qzefvvtnzYanva0p+kv//Iv6y233KI333yzfsM3fINee+21ure3V+o873nP02uuuUZf//rX6zve8Q79G3/jb+hTn/rUcn4YBn3sYx+rN9xwg77zne/U17zmNXrZZZfp93//95c6H/jAB3Rra0u/93u/V9/znvfoz/7sz6r3Xn/rt37rLz2Gt7/97fqIRzxCv+zLvkxf8IIXPKjpvvvuu/XhD3+4/sN/+A/1bW97m37gAx/Q1772tfpnf/Znpc5LX/pSPXPmjL761a/WP/qjP9Jv+qZv0kc+8pF6eHhY6nz913+9Pv7xj9ff//3f1ze/+c36hV/4hfrMZz6znL9w4YJeeeWV+qxnPUtvueUW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", "text/plain": [ - "" + "
" ] }, "metadata": {}, @@ -2446,996 +481,9 @@ "outputs": [ { "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_device_pixel_ratio', {\n", - " device_pixel_ratio: fig.ratio,\n", - " });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute('tabindex', '0');\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;' +\n", - " 'z-index: 2;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box;' +\n", - " 'pointer-events: none;' +\n", - " 'position: relative;' +\n", - " 'z-index: 0;'\n", - " );\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box;' +\n", - " 'left: 0;' +\n", - " 'pointer-events: none;' +\n", - " 'position: absolute;' +\n", - " 'top: 0;' +\n", - " 'z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " /* This rescales the canvas back to display pixels, so that it\n", - " * appears correct on HiDPI screens. */\n", - " canvas.style.width = width + 'px';\n", - " canvas.style.height = height + 'px';\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " /* User Agent sniffing is bad, but WebKit is busted:\n", - " * https://bugs.webkit.org/show_bug.cgi?id=144526\n", - " * https://bugs.webkit.org/show_bug.cgi?id=181818\n", - " * The worst that happens here is that they get an extra browser\n", - " * selection when dragging, if this check fails to catch them.\n", - " */\n", - " var UA = navigator.userAgent;\n", - " var isWebKit = /AppleWebKit/.test(UA) && !/Chrome/.test(UA);\n", - " if(isWebKit) {\n", - " return function (event) {\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We\n", - " * want to control all of the cursor setting manually through\n", - " * the 'cursor' event from matplotlib */\n", - " event.preventDefault()\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " } else {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'dblclick',\n", - " on_mouse_event_closure('dblclick')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " canvas_div.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " canvas_div.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " canvas_div.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " fig.canvas_div.style.cursor = msg['cursor'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_message = function (fig, msg) {\n", - " fig.message.textContent = msg['message'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n", - " // Request the server to send over a new figure.\n", - " fig.send_draw_message();\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n", - " fig.image_mode = msg['mode'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " var img = evt.data;\n", - " if (img.type !== 'image/png') {\n", - " /* FIXME: We get \"Resource interpreted as Image but\n", - " * transferred with MIME type text/plain:\" errors on\n", - " * Chrome. But how to set the MIME type? It doesn't seem\n", - " * to be part of the websocket stream */\n", - " img.type = 'image/png';\n", - " }\n", - "\n", - " /* Free the memory for the previous frames */\n", - " if (fig.imageObj.src) {\n", - " (window.URL || window.webkitURL).revokeObjectURL(\n", - " fig.imageObj.src\n", - " );\n", - " }\n", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " img\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "function getModifiers(event) {\n", - " var mods = [];\n", - " if (event.ctrlKey) {\n", - " mods.push('ctrl');\n", - " }\n", - " if (event.altKey) {\n", - " mods.push('alt');\n", - " }\n", - " if (event.shiftKey) {\n", - " mods.push('shift');\n", - " }\n", - " if (event.metaKey) {\n", - " mods.push('meta');\n", - " }\n", - " return mods;\n", - "}\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * https://stackoverflow.com/a/24161582/3208463\n", - " */\n", - "function simpleKeys(original) {\n", - " return Object.keys(original).reduce(function (obj, key) {\n", - " if (typeof original[key] !== 'object') {\n", - " obj[key] = original[key];\n", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " // from https://stackoverflow.com/q/1114465\n", - " var boundingRect = this.canvas.getBoundingClientRect();\n", - " var x = (event.clientX - boundingRect.left) * this.ratio;\n", - " var y = (event.clientY - boundingRect.top) * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " modifiers: getModifiers(event),\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.key === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.key;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.key !== 'Control') {\n", - " value += 'ctrl+';\n", - " }\n", - " else if (event.altKey && event.key !== 'Alt') {\n", - " value += 'alt+';\n", - " }\n", - " else if (event.shiftKey && event.key !== 'Shift') {\n", - " value += 'shift+';\n", - " }\n", - "\n", - " value += 'k' + event.key;\n", - "\n", - " this._key_event_extra(event, name);\n", - "\n", - " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o\", \"download\"]];\n", - "\n", - "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\", \"webp\"];\n", - "\n", - "mpl.default_extension = \"png\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.binaryType = comm.kernel.ws.binaryType;\n", - " ws.readyState = comm.kernel.ws.readyState;\n", - " function updateReadyState(_event) {\n", - " if (comm.kernel.ws) {\n", - " ws.readyState = comm.kernel.ws.readyState;\n", - " } else {\n", - " ws.readyState = 3; // Closed state.\n", - " }\n", - " }\n", - " comm.kernel.ws.addEventListener('open', updateReadyState);\n", - " comm.kernel.ws.addEventListener('close', updateReadyState);\n", - " comm.kernel.ws.addEventListener('error', updateReadyState);\n", - "\n", - " ws.close = function () {\n", - " comm.close();\n", - " };\n", - " ws.send = function (m) {\n", - " //console.log('sending', m);\n", - " comm.send(m);\n", - " };\n", - " // Register the callback with on_msg.\n", - " comm.on_msg(function (msg) {\n", - " //console.log('receiving', msg['content']['data'], msg);\n", - " var data = msg['content']['data'];\n", - " if (data['blob'] !== undefined) {\n", - " data = {\n", - " data: new Blob(msg['buffers'], { type: data['blob'] }),\n", - " };\n", - " }\n", - " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", - " ws.onmessage(data);\n", - " });\n", - " return ws;\n", - "};\n", - "\n", - "mpl.mpl_figure_comm = function (comm, msg) {\n", - " // This is the function which gets called when the mpl process\n", - " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", - "\n", - " var id = msg.content.data.id;\n", - " // Get hold of the div created by the display call when the Comm\n", - " // socket was opened in Python.\n", - " var element = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], + "image/png": "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", "text/plain": [ - "" + "
" ] }, "metadata": {}, @@ -3459,1050 +507,52 @@ "cell_type": "code", "execution_count": 28, "metadata": {}, + "outputs": [], + "source": [ + "cover_complex.save_to_dot(file_name=\"human\", color_name=\"color\")" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "!neato -Tpdf human.dot -o human.pdf" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3. You can create an HTML file and visualize it in browser." + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "'human.html' is generated. You can now use your favorite web browser to visualize it.\n" + ] + } + ], + "source": [ + "cover_complex.save_to_html(file_name=\"human\", data_name=\"human\", cover_name=\"uniform\", color_name=\"height\")" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, "outputs": [ { "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_device_pixel_ratio', {\n", - " device_pixel_ratio: fig.ratio,\n", - " });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute('tabindex', '0');\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;' +\n", - " 'z-index: 2;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box;' +\n", - " 'pointer-events: none;' +\n", - " 'position: relative;' +\n", - " 'z-index: 0;'\n", - " );\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box;' +\n", - " 'left: 0;' +\n", - " 'pointer-events: none;' +\n", - " 'position: absolute;' +\n", - " 'top: 0;' +\n", - " 'z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " /* This rescales the canvas back to display pixels, so that it\n", - " * appears correct on HiDPI screens. */\n", - " canvas.style.width = width + 'px';\n", - " canvas.style.height = height + 'px';\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " /* User Agent sniffing is bad, but WebKit is busted:\n", - " * https://bugs.webkit.org/show_bug.cgi?id=144526\n", - " * https://bugs.webkit.org/show_bug.cgi?id=181818\n", - " * The worst that happens here is that they get an extra browser\n", - " * selection when dragging, if this check fails to catch them.\n", - " */\n", - " var UA = navigator.userAgent;\n", - " var isWebKit = /AppleWebKit/.test(UA) && !/Chrome/.test(UA);\n", - " if(isWebKit) {\n", - " return function (event) {\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We\n", - " * want to control all of the cursor setting manually through\n", - " * the 'cursor' event from matplotlib */\n", - " event.preventDefault()\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " } else {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'dblclick',\n", - " on_mouse_event_closure('dblclick')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " canvas_div.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " canvas_div.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " canvas_div.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " fig.canvas_div.style.cursor = msg['cursor'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_message = function (fig, msg) {\n", - " fig.message.textContent = msg['message'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n", - " // Request the server to send over a new figure.\n", - " fig.send_draw_message();\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n", - " fig.image_mode = msg['mode'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " var img = evt.data;\n", - " if (img.type !== 'image/png') {\n", - " /* FIXME: We get \"Resource interpreted as Image but\n", - " * transferred with MIME type text/plain:\" errors on\n", - " * Chrome. But how to set the MIME type? It doesn't seem\n", - " * to be part of the websocket stream */\n", - " img.type = 'image/png';\n", - " }\n", - "\n", - " /* Free the memory for the previous frames */\n", - " if (fig.imageObj.src) {\n", - " (window.URL || window.webkitURL).revokeObjectURL(\n", - " fig.imageObj.src\n", - " );\n", - " }\n", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " img\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "function getModifiers(event) {\n", - " var mods = [];\n", - " if (event.ctrlKey) {\n", - " mods.push('ctrl');\n", - " }\n", - " if (event.altKey) {\n", - " mods.push('alt');\n", - " }\n", - " if (event.shiftKey) {\n", - " mods.push('shift');\n", - " }\n", - " if (event.metaKey) {\n", - " mods.push('meta');\n", - " }\n", - " return mods;\n", - "}\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * https://stackoverflow.com/a/24161582/3208463\n", - " */\n", - "function simpleKeys(original) {\n", - " return Object.keys(original).reduce(function (obj, key) {\n", - " if (typeof original[key] !== 'object') {\n", - " obj[key] = original[key];\n", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " // from https://stackoverflow.com/q/1114465\n", - " var boundingRect = this.canvas.getBoundingClientRect();\n", - " var x = (event.clientX - boundingRect.left) * this.ratio;\n", - " var y = (event.clientY - boundingRect.top) * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " modifiers: getModifiers(event),\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.key === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.key;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.key !== 'Control') {\n", - " value += 'ctrl+';\n", - " }\n", - " else if (event.altKey && event.key !== 'Alt') {\n", - " value += 'alt+';\n", - " }\n", - " else if (event.shiftKey && event.key !== 'Shift') {\n", - " value += 'shift+';\n", - " }\n", - "\n", - " value += 'k' + event.key;\n", - "\n", - " this._key_event_extra(event, name);\n", - "\n", - " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o\", \"download\"]];\n", - "\n", - "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\", \"webp\"];\n", - "\n", - "mpl.default_extension = \"png\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.binaryType = comm.kernel.ws.binaryType;\n", - " ws.readyState = comm.kernel.ws.readyState;\n", - " function updateReadyState(_event) {\n", - " if (comm.kernel.ws) {\n", - " ws.readyState = comm.kernel.ws.readyState;\n", - " } else {\n", - " ws.readyState = 3; // Closed state.\n", - " }\n", - " }\n", - " comm.kernel.ws.addEventListener('open', updateReadyState);\n", - " comm.kernel.ws.addEventListener('close', updateReadyState);\n", - " comm.kernel.ws.addEventListener('error', updateReadyState);\n", - "\n", - " ws.close = function () {\n", - " comm.close();\n", - " };\n", - " ws.send = function (m) {\n", - " //console.log('sending', m);\n", - " comm.send(m);\n", - " };\n", - " // Register the callback with on_msg.\n", - " comm.on_msg(function (msg) {\n", - " //console.log('receiving', msg['content']['data'], msg);\n", - " var data = msg['content']['data'];\n", - " if (data['blob'] !== undefined) {\n", - " data = {\n", - " data: new Blob(msg['buffers'], { type: data['blob'] }),\n", - " };\n", - " }\n", - " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", - " ws.onmessage(data);\n", - " });\n", - " return ws;\n", - "};\n", - "\n", - "mpl.mpl_figure_comm = function (comm, msg) {\n", - " // This is the function which gets called when the mpl process\n", - " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", - "\n", - " var id = msg.content.data.id;\n", - " // Get hold of the div created by the display call when the Comm\n", - " // socket was opened in Python.\n", - " var element = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "cover_complex.save_to_dot(file_name=\"human\", color_name=\"color\")" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [], - "source": [ - "!neato -Tpdf human.dot -o human.pdf" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "3. You can create an HTML file and visualize it in browser." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "'human.html' is generated. You can now use your favorite web browser to visualize it.\n" - ] - } - ], - "source": [ - "cover_complex.save_to_html(file_name=\"human\", data_name=\"human\", cover_name=\"uniform\", color_name=\"height\")" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ + "text/html": [ "\n", " " + "" ] }, "execution_count": 31, @@ -4553,7 +603,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "'human.html' is generated. You can now use your favorite web browser to visualize it.\r\n" + "'human.html' is generated. You can now use your favorite web browser to visualize it.\n" ] } ], @@ -4873,996 +923,9 @@ "outputs": [ { "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_device_pixel_ratio', {\n", - " device_pixel_ratio: fig.ratio,\n", - " });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute('tabindex', '0');\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;' +\n", - " 'z-index: 2;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box;' +\n", - " 'pointer-events: none;' +\n", - " 'position: relative;' +\n", - " 'z-index: 0;'\n", - " );\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box;' +\n", - " 'left: 0;' +\n", - " 'pointer-events: none;' +\n", - " 'position: absolute;' +\n", - " 'top: 0;' +\n", - " 'z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " /* This rescales the canvas back to display pixels, so that it\n", - " * appears correct on HiDPI screens. */\n", - " canvas.style.width = width + 'px';\n", - " canvas.style.height = height + 'px';\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " /* User Agent sniffing is bad, but WebKit is busted:\n", - " * https://bugs.webkit.org/show_bug.cgi?id=144526\n", - " * https://bugs.webkit.org/show_bug.cgi?id=181818\n", - " * The worst that happens here is that they get an extra browser\n", - " * selection when dragging, if this check fails to catch them.\n", - " */\n", - " var UA = navigator.userAgent;\n", - " var isWebKit = /AppleWebKit/.test(UA) && !/Chrome/.test(UA);\n", - " if(isWebKit) {\n", - " return function (event) {\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We\n", - " * want to control all of the cursor setting manually through\n", - " * the 'cursor' event from matplotlib */\n", - " event.preventDefault()\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " } else {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'dblclick',\n", - " on_mouse_event_closure('dblclick')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " canvas_div.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " canvas_div.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " canvas_div.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " fig.canvas_div.style.cursor = msg['cursor'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_message = function (fig, msg) {\n", - " fig.message.textContent = msg['message'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n", - " // Request the server to send over a new figure.\n", - " fig.send_draw_message();\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n", - " fig.image_mode = msg['mode'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " var img = evt.data;\n", - " if (img.type !== 'image/png') {\n", - " /* FIXME: We get \"Resource interpreted as Image but\n", - " * transferred with MIME type text/plain:\" errors on\n", - " * Chrome. But how to set the MIME type? It doesn't seem\n", - " * to be part of the websocket stream */\n", - " img.type = 'image/png';\n", - " }\n", - "\n", - " /* Free the memory for the previous frames */\n", - " if (fig.imageObj.src) {\n", - " (window.URL || window.webkitURL).revokeObjectURL(\n", - " fig.imageObj.src\n", - " );\n", - " }\n", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " img\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "function getModifiers(event) {\n", - " var mods = [];\n", - " if (event.ctrlKey) {\n", - " mods.push('ctrl');\n", - " }\n", - " if (event.altKey) {\n", - " mods.push('alt');\n", - " }\n", - " if (event.shiftKey) {\n", - " mods.push('shift');\n", - " }\n", - " if (event.metaKey) {\n", - " mods.push('meta');\n", - " }\n", - " return mods;\n", - "}\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * https://stackoverflow.com/a/24161582/3208463\n", - " */\n", - "function simpleKeys(original) {\n", - " return Object.keys(original).reduce(function (obj, key) {\n", - " if (typeof original[key] !== 'object') {\n", - " obj[key] = original[key];\n", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " // from https://stackoverflow.com/q/1114465\n", - " var boundingRect = this.canvas.getBoundingClientRect();\n", - " var x = (event.clientX - boundingRect.left) * this.ratio;\n", - " var y = (event.clientY - boundingRect.top) * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " modifiers: getModifiers(event),\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.key === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.key;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.key !== 'Control') {\n", - " value += 'ctrl+';\n", - " }\n", - " else if (event.altKey && event.key !== 'Alt') {\n", - " value += 'alt+';\n", - " }\n", - " else if (event.shiftKey && event.key !== 'Shift') {\n", - " value += 'shift+';\n", - " }\n", - "\n", - " value += 'k' + event.key;\n", - "\n", - " this._key_event_extra(event, name);\n", - "\n", - " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o\", \"download\"]];\n", - "\n", - "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\", \"webp\"];\n", - "\n", - "mpl.default_extension = \"png\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.binaryType = comm.kernel.ws.binaryType;\n", - " ws.readyState = comm.kernel.ws.readyState;\n", - " function updateReadyState(_event) {\n", - " if (comm.kernel.ws) {\n", - " ws.readyState = comm.kernel.ws.readyState;\n", - " } else {\n", - " ws.readyState = 3; // Closed state.\n", - " }\n", - " }\n", - " comm.kernel.ws.addEventListener('open', updateReadyState);\n", - " comm.kernel.ws.addEventListener('close', updateReadyState);\n", - " comm.kernel.ws.addEventListener('error', updateReadyState);\n", - "\n", - " ws.close = function () {\n", - " comm.close();\n", - " };\n", - " ws.send = function (m) {\n", - " //console.log('sending', m);\n", - " comm.send(m);\n", - " };\n", - " // Register the callback with on_msg.\n", - " comm.on_msg(function (msg) {\n", - " //console.log('receiving', msg['content']['data'], msg);\n", - " var data = msg['content']['data'];\n", - " if (data['blob'] !== undefined) {\n", - " data = {\n", - " data: new Blob(msg['buffers'], { type: data['blob'] }),\n", - " };\n", - " }\n", - " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", - " ws.onmessage(data);\n", - " });\n", - " return ws;\n", - "};\n", - "\n", - "mpl.mpl_figure_comm = function (comm, msg) {\n", - " // This is the function which gets called when the mpl process\n", - " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", - "\n", - " var id = msg.content.data.id;\n", - " // Get hold of the div created by the display call when the Comm\n", - " // socket was opened in Python.\n", - " var element = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], + "image/png": "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", "text/plain": [ - "" + "
" ] }, "metadata": {}, @@ -5895,7 +958,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:39<00:00, 2.55it/s]\n" + "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:24<00:00, 4.02it/s]\n" ] } ], @@ -5928,996 +991,9 @@ "outputs": [ { "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_device_pixel_ratio', {\n", - " device_pixel_ratio: fig.ratio,\n", - " });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute('tabindex', '0');\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;' +\n", - " 'z-index: 2;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box;' +\n", - " 'pointer-events: none;' +\n", - " 'position: relative;' +\n", - " 'z-index: 0;'\n", - " );\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box;' +\n", - " 'left: 0;' +\n", - " 'pointer-events: none;' +\n", - " 'position: absolute;' +\n", - " 'top: 0;' +\n", - " 'z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " /* This rescales the canvas back to display pixels, so that it\n", - " * appears correct on HiDPI screens. */\n", - " canvas.style.width = width + 'px';\n", - " canvas.style.height = height + 'px';\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " /* User Agent sniffing is bad, but WebKit is busted:\n", - " * https://bugs.webkit.org/show_bug.cgi?id=144526\n", - " * https://bugs.webkit.org/show_bug.cgi?id=181818\n", - " * The worst that happens here is that they get an extra browser\n", - " * selection when dragging, if this check fails to catch them.\n", - " */\n", - " var UA = navigator.userAgent;\n", - " var isWebKit = /AppleWebKit/.test(UA) && !/Chrome/.test(UA);\n", - " if(isWebKit) {\n", - " return function (event) {\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We\n", - " * want to control all of the cursor setting manually through\n", - " * the 'cursor' event from matplotlib */\n", - " event.preventDefault()\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " } else {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'dblclick',\n", - " on_mouse_event_closure('dblclick')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " canvas_div.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " canvas_div.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " canvas_div.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " fig.canvas_div.style.cursor = msg['cursor'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_message = function (fig, msg) {\n", - " fig.message.textContent = msg['message'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n", - " // Request the server to send over a new figure.\n", - " fig.send_draw_message();\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n", - " fig.image_mode = msg['mode'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " var img = evt.data;\n", - " if (img.type !== 'image/png') {\n", - " /* FIXME: We get \"Resource interpreted as Image but\n", - " * transferred with MIME type text/plain:\" errors on\n", - " * Chrome. But how to set the MIME type? It doesn't seem\n", - " * to be part of the websocket stream */\n", - " img.type = 'image/png';\n", - " }\n", - "\n", - " /* Free the memory for the previous frames */\n", - " if (fig.imageObj.src) {\n", - " (window.URL || window.webkitURL).revokeObjectURL(\n", - " fig.imageObj.src\n", - " );\n", - " }\n", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " img\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "function getModifiers(event) {\n", - " var mods = [];\n", - " if (event.ctrlKey) {\n", - " mods.push('ctrl');\n", - " }\n", - " if (event.altKey) {\n", - " mods.push('alt');\n", - " }\n", - " if (event.shiftKey) {\n", - " mods.push('shift');\n", - " }\n", - " if (event.metaKey) {\n", - " mods.push('meta');\n", - " }\n", - " return mods;\n", - "}\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * https://stackoverflow.com/a/24161582/3208463\n", - " */\n", - "function simpleKeys(original) {\n", - " return Object.keys(original).reduce(function (obj, key) {\n", - " if (typeof original[key] !== 'object') {\n", - " obj[key] = original[key];\n", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " // from https://stackoverflow.com/q/1114465\n", - " var boundingRect = this.canvas.getBoundingClientRect();\n", - " var x = (event.clientX - boundingRect.left) * this.ratio;\n", - " var y = (event.clientY - boundingRect.top) * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " modifiers: getModifiers(event),\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.key === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.key;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.key !== 'Control') {\n", - " value += 'ctrl+';\n", - " }\n", - " else if (event.altKey && event.key !== 'Alt') {\n", - " value += 'alt+';\n", - " }\n", - " else if (event.shiftKey && event.key !== 'Shift') {\n", - " value += 'shift+';\n", - " }\n", - "\n", - " value += 'k' + event.key;\n", - "\n", - " this._key_event_extra(event, name);\n", - "\n", - " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o\", \"download\"]];\n", - "\n", - "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\", \"webp\"];\n", - "\n", - "mpl.default_extension = \"png\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.binaryType = comm.kernel.ws.binaryType;\n", - " ws.readyState = comm.kernel.ws.readyState;\n", - " function updateReadyState(_event) {\n", - " if (comm.kernel.ws) {\n", - " ws.readyState = comm.kernel.ws.readyState;\n", - " } else {\n", - " ws.readyState = 3; // Closed state.\n", - " }\n", - " }\n", - " comm.kernel.ws.addEventListener('open', updateReadyState);\n", - " comm.kernel.ws.addEventListener('close', updateReadyState);\n", - " comm.kernel.ws.addEventListener('error', updateReadyState);\n", - "\n", - " ws.close = function () {\n", - " comm.close();\n", - " };\n", - " ws.send = function (m) {\n", - " //console.log('sending', m);\n", - " comm.send(m);\n", - " };\n", - " // Register the callback with on_msg.\n", - " comm.on_msg(function (msg) {\n", - " //console.log('receiving', msg['content']['data'], msg);\n", - " var data = msg['content']['data'];\n", - " if (data['blob'] !== undefined) {\n", - " data = {\n", - " data: new Blob(msg['buffers'], { type: data['blob'] }),\n", - " };\n", - " }\n", - " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", - " ws.onmessage(data);\n", - " });\n", - " return ws;\n", - "};\n", - "\n", - "mpl.mpl_figure_comm = function (comm, msg) {\n", - " // This is the function which gets called when the mpl process\n", - " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", - "\n", - " var id = msg.content.data.id;\n", - " // Get hold of the div created by the display call when the Comm\n", - " // socket was opened in Python.\n", - " var element = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], + "image/png": "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", "text/plain": [ - "" + "
" ] }, "metadata": {}, @@ -6991,7 +1067,13 @@ { "cell_type": "code", "execution_count": 46, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -7007,13 +1089,6 @@ "source": [ "compute_differential_coordinates(cover_complex, nodes=bnd[3])" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -7032,7 +1107,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.6" + "version": "3.11.0" }, "toc": { "base_numbering": 1, @@ -7049,5 +1124,5 @@ } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/Tuto-GUDHI-cubical-complexes.ipynb b/Tuto-GUDHI-cubical-complexes.ipynb index 5ca2be4..58003e4 100644 --- a/Tuto-GUDHI-cubical-complexes.ipynb +++ b/Tuto-GUDHI-cubical-complexes.ipynb @@ -4,9 +4,14 @@ "cell_type": "markdown", "metadata": { "collapsed": true, + "editable": true, "jupyter": { "outputs_hidden": true - } + }, + "slideshow": { + "slide_type": "" + }, + "tags": [] }, "source": [ "# TDA with Python using the Gudhi Library \n", @@ -24,7 +29,13 @@ { "cell_type": "code", "execution_count": 1, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", @@ -32,8 +43,7 @@ "import pickle as pickle\n", "from pylab import *\n", "from sklearn.neighbors import KernelDensity\n", - "import seaborn as sns\n", - "%matplotlib inline" + "import seaborn as sns" ] }, { @@ -295,7 +305,13 @@ { "cell_type": "code", "execution_count": 12, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [ { "data": { diff --git a/Tuto-GUDHI-extended-persistence.ipynb b/Tuto-GUDHI-extended-persistence.ipynb index 4fc599c..589b751 100644 --- a/Tuto-GUDHI-extended-persistence.ipynb +++ b/Tuto-GUDHI-extended-persistence.ipynb @@ -2,7 +2,13 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ "# Extended Persistence" ] @@ -120,24 +126,19 @@ { "cell_type": "code", "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "# Note: %matplotlib notebook allows for iteractive 3D plot.\n", - "#%matplotlib notebook\n", - "%matplotlib inline" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkkAAAIuCAYAAACrcZzWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeVzNef//8edpEbKvYxvb1zUYxlJkKYYuBkWplH09FWUJIfvSIJEtRB3bpSwhIvs+oVMdsl2GmbHvmgZDk1Tn/P64rvG7ZoTonPM+53ye97+u2zVnOo9rrkmv3p/P53VkGo1GAyIiIiL6CzPRAURERESGiEMSERERUT44JBERERHlg0MSERERUT44JBERERHlg0MSERERUT4sdPFFK1SogFq1auniSxMRERFp1e3bt/Hrr7++89/rZEiqVasWVCqVLr40ERERkVbZ2trm+9/zchsRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeXDQnQAEdGH3MnIRFTiTey+8BCZ2bmwtrKAa9Oq8Haog5rlrUXnEZEJK9CQVKtWLZQsWRLm5uawsLCASqXSdRcREU5cfwq/mPPIyVMjV60BALzKzsXW1HvYef4BVvVrjg5fVRJcSUSmqsAnSSdOnECFChV02UJE9NadjEz4xZxHVk7eO38tV61BrjoPfjHncXCMA0+UiEgneE8SERmkqMSbyMlTf/A1OXlqKE7f0lMREUlNgYYkmUyGzp07w8bGBpGRkbpuIiLC7gsP315ie59ctQa70h7oqYiIpKZAl9tOnz6NatWq4enTp+jUqRPq16+Pdu3a/eU1kZGRbweo9PR07ZcSkaRkZucW7HVvCvY6IqJPVaCTpGrVqgEAKlWqhJ49eyIlJeWd1/j4+EClUkGlUqFixYrarSQiybG2Ktgtk9ZF+JAuEenGR4ekzMxMvHz58u1/Pnz4MBo1aqTzMCKSNtemVWFhJvvgayzMZOjZrJqeiohIaj76K9iTJ0/Qs2dPAEBubi769u2LLl266DyMiKTN26EOdp5/gFz1u0+3/cnS3Axy+9p6rCIiKfnokFSnTh1cvHhRHy1ERG/VLG+NVf2av7MnCfjPCZKluRlW9WvOx/+JSGe4AoCIDFaHryrh4BgH9Gn5JUpYWUCjUaOElQX6tPwSB8c4cJEkEekU73gkIoNWs7w1gl0aIdilEWQyGTSaD68FICLSFp4kEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeWDQxIRERFRPjgkEREREeXDQnQAERER0Z/uZGQiKvEmdl94iMzsXFhbWcC1aVV4O9RBzfLWem3hkEREREQG4cT1p/CLOY+cPDVy1RoAwKvsXGxNvYed5x9gVb/m6PBVJb318HIbERERCXcnIxN+MeeRlZP3dkD6U65ag6ycPPjFnMedjEy9NXFIIiIiIuGiEm8iJ0/9wdfk5KmhOH1LT0UckoiIiMgA7L7w8J0TpL/LVWuwK+2Bnoo4JBEREZEByMzOLdjr3hTsddrAIYmIiIiEs7Yq2LNk1kX098wZhyQiIiISzrVpVViYyT74GgszGXo2q6anIg5JREREZAC8HerAXPbhe5Iszc0gt6+tpyIOSURERGQAZJkZyDy0HEXMNO+cKFmYyVDM0hyr+jXX60JJDklEREQk1O+//w4nJyeM79sFR8Z1QJ+WX6KElQVkMqCElQX6tPwSB8c46HWRJMCN20RERCRQbm4uvLy84ODggICAAMhkMgS7NEKwSyPRaTxJIiIiIjE0Gg1Gjx4NAFi+fDlksg/fuK1vPEkiIiIiIZYuXYrExEScOXMGFhaGN5IYXhERERGZvPj4eCxatAhnz55FqVKlROfki0MSERER6dW5c+cgl8uxf/9+1KxZU3TOe/GeJCIiItKbe/fuwcXFBWvWrEGLFi1E53wQhyQiIiLSi5cvX8LZ2RljxoyBm5ub6JyP4pBEREREOpebm4vevXvDzs4OgYGBonMKhEMSERER6dy4ceOQk5ODlStXGtyj/u/DG7eJiIhIp8LDw3Hs2DGcPXsWlpaWonMKjEMSERER6cy+ffswf/58nD17FqVLlxad80k4JBEREZFOXLhwAUOGDMHevXtRq1Yt0TmfjPckERERkdY9ePAAPXr0wKpVq2BnZyc657NwSCIiIiKtevXqFbp37w4/Pz94eHiIzvlsHJKIiIhIa/Ly8tC3b180b94ckyZNEp1TKBySiIiISGsCAwORmZmJiIgIo3nU/3144zYRERFpxapVq3Dw4EGje9T/fTgkERERUaEdOHAAwcHBOHPmDMqWLSs6Rys4JBEREVGhXLp0CYMGDUJ8fDzq1KkjOkdreE8SERERfbZHjx6he/fuCA8PR+vWrUXnaBWHJCIiIvosmZmZ6N69O3x8fODl5SU6R+s4JBEREdEny8vLQ//+/dGoUSNMmTJFdI5O8J4kIiIi+mSTJk3C8+fPsW3bNqN/1P99OCQRERHRJ1mzZg0SEhJw9uxZFClSRHSOznBIIiIiogI7dOgQZs2ahdOnT6NcuXKic3SKQxIREREVyJUrVzBgwADExcWhbt26onN0jjduExER0Uc9fvwYzs7OWLp0Kezt7UXn6AWHJCIiIvqgP/74Az169MDQoUPRt29f0Tl6wyGJiIiI3kutVmPgwIGoX78+pk+fLjpHr3hPEhEREb3X5MmTkZ6ejsOHD5vso/7vwyGJiIiI8hUVFYVdu3YhKSkJVlZWonP0jkMSERERvePo0aOYPn06EhMTUb58edE5QnBIIiIior+4evUq+vXrh+3bt6NevXqic4ThjdtERET01pMnT+Ds7IywsDC0a9dOdI5QHJKIiIgIAJCVlQUXFxcMGDAA/fv3F50jHIckIiIiglqtxqBBg1C3bl3MmjVLdI5B4D1JREREhGnTpuHhw4c4evSo5B71fx8OSURERBK3fv16xMbGQqlUomjRoqJzDAaHJCIiIgk7fvw4goKC8MMPP6BChQqicwwKhyQiMmh3MjIRlXgTuy88xJeT9qDRrENwbVoV3g51ULO8teg8IqN27do19OnTB9u2bcNXX30lOsfgFPjG7by8PDRr1gzOzs667CEieuvE9afosiwRW1Pv4VV2LmQyM7zKzsXW1HvosiwRJ64/FZ1IZLTS09Ph5OSE0NBQfPvtt6JzDFKBh6Rly5ahQYMGumwhInrrTkYm/GLOIysnD7lqzV/+Wq5ag6ycPPjFnMedjExBhUTG6/Xr13B1dUWfPn0waNAg0TkGq0BD0v3797Fv3z7I5XJd9xARAQCiEm8iJ0/9wdfk5KmhOH1LT0VEpkGtVmPIkCGoUaMG5syZIzrHoBVoSAoICEBoaCjMzLhWiYj0Y/eFh++cIP1drlqDXWkP9FREZBpmzpyJO3fuYMOGDfy5/hEf/aeTkJCASpUqwcbG5oOvi4yMhK2tLWxtbZGenq61QCKSpszs3IK97k3BXkdEwMaNG7F582bEx8fzUf8C+OiQdObMGezZswe1atVC7969cfz48XxXlfv4+EClUkGlUqFixYo6iSUi6bC2KtjDt9ZF+JAuUUGcPHkSEydOREJCAn9OF9BHh6T58+fj/v37uH37NrZu3YqOHTsiOjpaH21EJGGuTavCwuzDW3/NZUDPZtX0VERkvK5fv47evXtjy5YtfAjrE/BiJBEZJG+HOoA674OvyX2TjX+o7+mpiMg4/frrr3B2dsa8efPQsWNH0TlG5ZOGpG+//RYJCQm6aiEi+v9e/YqXB5bAykL2zomShZkMxSzNMaF1GQSNlGPOnDlQqz/8JByRFGVnZ6Nnz57w8PDA0KFDRecYHZ4kEZHB0Wg08PX1xRjPf+JwQHv0afklSlhZQCYDSlhZoE/LL3FwjANGuneESqXCkSNH0L17dzx79kx0OpHB0Gg0GDp0KKpUqYK5c+eKzjFKvOORiAzO5s2b8ejRI0yYMAGWlpYIdmmEYJdG+b62SpUqOH78OCZNmgRbW1vs2LEDzZo103MxkeGZPXs2bty4gRMnTvBR/8/Ef2pEZFDS09Mxfvx4KBQKWFpaFujvsbS0xOLFizF//nx07twZGzZs0G0kkYGLjo7Gxo0bER8fj2LFionOMVo8SSIigzJ27Fj069cPLVq0+OS/19PTE40aNYKbmxuSkpKwfPlyWFlZ6aCSyHAlJiZi3LhxOHnyJCpXriw6x6jxJImIDMaBAwdw5syZQn1UQsOGDZGSkoKMjAw4ODjg7t27WiwkMmw///wzevXqhZiYGDRs2FB0jtHjkEREBuHVq1cYMWIE1qxZA2tr60J9rVKlSmH79u3w9PREy5YtceTIES1VEhmujIwMODk5ITg4GJ06dRKdYxI4JBGRQZg2bRq+/fZbdO7cWStfTyaTITAwEFu3bsWgQYMwb948rgkgk5WdnQ03Nze4urrC29tbdI7J4JBERMIplUps27YNYWFhWv/a3377LVJTU5GQkABXV1c8f/5c6+9BJJJGo4G3tzcqVKiAkJAQ0TkmhUMSEQn15s0byOVyLFmyBOXLl9fJe1SrVg0nT55ErVq1YGtri0uXLunkfYhE+P7773Ht2jVs2rSJj/prGf9pEpFQCxYsQK1ateDl5aXT9ylSpAiWL1+OOXPmwNHREZs2bdLp+xHpw5YtW7B27Vrs2bMHxYsXF51jcrgCgIiE+fHHH7F8+XKcP38eMtmHP8xWW/r27YvGjRvD3d0dSqUSS5YsQZEiRfTy3kTadObMGYwZMwbHjh3DF198ITrHJPEkiYiEUKvV8Pb2xqxZs1CjRg29vnfjxo2RmpqKBw8eoF27drh//75e35+osG7cuAEPDw/861//QuPGjUXnmCwOSUQkxOrVq6FWqzFixAgh71+6dGnExcXB1dUVLVq0wPHjx4V0EH2qZ8+ewcnJCTNmzECXLl1E55g0DklEpHf37t3DzJkzoVAohN5oamZmhqCgIERHR6Nfv34IDQ2FRqMR1kP0MW/evIGbmxu6desm7BcMKeGQRER6pdFo4Ofnh1GjRhnMRmBHR0ekpKQgLi4O7u7uePHihegkondoNBr4+vqiVKlSWLhwoegcSeCQRER6tX37dty6dQtBQUGiU/6iRo0aOHXqFKpUqYIWLVrgypUropOI/mL+/Pm4dOkSNm/eDHNzc9E5ksAhiYj0JiMjA2PGjEFUVJRBPlFmZWWFlStXYvr06ejQoQO2bNkiOokIALBt2zasXr0ae/fuLfTH9lDBcQUAEelNYGAgevXqhdatW4tO+aABAwbgm2++ebsmYOHChQY51JE0JCUlYeTIkTh69CiqVq0qOkdSeJJERHpx9OhRHD9+HHPnzhWdUiBNmjRBamoqbt68iQ4dOuDhw4eik0iCbt68CTc3N2zcuBFNmjQRnSM5HJKISOf++OMP+Pr6YvXq1ShZsqTonAIrW7Ys4uPj0a1bN9ja2uLUqVOik0hCnj9/DicnJ0ydOhXdunUTnSNJHJKISOdmzJiBVq1aoWvXrqJTPpmZmRmmTp2KDRs2wMvLC2FhYVwTQDqXk5MDDw8PdO7cGSNHjhSdI1m8J4mIdEqlUmHTpk1G/7RY586dkZycDA8PDyiVSqxbt86oTsXIeGg0GowYMQLFihXD4sWLRedIGk+SiEhncnJyIJfLsWjRIlSsWFF0TqHVrFkTiYmJKFeuHFq2bIkff/xRdBKZoNDQUJw7dw5btmzho/6CcUgiIp0JCwvDF198gf79+4tO0ZqiRYtizZo1mDhxItq1a4fY2FjRSWRCduzYgRUrVmDv3r0oUaKE6BzJ4+U2ItKJn376CYsWLYJKpYJMJhOdo3VDhgxBkyZN3l5+W7BgASwtLUVnkRFLTk7GiBEjcPjwYVSvXl10DoEnSUSkA2q1Gj4+Ppg2bRpq1aolOkdnmjdvDpVKhWvXrsHR0RGPHz8WnURG6vbt2+jZsyfWrVuHZs2aic6h/+KQRERat3btWmRlZWHUqFGiU3SuXLlySEhIgKOjI2xsbHD69GnRSWRkXrx4AScnJ0yaNAndu3cXnUP/g0MSEWnVw4cPMWXKFCgUCsncdGpmZoaZM2dCoVDA3d0dy5Yt45oAKpCcnBz06tULHTp0wOjRo0Xn0N9wSCIirRo5ciSGDx+Oxo0bi07Ru65du0KpVGLjxo3o06cPXr16JTqJDJhGo8HIkSNhYWGBpUuXmuS9e8aOQxIRaU1cXByuXr2KqVOnik4Rpnbt2jhz5gysra1hZ2eH69evi04iAxUWFgalUolt27bBwoLPURkiDklEpBXPnz/HqFGjEBUVhaJFi4rOEapYsWJYu3Ytxo4dC3t7e+zcuVN0EhmYXbt2YenSpUhISOBSUgPG0ZWItGLixIlwcXGBg4OD6BSDIZfL0bRpU3h4eCA5ORnz5s3jiQEhNTUVPj4+OHjwIGrUqCE6hz6AJ0lEVGgnT57EgQMHMH/+fNEpBsfW1hYqlQoXL15Ep06d8OTJE9FJJNDdu3fh6uoKhUIBGxsb0Tn0ERySiKhQsrKy4O3tjZUrV6J06dKicwxShQoVsH//ftjb28PW1hZJSUmik0iA33//HU5OThg/fjxcXFxE51ABcEgiokKZM2cOmjVrhh49eohOMWjm5uYIDg5GREQEXFxcsGLFCq4JkJDc3Fx4eXnB3t4eY8eOFZ1DBcSL40T02S5cuIC1a9fi8uXLolOMhrOzM5KSkuDu7g6lUok1a9bA2tpadBbpkEajwejRo6HRaBAeHs5H/Y0IT5KI6LPk5uZCLpdjwYIFqFy5sugco1K3bl2cPXsW5ubmaNWqFX7++WfRSaRDS5cuRWJiImJjY3njvpHhkEREn2Xp0qUoXbo0Bg8eLDrFKBUvXhwbNmyAv78/2rZti/j4eNFJpAPx8fFYtGgREhISUKpUKdE59Ik40hLRJ7tx4wZCQkKQnJzMSweFIJPJMHz4cDRr1gy9evVCcnIygoODJfNxLqbu3LlzkMvl2L9/P2rWrCk6hz4DT5KI6JNoNBr4+voiKCgIdevWFZ1jEuzs7HDu3DmkpKTgu+++Q3p6uugkKqR79+7BxcUFa9asQYsWLUTn0GfikEREn2Tjxo149uwZAgICRKeYlIoVK+LQoUNo2bIlbG1tkZKSIjqJPtPLly/h7OyMMWPGwM3NTXQOFQKHJCIqsCdPnmDixIlQKBS8AVUHzM3NMW/ePCxfvhzOzs5YvXo11wQYmdzcXPTu3Rt2dnYIDAwUnUOFxCGJiAps9OjRGDp0KJo1ayY6xaS5uLjgzJkzWLlyJQYPHow//vhDdBIV0NixY5GTk4OVK1fyfj0TwCGJiApkz549OH/+PGbOnCk6RRLq1asHpVKJvLw8tGnTBjdu3BCdRB+xfPlyHD9+HNu3b4elpaXoHNICDklE9FG///47/P39ERkZiWLFionOkQxra2ts2rQJ3t7eaN26NRISEkQn0XskJCQgJCQE+/bt48fzmBAOSUT0UUFBQejSpQs6dOggOkVyZDIZ/P39sXv3bowYMQLTp09HXl6e6Cz6H2lpaRgyZAh27dqFWrVqic4hLeKQREQfdPr0acTHxyM0NFR0iqS1adMGKpUKp0+fRrdu3ZCRkSE6iQA8ePAAPXr0QEREBOzs7ETnkJZxSCKi93r9+jW8vb0RHh6OsmXLis6RvMqVK+PIkSNo0qQJbGxsoFKpRCdJ2qtXr9C9e3f4+/vDw8NDdA7pAIckInqvefPmoUGDBtz1YkAsLCwQGhqKsLAwdO3aFQqFQnSSJOXl5aFv375o3rw5Jk2aJDqHdISLTogoX5cvX0ZERAQuXrwoOoXy4e7ujkaNGsHNzQ1JSUlYsWIFb6rXo/HjxyMzMxMRERF81N+E8SSJiN6Rl5cHb29vzJ07F1WrVhWdQ+/x1VdfITk5GZmZmWjbti1u3bolOkkSVq5ciUOHDmHHjh181N/EcUgionesWLECVlZWkMvlolPoI0qUKIEtW7Zg0KBBaNWqFQ4cOCA6yaQdOHAA33//Pfbt28f79CSAQxIR/cXt27cRHByMqKgomJnxjwhjIJPJMGbMGOzcuRPe3t6YPXs21Gq16CyTc+nSJQwaNAhxcXGoU6eO6BzSA/4JSERvaTQaDB8+HOPHj8c//vEP0Tn0iezt7ZGamopjx46he/fu+O2330QnmYxHjx6he/fuCA8PR+vWrUXnkJ5wSCKit2JiYvDo0SN+MKcRq1KlCo4dO4avvvoKtra2SEtLE51k9DIzM9G9e3f4+PjAy8tLdA7pEYckIgIApKenIzAwEGvXruXNqEbO0tISixcvRkhICDp37oz169eLTjJaeXl56N+/Pxo1aoQpU6aIziE94woAIgLwn08v79+/P2xtbUWnkJZ4enqiUaNGcHd3h1KpxLJly1C0aFHRWUZl0qRJeP78ObZt28ZH/SWIJ0lEhAMHDuDs2bOYPXu26BTSsoYNGyIlJQW//fYbHBwccOfOHdFJRmPNmjVISEjAzp07UaRIEdE5JACHJCKJe/nyJUaMGIE1a9bA2tpadA7pQMmSJREbG4vevXvDzs4Ohw8fFp1k8A4dOoRZs2Zh3759KFeunOgcEoRDEpHETZs2Dd9++y06deokOoV0SCaTYfz48di2bRsGDx6MuXPnck3Ae1y5cgUDBgzA9u3bUbduXdE5JBCHJCIJUyqViI2NRVhYmOgU0pP27dtDpVJh//79cHV1xfPnz0UnGZTHjx/D2dkZS5cuhb29vegcEoxDEpFEvXnzBnK5HEuXLkX58uVF55AeVa1aFSdOnEDt2rVha2vLz+f7rz/++AM9evTA0KFD0bdvX9E5ZAA4JBFJVEhICGrXrg1PT0/RKSRAkSJFsGzZMgQHB+Of//wn/vWvf4lOEkqtVmPgwIGoX78+pk+fLjqHDARXABBJ0NWrVxEeHo7z58/zsWaJ69OnDxo3bgw3NzcolUosWbIEVlZWorP0bvLkyUhPT8fhw4f5PUFv8SSJSGLUavXbz/eqUaOG6BwyAI0aNUJqaioePXqE9u3b4969e6KT9CoqKgq7du1CXFycJAdEej8OSUQSs3r1agDA8OHDBZeQISldujTi4uLQs2dPtGzZEseOHROdpBdHjx7F9OnTsW/fPt6bR+/gkEQkIffu3cOMGTMQFRUFMzN++9NfyWQyTJo0CTExMejfvz9CQkKg0WhEZ+nM1atX0a9fP8TGxqJevXqic8gA8U9JIonQaDTw8/PD6NGj0bBhQ9E5ZMA6duyI1NRU7N69G25ubnjx4oXoJK178uQJnJycsGjRIrRr1050DhkoDklEEhEbG4tbt24hKChIdAoZgerVq+PUqVOoWrUqWrRogcuXL4tO0pqsrCy4uLhgwIABGDBggOgcMmAckogkICMjAwEBAVAoFPwMKiowKysrrFy5EtOnT0fHjh2xefNm0UmFplarMWjQINSpU4efVUgfxRUARBIQGBgIT09PtGrVSnQKGaEBAwagSZMmb9cELFq0yGiH7WnTpuHhw4c4evQoH/Wnj+JJEpGJO3LkCE6cOIG5c+eKTiEj9s0330ClUuH27dvo0KEDHjx4IDrpk61fvx6xsbHYtWsXihYtKjqHjACHJCITlpmZCV9fX0RERKBEiRKic8jIlSlTBrt374aTkxNatGiBkydPik4qsOPHjyMoKAgJCQmoWLGi6BwyEhySiEzYzJkz0aZNG3Tt2lV0CpkIMzMzTJkyBRs3bkTv3r2xaNEig18TcO3aNfTp0wdbt25F/fr1ReeQEeE9SUQmSqVSITo62qSeSiLD0alTJ6SkpMDd3R1KpRLr169HyZIlRWe9Iz09HU5OTliwYAE6dOggOoeMDE+SiExQTk4Ohg0bhkWLFvHSAunMl19+idOnT6NChQpo0aIFrl69KjrpL16/fg1XV1f07t0bgwcPFp1DRohDEpEJWrRoEapWrYp+/fqJTiETZ2VlhdWrVyMoKAjt27dHbGys6CQA/3nUf8iQIahRowaCg4NF55CR4uU2IhPz008/ISwsDOfOneMjzqQ3gwcPRpMmTeDu7o6kpCSEhobC0tJSWM/MmTNx+/ZtHD9+nB/BQ5+N/+YQmRC1Wg0fHx9Mnz4dNWvWFJ1DEtOsWTOcO3cOP/30Ezp27IhHjx4J6di4cSNiYmIQHx+PYsWKCWkg08AhiciEKBQKZGVlYeTIkaJTSKLKli2LvXv3olOnTmjRogUSExP1+v4nT57EhAkTsG/fPlSqVEmv702mh0MSkYl4+PAhpk6dCoVCAXNzc9E5JGFmZmaYMWMGFAoFPDw8sHTpUr2sCbh+/Tq8vLywZcsWNGjQQOfvR6aPQxKRiRg5ciRGjBiBxo0bi04hAgB06dIFycnJ2LRpE/r06YNXr17p7L1+/fVXODk5Yd68eXB0dNTZ+5C0cEgiMgFxcXH48ccfMXXqVNEpRH9Rq1YtnDlzBiVKlEDLli1x7do1rb9HdnY2evbsCQ8PDwwbNkzrX5+ki0MSkZF79uwZRo0ahaioKFhZWYnOIXpH0aJFoVAoMG7cODg4OGDnzp1a+9oajQZDhw7FF198gXnz5mnt6xIBXAFAZPQmTpwIFxcX2Nvbi04h+iC5XI6mTZvCw8MDSqUS8+fPh4VF4X4MzZ49G7/88gtOnjzJR/1J6/hvFBolLsAAACAASURBVJERO3HiBA4ePIiQkBDRKUQFYmtri3PnzuHy5cvo1KkTnjx58tlfKzo6Ghs3bsSePXv4qD/pBIckIiOVlZUFHx8frFy5EqVKlRKdQ1Rg5cuXx759++Dg4ABbW1ucPXv2k79GYmIixo0bh4SEBFSuXFkHlUQckoiM1pw5c9C8eXP06NFDdArRJzM3N8ecOXMQEREBV1dXhIeHF3hNwM8//4xevXohJiYGX3/9tY5LScp4TxKREUpLS8O6detw6dIl0SlEheLs7AylUgk3NzcolUpERkbC2tr6va/PyMiAk5MT5syZg06dOumxlKSIQxKRkcnNzYVcLseCBQt4mYFMQp06dXD27Fn4+fmhVatWiIuLQ5FyVRGVeBO7LzxEZnYurK0s0L3xFzi1ZgZcXFzg4+MjOpsk4KND0uvXr9GuXTtkZ2cjNzcXHh4emD17tj7aiCgfS5cuRdmyZTFo0CDRKURaU7x4caxfvx6RkZFw8BqOUl3HQg0z5Kr/cwnuVXYutqTegVmzIeg6uLXgWpKKj96TZGVlhePHj+PixYu4cOECDh48CKVSqY82IvqbGzduICQkBGvWrIFMJhOdQ6RVMpkMXTz6o3S3cXijlr0dkP7/C8yhNrOE/5Y03MnIFBNJkvLRIUkmk6FEiRIAgJycHOTk5PAPZyIBNBoNfHx8EBQUhLp164rOIdKJqMSbyNN8+GdMTp4aitO39FREUlagp9vy8vLQtGlTVKpUCZ06dYKdnZ2uu4jobzZs2IAXL14gICBAdAqRzuy+8PDdE6S/yVVrsCvtgZ6KSMoKNCSZm5vjwoULuH//PlJSUnDlypV3XhMZGQlbW1vY2toiPT1d66FEUvb48WNMmjQJCoWi0BuKiQxZZnZuwV73pmCvIyqMT9qTVKZMGXTo0AEHDx5856/5+PhApVJBpVKhYsWKWgskImDMmDEYNmwYmjZtKjqFSKesrQr2S4B1Ef6yQLr30SEpPT0dz58/B/CfDb9HjhxB/fr1dR5GRP+xZ88epKWlYcaMGaJTiHTOtWlVWJh9+J4kCzMZejarpqcikrKPjuKPHj3CoEGDkJeXB7VaDU9PTzg7O+ujjUjyXrx4AX9/f0RHR/OzqUgSvB3qYOf5B8hV5733NZbmZpDb19ZjFUnVR4ekb775BmlpafpoIaK/mTx5Mrp27Yr27duLTiHSi5rlrdGrynP866YVLIpY/eUmbgszGSzNzbCqX3PULP/+rdxE2sKLukQG6vTp04iPj8e///1v0SlEepOeno7I2QFQbN2N5BclsCvtATLf5MK6iAV6NqsGuX1tDkikNxySiAzQ69evIZfLER4ejjJlyojOIdKbsWPHon///nD+thWcAQS7NBKdRBLGIYnIAM2dOxdff/013NzcRKcQ6c2BAweQlJSEy5cvi04hAsAhicjgXL58GatXr8bFixdFpxDpzcuXLzFixAgoFAoUL15cdA4RgE/ck0REupWXlwe5XI558+ahatWqonOI9GbatGno0KED/vnPf4pOIXqLJ0lEBiQ8PBzFihXDsGHDRKcQ6Y1SqURsbGy+n+ZAJBKHJCIDcfv2bXz//fdISkqCmRkPeUka3rx5A7lcjqVLl6J8+fKic4j+gn8SExkAjUaD4cOHIzAwEPXq1ROdQ6Q3ISEhqFOnDjw9PUWnEL2DJ0lEBiAmJgaPHz/G+PHjRacQ6c3Vq1cRHh6OtLQ0yGQf/igSIhE4JBEJlp6ejsDAQCQkJMDS0lJ0DpFeqNVqeHt7Y/bs2ahevbroHKJ88XIbkWABAQEYMGAAbG1tRacQ6c3q1ashk8kwfPhw0SlE78WTJCKB9u/fD6VSyeV5JCn37t3DzJkz8cMPP/AhBTJoHJKIBPlzed7atWu5PI8kQ6PRwM/PD6NHj0aDBg1E5xB9EIckIkGmTZuGjh07cnkeSUpsbCxu3bqFnTt3ik4h+igOSUQCJCUlYfv27VyeR5KSkZGBgIAA7Nq1C0WKFBGdQ/RRvBhMpGf/uzyvXLlyonOI9CYwMBBeXl5o1aqV6BSiAuFJEpGehYSEoG7duujVq5foFCK9OXLkCE6cOMHTUzIqHJKI9IjL80iKMjMz4evri4iICJQoUUJ0DlGB8XIbkZ5weR5J1cyZM9GmTRt07dpVdArRJ+FJEpGeREREcHkeSY5KpUJ0dDQvs5FR4pBEpAd/Ls9LTEzk8jySjJycHAwbNgxhYWGoUKGC6ByiT8Y/rYl07M/leWPGjOHyPJKURYsWoWrVqujbt6/oFKLPwpMkIh3btm0bbt++zeV5JCk//fQTwsLCcO7cOT6kQEaLQxKRDmVkZGDs2LHYvXs3l+eRZKjVavj4+GDGjBmoWbOm6Byiz8bLbUQ6NH78eHh5ecHOzk50CpHeKBQKvH79Gv7+/qJTiAqFJ0lEOnLkyBGcPHmST/WQpDx8+BBTp07FiRMnYG5uLjqHqFB4kkSkA38uz1u9ejWX55GkjBw5EiNGjECjRo1EpxAVGk+SiHRgxowZaNu2Lbp06SI6hUhv4uLi8OOPP2LLli2iU4i0gkMSkZalpqYiJiaGl9lIUp49e4ZRo0YhNjYWVlZWonOItIKX24i0KCcnB3K5nMvzSHImTpwIV1dXtG3bVnQKkdbwJIlIixYtWoRq1apxeR5JyokTJ3Dw4EH8+9//Fp1CpFUckoi05Pr161yeR5KTlZUFHx8frFq1CqVKlRKdQ6RVvNxGpAVcnkdSNXv2bNjY2KB79+6iU4i0jidJRFqgUCiQnZ3N5XkkKWlpaVi3bh0uX74sOoVIJzgkERUSl+eRFOXm5kIulyM0NBSVK1cWnUOkE7zcRlQIGo0G/v7+8PPz4/I8kpSlS5eiXLlyGDRokOgUIp3hSRJRIcTFxeHatWvYunWr6BQivblx4wZCQkKQkpLChxTIpHFIIvpMz549w+jRo7k8jyRFo9HAx8cHkydPRp06dUTnEOkUL7cRfSYuzyMp2rBhA168eIExY8aITiHSOZ4kEX2GEydO4NChQ/zoEZKUx48fY9KkSTh8+DAsLPjjg0wfT5KIPlFWVha8vb25PI8kZ/To0ZDL5WjatKnoFCK94K8CRJ9o9uzZsLW1hbOzs+gUIr2Jj4/HhQsXsHHjRtEpRHrDIYnoE3B5HknRixcvMHLkSERHR6NYsWKic4j0hpfbiAqIy/NIqiZPnoyuXbuiffv2olOI9IonSUQFtGTJEi7PI8lJTEzEnj17+JACSRKHJKIC+OWXX7BgwQIuzyNJef36Nby9vREeHo4yZcqIziHSO15uI/oIjUYDX19fLs8jyZk7dy6+/vpr9OzZU3QKkRA8SSL6CC7PIym6fPkyVq9ejYsXL4pOIRKGQxLRB/y5PO/IkSNcnkeSkZeXB7lcjnnz5qFq1aqic4iE4eU2og/4c3lekyZNRKcQ6U14eDiKFy8OuVwuOoVIKP5qTPQeXJ5HUnT79m18//33SEpK4kMKJHkckojyweV5JEUajQbDhw9HYGAg6tWrJzqHSDhebiPKR1BQELp168bleSQpMTExePLkCcaPHy86hcgg8CSJ6G8SExOxd+9eLs8jSUlPT0dgYCD27dsHS0tL0TlEBoEnSUT/g8vzSKoCAgIwYMAA2NjYiE4hMhg8SSL6H1yeR1K0f/9+KJVKfnAz0d9wSCL6r0uXLmHNmjVcnkeS8vLlS4wYMQJr165F8eLFRecQGRRebiPCX5fnValSRXQOkd5MnToVjo6O+Oc//yk6hcjg8CSJCP9ZnmdtbY1hw4aJTiHSm6SkJOzYsYMPKRC9B4ckkjwuzyMpevPmDeRyOZYuXYpy5cqJziEySLzcRpKm0Wjg6+uLCRMmcHkeSUpISAjq1q2LXr16iU4hMlg8SSJJi46OxtOnTzFu3DjRKUR6c/XqVYSHhyMtLY2np0QfwCGJJOvp06cIDAzE/v37uTyPJEOtVkMul2POnDmoXr266Bwig8bLbSRZY8eOxcCBA7k8jyQlIiICZmZm8PX1FZ1CZPB4kkSSxOV5JEX37t3DzJkzkZiYCDMz/o5M9DEckkhy/lyet27dOi7PI8nQaDQYMWIExowZgwYNGojOITIKHJJIcv5cnufo6Cg6hUhvtm3bhjt37iAuLk50CpHR4JBEksLleSRFGRkZGDt2LHbv3o0iRYqIziEyGrwoTZLx5/K8ZcuWcXkeScr48ePh5eUFOzs70SlERoUnSSQZ8+fPx//93//Bw8NDdAqR3hw+fBgnT57k6SnRZ+CQRJJw9epVrFixgsvzSFIyMzPh6+uL1atXo0SJEqJziIwOL7eRyePyPJKqGTNmwN7eHl26dBGdQmSUeJJEJi8iIgLm5uZcnkeSkpqaipiYGF5mIyoEDklk0u7evYtZs2ZxeR5JSk5ODuRyOcLCwlChQgXROURGiz81yGT97/K8+vXri84h0puFCxeiWrVq6Nu3r+gUIqPGkyQyWdu2bcPdu3exa9cu0SlEenP9+nUsXrwY586d40MKRIXEIYlMEpfnkRSp1Wr4+PhgxowZqFmzpugcIqPHy21kksaNG4fevXtzeR5JikKhQHZ2Nvz9/UWnEJkEniSRyTl8+DBOnTrFp3pIUh48eICpU6fi5MmTMDc3F51DZBJ4kkQmhcvzSIo0Gg38/f3h5+eHr7/+WnQOkcngSRKZFC7PIymKi4vD9evXsW3bNtEpRCaFQxKZDC7PIyl69uwZRo8ejdjYWFhZWYnOITIpvNxGJiEnJwfDhg3D4sWLuTyPJGXChAlwdXVF27ZtRacQmRyeJJFJWLhwIapXr44+ffqITiHSm+PHj+Pw4cM8PSXSEQ5JZPSuX7+OJUuWQKVScXkeSUZWVhZ8fHywatUqlCpVSnQOkUni5TYyalyeR1I1e/Zs2NrawtnZWXQKkcniSRIZtaioKLx58wZ+fn6iU4j05vz581i/fj0uXbokOoXIpHFIIqP14MEDTJs2jcvzSFJyc3Mhl8sRGhqKypUri84hMmkcksgo3MnIRFTiTey+8BCZ2bmwtrKA1aOL6D9iLJfnkaQsWbIE5cuXx8CBA0WnEJm8jw5J9+7dw8CBA/HkyRPIZDL4+PhgzJgx+mgjAgCcuP4UfjHnkZOnRq5aAwB4lZ2LV2W+wkEUQY/rT9Hhq0qCK4l075dffsGCBQuQkpLChxSI9OCjN25bWFggLCwMV69ehVKpxMqVK3H16lV9tBHhTkYm/GLOIysn7+2A9JaZBbJy1PCLOY87GZliAon0RKPRwNfXF5MnT0adOnVE5xBJwkeHpCpVqqB58+YAgJIlS6JBgwZ48OCBzsOIACAq8SZy8tQffE1OnhqK07f0VEQkxvr16/H777/zJJ9Ijz5pBcDt27eRlpYGOzs7XfUQ/cXuCw/fPUH6m1y1BrvSOLiT6Xr8+DGCgoKgUChgYcFbSYn0pcDfba9evYK7uzuWLl2a7+KyyMhIREZGAgDS09O1V0iSlpmdW7DXvSnY64iM0ejRoyGXy9GkSRPRKUSSUqCTpJycHLi7u6Nfv35wc3PL9zU+Pj5QqVRQqVSoWLGiViNJuqytCjbHWxfhb9dkmuLj43HhwgVMnz5ddAqR5Hx0SNJoNBg2bBgaNGiAcePG6aOJ6C3XplVhYfbhp3gszGTo2ayanoqI9OfFixfw9/dHVFQUihUrJjqHSHI+OiSdOXMGmzZtwvHjx9G0aVM0bdoU+/fv10cbEbwd6kCT9+FLaRp1Loa05keSkOkJCgqCk5MT2rdvLzqFSJI+eo3C3t4eGs2Hb5wl0pVDO2MgO5OAot+OQK5a85ebuC3MZLAwk6HMv+Pg2y8cW7ZsQYUKFQTWEmlPYmIi9u7diytXrohOIZIsfsAtGazDhw9jxowZOLAuDIcC2qFPyy9RwsoCMhlQwsoCfVp+iUMB7XA6dg1sbW1hY2ODlJQU0dlEhfb69WvI5XKEh4ejTJkyonOIJEum0cExka2tLVQqlba/LEnIlStX0LFjR+zcuRMODg4F+nt2794NHx8fBAcHw8fHhxuJyWhNmzYN165dw44dO0SnEEnC++YWPhJEBufJkyfo3r07Fi9eXOABCQBcXV3RsGFDuLm5ISkpCREREbzZlYzOpUuXEBkZiYsXL4pOIZI8Xm4jg/LHH3+gR48eGDRoEPr37//Jf/8//vEPJCcn482bN2jTpg1u3rypg0oi3cjLy4NcLse8efNQpUoV0TlEkschiQyGWq3GwIEDUa9ePcycOfOzv461tTViYmIwdOhQtG7dGvv27dNiJZHuLF++HNbW1hg2bJjoFCICL7eRAZkyZQqePHmCo0ePFvp+IplMhlGjRqF58+bw8vLCsGHDMGPGDJibm2uplki7bt26hblz5yIpKYn30xEZCJ4kkUFQKBTYuXMndu3aBSsrK6193bZt20KlUuHUqVNwcnJCRkaG1r42kbZoNBoMHz4cEyZMQL169UTnENF/cUgi4Y4dO4apU6di3759Otlz9MUXX+Do0aNo3LgxbGxscO7cOa2/B1FhREdH4+nTp/xUAyIDwyGJhLp69Sr69OmD2NhY/OMf/9DZ+1hYWGDhwoVYtGgRunTpAoVCobP3IvoUT58+RWBgIBQKBSwtLUXnENH/4JBEwjx9+hTOzs5YtGiR3j52wcPDA4mJiVi8eDHkcjlev36tl/clep+AgAAMHDgQNjY2olOI6G84JJEQWVlZcHFxQb9+/TBw4EC9vnf9+vWRkpKCly9fom3btrh9+7Ze35/oT/v27UNycjJmz54tOoWI8sEhifROrVZj8ODBqFWrFubMmSOkoUSJEti6dSv69+8POzs7HDx4UEgHSdfLly/h5+eHyMhIFC9eXHQOEeWDQxLp3fTp03H//n2sX79e6KPOMpkMY8eOxY4dOzBs2DDMmTMHarVaWA9Jy9SpU+Ho6AhHR0fRKUT0HtyTRHq1fv16bN26FUqlEkWLFhWdAwBwcHCASqWCp6cnkpOTER0djbJly4rOIhOWlJSEHTt24MqVK6JTiOgDeJJEenPixAkEBQVh3759qFixouicv6hSpQqOHz+Or776CjY2NkhLSxOdRCYqOzsbw4YNw7Jly1CuXDnROUT0ARySSC+uXbuG3r17Y8uWLahfv77onHxZWlpi8eLFmD9/Pjp37owNGzaITiITFBISgnr16sHDw0N0ChF9BC+3kc6lp6fD2dkZISEh6Nixo+icj/Ly8kLjxo3h5uYGpVKJZcuWaXULOEnX1atXsWLFCqSlpfGjR4iMAE+SSKdev34NV1dXeHp6YsiQIaJzCqxhw4ZISUlBeno6HBwccPfuXdFJZOTy8vIgl8sxZ84cVK9eXXQOERUAhyTSGY1Gg6FDh6JatWr4/vvvRed8slKlSmHHjh3w9PREy5YtcfToUdFJZMQiIiJgbm4OX19f0SlEVEC83EY6M3PmTNy6dQvHjx+HmZlxzuMymQyBgYGwtbVF3759MXLkSAQFBRnt/x4S4+7du5g1axZOnz7Nf3eIjAi/W0kn/vWvfyE6Ohrx8fEoVqyY6JxC+/bbb5GamoqEhAS4urri+fPnopPISGg0GowYMQIBAQEG+9ACEeWPQxJp3Q8//IDAwEAkJCSgUqVKonO0plq1ajh58iRq1aqFFi1a4NKlS6KTyAhs3boVd+/excSJE0WnENEn4pBEWvXzzz/D09MTMTExaNiwoegcrStSpAiWL1+O2bNnw9HREdHR0aKTyID9+uuvGDt2LBQKBYoUKSI6h4g+Ee9JIq3JyMhAt27dEBwcjE6dOonO0am+ffuicePGcHd3R1JSEpYsWcIfgvSO8ePHo0+fPrCzsxOdQkSfgSdJpBXZ2dno2bMnevbsCW9vb9E5etG4cWOkpqbiwYMHaN++Pe7fvy86iQzI4cOHcerUKQQHB4tOIaLPxCGJCk2j0UAul6NixYoICQkRnaNXpUuXRlxcHFxcXNCiRQscP35cdBIZgFevXsHX1xerV69GiRIlROcQ0WfikESFFhwcjOvXr2PTpk2SfLzZzMwMQUFBiI6ORr9+/RAaGgqNRiM6iwSaMWMG7O3t0aVLF9EpRFQIvCeJCmXz5s1Yt24dlEolihcvLjpHKEdHR6SkpKBXr15QKpVYv349SpcuLTqL9CwlJQWbN2/GlStXRKcQUSFJ79d+0prTp08jICAACQkJ+OKLL0TnGIQaNWrg1KlTqFKlClq0aMEflBKTk5MDuVyOxYsXo0KFCqJziKiQOCTRZ/nll1/g4eGBTZs2oVGjRqJzDIqVlRVWrlyJ6dOno0OHDtiyZYvoJNKT0NBQVK9eHX369BGdQkRawMtt9Ml+++03ODk5YdasWfjuu+9E5xisAQMG4JtvvoG7uzuUSiUWLlzINQEm7Nq1a1iyZAnOnTsHmUwmOoeItIAnSfRJ3rx5A3d3dzg7O2P48OGicwxekyZNkJqaips3b6JDhw54+PCh6CTSAbVaDR8fH8ycORM1a9YUnUNEWsIhiQpMo9HAx8cHpUuXRmhoqOgco1G2bFnEx8ejW7dusLW1xalTp0QnkZZFRUUhJycHfn5+olOISIs4JFGBzZs3D1euXEFMTAzMzc1F5xgVMzMzTJ06FRs2bICXlxfCwsK4JsBEPHjwANOmTYNCoeD3BZGJ4ZBEBbJt2zZERkZiz549sLa2Fp1jtDp37ozk5GRs3boVnp6eePnypegkKgSNRgM/Pz/4+fnh66+/Fp1DRFrGIYk+6uzZsxg1ahT27t2LqlWris4xejVr1kRiYiLKlSuHli1b4scffxSdRJ9p586d+PnnnzFlyhTRKUSkAxyS6INu3rwJd3d3bNiwAd98843oHJNRtGhRrFmzBhMnTkS7du0QGxsrOok+0bNnzzB69GgoFApYWVmJziEiHeCQRO/17NkzODk5Ydq0aejWrZvoHJM0ZMgQHDp0CEFBQRg3bhxycnJEJ1EBBQYGws3NDW3atBGdQkQ6wiGJ8vXmzRt4eHjgu+++g7+/v+gck9a8eXOoVCpcu3YNjo6OePz4segk+ohjx47hyJEjmDdvnugUItIhDkn0Do1GgxEjRsDa2hphYWGicyShXLlySEhIgKOjI2xsbHD69GnRSfQef/zxB3x9fbFq1SqUKlVKdA4R6RCHJHrHggULkJaWhs2bN/ORZj0yMzPDzJkzoVAo4O7ujmXLlnFNgAGaPXs2WrRoAWdnZ9EpRKRj/FgS+ovt27dj5cqVUCqVKFGihOgcSeratSuUSiXc3d2RlJQEhULB/y8MxPnz57FhwwZcvnxZdAoR6QFPkugtpVIJPz8/7N27F9WqVROdI2m1a9fGmTNnYG1tDTs7O1y/fl10kuTl5uZCLpcjNDQUlSpVEp1DRHrAIYkAALdv34abmxvWr1+Ppk2bis4hAMWKFcPatWsxduxY2NvbY+fOnaKTJG3x4sWoUKECBg4cKDqFiPSEl9sIz58/h5OTE4KCgnifhQGSy+Vo2rQpPDw8kJycjHnz5sHCgt+6+vTLL78gNDQUqampkMlkonOISE94kiRxOTk56NWrFzp27IjRo0eLzqH3sLW1hUqlwsWLF9GpUyc8efJEdJJk/PnBzlOmTEHt2rVF5xCRHnFIkjCNRgN/f38UKVIES5YsEZ1DH1GhQgXs378f9vb2sLW1RVJSkugkSVi3bh1evnzJXyKIJIhDkoQtWrQIKSkp2Lp1Ky/fGAlzc3MEBwcjIiICLi4uWLFiBdcE6NCjR48wefJkKBQKfo8QSRCHJImKi4vDsmXLkJCQgJIlS4rOoU/k7Oz8dj3AgAEDkJmZKTrJJI0ePRre3t5o0qSJ6BQiEoBDkgSlpqbC19cX8fHxqF69uugc+kx169bF2bNnYW5ujlatWuHnn38WnWRSdu/ejUuXLmH69OmiU4hIEA5JEnPnzh24urpCoVDAxsZGdA4VUvHixbFhwwb4+/ujbdu2iI+PF51kEl68eIGRI0ciMjISRYsWFZ1DRIJwSJKQFy9ewNnZGYGBgXBxcRGdQ1oik8kwfPhw7N27F6NGjcKUKVOQl5cnOsuoTZo0CU5OTmjfvr3oFCISiEOSROTm5sLLywsODg4ICAgQnUM6YGdnh3PnziElJQXfffcd0tPTRScZpR9++AEJCQkIDQ0VnUJEgnFIkgCNRoNRo0ZBJpNh+fLlXIZnwipWrIhDhw6hZcuWsLW1RUpKiugko/L69Wt4e3tjxYoVKF26tOgcIhKMQ5IELFmyBGfOnMG2bdv4GLMEmJubY968eVi+fDmcnZ2xevVqrgkooODgYDRu3Biurq6iU4jIAPAnponbvXs3wsLCkJSUhFKlSonOIT1ycXFBw4YN4ebmhqSkJERERKB48eKiswzWxYsXERUVhYsXL4pOISIDwZMkE3bu3Dl4e3sjPj4eX375pegcEqBevXpQKpXIy8tDmzZtcOPGDdFJBikvLw9yuRzz589HlSpVROcQkYHgkGSi7t27BxcXF0RGRsLW1lZ0DglkbW2NTZs2wdvbG61bt0ZCQoLoJIOzfPlylCxZEkOHDhWdQkQGhJfbTNDLly/h7OyMgIAA9OzZU3QOGQCZTAZ/f380b94cnp6eSE5OxqxZs2Bubi46Tbhbt25h7ty5SEpK4kMNRPQXPEkyMX8+6t+qVSuMHz9edA4ZmNatW0OlUuH06dPo1q0bMjIyRCcJpdFo4OvriwkTJqBevXqic4jIwHBIMiEajQYBAQHIzc3FihUr+Fsx5aty5co4cuQImjRpAhsbG6hUKtFJwmzatAnp6ekYN26c6BQiMkAckkzI8uXLcfLkSWzfvh2Wlpaic8iAWVhYIDQ0FGFhYejatSsUCoXoJL17+vQpJkyYgLVr1/L7hYjyxSHJROzduxcLFixAQkICl+BRgbm7u+P06dNYsmQJhg0bhqysLNFJejNmzBgMGjQIzZs3F51CRAaKxNDLTwAAEeRJREFUQ5IJSEtLw9ChQ7Fr1y7UqlVLdA4Zma+++grJycnIzMxE27ZtcevWLdFJOpeQkICUlBTMmjVLdAoRGTAOSUbu/v376NGjByIiImBnZyc6h4xUiRIlsGXLFgwaNAitWrXCgQMHRCfpzMuXL+Hn54fIyEgu1ySiD+KQZMRevXqF7t27Y+TIkfDw8BCdQ0ZOJpNhzJgx2LlzJ7y9vTF79myo1WrRWVo3ZcoUdOrUCY6OjqJTiMjAcUgyUnl5eejTpw9sbGwwceJE0TlkQuzt7ZGamopjx47B2dkZv/32m+gkrTl79ix27tyJhQsXik4hIiPAIclIjRs3DllZWYiIiOCj/qR1VapUwbFjx1C/fn3Y2toiLS1NdFKhZWdnQy6XY9myZShXrpzoHCIyAhySjNCKFStw5MgR7Nixg48uk85YWlpi8eLFCAkJQefOnbF+/XrRSYUyf/581KtXj5emiajA+LEkRmbfvn2YO3cuzp49izJlyojOIQnw9PREo0aN4O7ujqSkJCxfvhxFixYVnfVJ/v3vf2PlypW4cOECT16JqMB4kmRELl68iMGDByMuLg61a9cWnUMS0rBhQ6SkpODZs2dwcHDAnTt3RCcVWF5eHuRyOYKDg1GtWjXROURkRDgkGYmHDx+ie/fuWLlyJVq3bi06hySoZMmSiI2NRe//1969B1VVLm4cfzZsodqWmZcaRCy1QZOMLKmm8MLkeAZIvCteiFEhhSk1s7SiTOxkiZqNmoEa5SDeMmw8SZmJYkrKqB3NYiyvUaZYWpLJZe/fH52cX7kC1L332pfv5z907fU+/uHy2e9639ehQ3Xffffp448/NjtSgyxcuFBWq1WpqalmRwHgZShJXqCyslKPPPKIxo4dq8GDB5sdB37MYrFo0qRJWrlypZKTkzVjxgyPPibg2LFjeumll5STk6OAAB53AC4PTw0PV1tbq2HDhqlz586aOnWq2XEASVL37t1VWlqqDRs2KCEhQWfOnDE70iUcDofGjRuniRMnqkOHDmbHAeCFKEkebvLkyfr111/11ltvseAUHiUkJESbN29W27Ztde+99+qLL74wO9JfrFixQsePH9fkyZPNjgLAS7G7zYO9+eab+vDDD7Vjxw4FBQWZHQe4RFBQkObNm6f7779fDz/8sGbPnq2kpCSzY6miokITJ07UBx98wN8dAFeMkuShCgsLNX36dG3btk1NmzY1Ow5Qp8TERN15553q37+/SkpKNHfuXAUHB5uW58knn1RiYqKioqJMywDA+/G6zQPt27dPSUlJWrNmjdq1a2d2HKBBIiIitGvXLp04cULdu3fX8ePHTcnx0Ucfqbi4WDNmzDBlfAC+g5LkYU6cOKH4+HjNmzdPDz74oNlxgMvSpEkTvffee+rfv7+ioqK0adMmt45/7tw5jR07VosWLZLNZnPr2AB8DyXJg/z222/q06ePRo8ercTERLPjAFfEYrHo6aefVl5enkaMGKGZM2fK4XC4ZeyMjAxFR0erd+/ebhkPgG+jJHkIu92ukSNHqkOHDsrIyDA7DnDVYmJitGvXLhUUFKh///46e/asS8f7/PPPlZ+frzlz5rh0HAD+g5LkIaZMmaKKigrl5OSw1R8+IzQ0VFu2bFFISIi6du2qffv2uWScqqoqpaSkaM6cOWrevLlLxgDgfyhJHiAnJ0cFBQVau3atqTuCAFcIDg7WggULlJGRoZiYGC1fvtzpY8yaNUutW7fmNTUAp+IIAJNt3LhRGRkZKi4uVrNmzcyOA7jMyJEjddddd108JiArK8spZxh9/fXXmjt3rnbv3s0sLACnYibJRF9++aWGDx+uVatW6fbbbzc7DuBynTt3VmlpqY4cOaIePXqovLz8qu5nt9uVkpKiF198UWFhYU5KCQB/oCSZ5Mcff1R8fLzmzJmjbt26mR0HcJsbb7xRBQUFio+PV9euXVVUVHTF98rOzlZNTY3S0tKcFxAA/oeSZILz588rISFBSUlJGjFihNlxALcLCAjQs88+q3feeUdDhw5VVlbWZR8TUF5eroyMDC1evFiBgYEuSgrAn1GS3MxutyspKUnt2rXTtGnTzI4DmKpXr17auXOnVq1apUGDBumXX35p0OccDofS0tKUnp6uTp06uTglAH9FSXKz5557Tj/88IOWLFnCIlNAUlhYmIqLi9W8eXNFRUXpwIED9X5mzZo1OnjwoKZOneqGhAD8Fbvb3Gjp0qVavXq1SkpKdM0115gdB/AYwcHBWrRokXJzc9W9e3fNnz9fQ4YMkSQdPV2pnOJDKtj7vSov1Oi6oED98t/P9ca8tzgyA4BL1VuSRo0apfXr16tly5bav3+/OzL5pE2bNmnq1KnaunUrh90B/yA5OVmRkZEaMGCASkpKFDdmsh5f+V9V19pVY/9jzVJlVa2s4d31bHGlbgw7qZ7hLU1ODcBX1fu6LTk5WYWFhe7I4rO++uorJSYmauXKlQoPDzc7DuDRIiMjVVpaqv1HTijlnc91vrr2YkH6k8MSoPPVtUrL262jpytNSgrA19Vbkrp166abbrrJHVl80smTJxUXF6dZs2apR48eZscBvELTpk0V9ehUKbDuye7qWrsWbzvsplQA/A0Lt13o999/V9++fTVs2DA9+uijZscBvMq6vT/IUc8jqsbu0Pt7ru5ASgD4J05buJ2dna3s7GxJ0qlTp5x1W69lt9uVnJyssLAwTZ8+3ew4gNepvFDTsOuqGnYdAFwup80kpaamqrS0VKWlpWrRooWzbuu1XnjhBR07dky5ubkKCGDCDrhctuCGfYezBbFJF4Br8K+3C+Tm5io/P1/r1q1jqz9whfpGhsgaUPdZYtYAi/rd3cpNiQD4m3pLUmJioh544AGVlZUpNDRUS5YscUcur1VUVKRnnnlG69evZ0YNuAop0W3VKLDuR1SjwACNeeg2NyUC4G/qnafOz893Rw6fUFZWpiFDhig/P18dO3Y0Ow7g1do0s2nh8C5Ky9v9l3OSpD9mkBoFBmjh8C5q08xmYkoAvozXbU5SUVGhuLg4vfLKK4qJiTE7DuATeoa3VOH4aCVGhalxsFUOh12Ng61KjApT4fhoDpIE4FKseHSCP7f6Dxo0SKNGjTI7DuBT2jSzKTMhQpkJEbJYLHI4HPV/CACcgJmkq+RwODR69GiFhITo5ZdfNjsOAABwEmaSrtK0adP07bffavPmzWz1BwDAh1CSrsKyZcv07rvvqqSkRNdee63ZcQAAgBNRkq7Q1q1bNWnSJBUVFenmm282Ow4AAHAy3g9dgYMHD2rw4MHKy8vTHXfcYXYcAADgApSky3T69GnFxsYqMzNTvXr1MjsOAABwEUrSZbhw4YL69eunfv36KSUlxew4AADAhShJDeRwODRmzBi1aNFCM2fONDsOAABwMRZuN1BmZqbKyspUVFTEVn8AAPwAJakBli9frqVLl6qkpETXXXed2XEAAIAbUJLqsW3bNk2YMEGffvqpbrnlFrPjAAAAN+G9UR2++eYbDRw4UMuWLVNERITZcQAAgBtRkv7BTz/9pLi4OE2bNk29e/c2Ow4AAHAzSpKBqqoqDRgwQPHx8Ro7dqzZcQAAgAkoSX/jcDiUmpqqJk2a6LXXXjM7DgAAMAkLt//m3//+t/bv368tW7YoMDDQ7DgAAMAklKT/Z+XKlcrOztaOHTtks9nMjgMAAExESfqf7du36/HHH9cnn3yikJAQs+MAAACTsSZJ0qFDhzRgwADl5uaqc+fOZscBAAAewO9L0s8//6y4uDg9//zzio2NNTsOAADwEH5dkqqqqjRw4ED17t1b6enpZscBAAAexG9LksPh0Lhx42Sz2TR79myz4wAAAA/jtwu3X331Ve3Zs0dbt25lqz8AALiEX5ak1atXa8GCBSopKVHjxo3NjgMAADyQ35WkkpISpaWlaePGjWrVqpXZcQAAgIfyqzVJR44cUf/+/fX2228rMjLS7DgAAMCD+U1JOnPmjOLi4jRlyhTFx8ebHQcAAHg4vyhJ1dXVGjRokGJiYvTEE0+YHQcAAHgBny9JDodD6enpCgoK0ty5c82OAwAAvITPL9zOysrSzp07VVxcLKvV5/+4AADASXy6Naxdu1bz5s1TSUmJrr/+erPjAAAAL+KzJWnXrl167LHHVFhYqNDQULPjAAAAL+OTa5KOHj2qvn37avHixbrnnnvMjgMAALyQz5Wks2fPKj4+Xk899ZQSEhLMjgMAALyUT5WkmpoaDRkyRNHR0ZowYYLZcQAAgBfzmZLkcDgunoH0xhtvyGKxmJwIAAB4M59ZuP3666+ruLhYn332GVv9AQDAVfOJNrFu3TplZWVp+/btuuGGG8yOAwAAfIBXlaSjpyuVU3xIBXu/V+WFGtmCrXqwVSO9/8pU/aegQG3atDE7IgAA8BFeU5I2l51UWt5uVdfaVWN3SJLOXahR4cHf1STxNZ27gYIEAACcxysWbh89Xam0vN06X117sSD9yRJoVbXdorS83Tp6utKkhAAAwNd4RUnKKT6k6lp7nddU19q1eNthNyUCAAC+zitKUsHe7y+ZQfq7GrtD7+8pd1MiAADg67yiJFVeqGnYdVUNuw4AAKA+XlGSbMENW19uC/KadegAAMDDeUVJ6hsZImtA3SdoWwMs6nd3KzclAgAAvs4rSlJKdFs1Cqw7aqPAAI156DY3JQIAAL7OK0pSm2Y2LRzeRdc2CrxkRskaYNG1jQK1cHgXtWlmMykhAADwNV5RkiSpZ3hLFY6PVmJUmBoHW2WxSI2DrUqMClPh+Gj1DG9pdkQAAOBDvGqlc5tmNmUmRCgzIcLsKAAAwMd5zUwSAACAO1GSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFCSAAAADFjNDgAAdTl6ulI5xYdUsPd7hT3zgSKmfaS+kSFKiW6rNs1sZscD4MMaNJNUWFio8PBwtW/fXjNnznR1JgCQJG0uO6l/zSvWil3Hde5CjSyWAJ27UKMVu47rX/OKtbnspNkRAfiwektSbW2t0tPTtWHDBh04cED5+fk6cOCAO7IB8GNHT1cqLW+3zlfXqsbu+Mvv1dgdOl9dq7S83Tp6utKkhAB8Xb0laefOnWrfvr3atm2roKAgDR06VOvWrXNHNgB+LKf4kKpr7XVeU11r1+Jth92UCIC/qbcklZeXq3Xr1hd/Dg0NVXl5uUtDAUDB3u8vmUH6uxq7Q+/v4XkEwDWctnA7Oztb2dnZkqRTp04567YA/FTlhZqGXVfVsOsA4HLVO5PUqlUrHT9+/OLP3333nVq1anXJdampqSotLVVpaalatGjh3JQA/I4tuGHf4WxBbNIF4Br1lqSuXbvq4MGDOnz4sKqqqrRixQr16dPHHdkA+LG+kSGyBljqvMYaYFG/uy/90gYAzlBvSbJarZo/f7569+6tjh07avDgwerUqZM7sgHwYynRbdUosO5HVKPAAI156DY3JQLgbxo0Tx0bG6vY2FhXZwGAi9o0s2nh8C5Ky9ut6lr7XxZxWwMsahQYoIXDu3CgJACX4b8lAeCxeoa3VOH4aCVGhalxsFUWi9Q42KrEqDAVjo9Wz/CWZkcE4MNY8QjAo7VpZlNmQoQyEyLMjgLAzzCTBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYICSBAAAYMDicDgczr5p8+bNdeuttzr7tgAAAE535MgRVVRUXPLrLilJAAAA3o7XbQAAAAYoSQAAAAYoSQAAAAYoSQAAAAYoSQAAAAb+D/64XmPg7aCMAAAAAElFTkSuQmCC\n", + "image/png": "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CgwMVJ8+fTRy5Ejl5uYWQykAE1599VXFxMRoxYoVevjhh03nwAEU6jktAAAUxJQpU3T27Flt27at2B4S6enpqaioKPn5+WnkyJE6dOiQ1qxZo2rVqhXL7w/ANlauXKnXX39dYWFh6tq1q+kcOAiOtAAAitWnn36q2bNn65VXXtE999xTrL+3xWJRSEiIEhIS9OWXX8rPz08pKSnF+h4ASk5ycrKef/55Pffccxo7dqzpHDgQ7h4GACg2eXl5atWqla5du6a0tDS5u7uX2HudOXNG3bt316effqrFixcrKCioxN4LQNGdOnVKzZs31z333KOEhAR5eHiYToId4O5hAACbW7RokQ4cOKAlS5aU6GCRpFq1amnXrl3q27ev+vfvryFDhig7O7tE3xPA7bly5YoCAgLk5eWldevWMVhQaIwWAECx+O677zRhwgQFBwerdevWNnlPDw8PLV26VEuWLNHSpUv12GOP6dy5czZ5bwAFk5eXpz59+ujkyZPauHGjqlatajoJDojRAgAoFiEhISpXrpxmzJhh8/ceOHCgEhMT9fXXX8vX11fJyck2bwDw+8aNG6fNmzdr9erVatKkiekcOChGCwCgyDZs2KB169Zp7ty5qlSpkpGGli1bKjU1VfXq1VPbtm21ZMkS2fiyTQC/8t5772nWrFmaPXu2nnzySdM5cGCMFgBAkVy5ckVDhw7Vk08+qcDAQKMt1atX18cff6yBAwdq0KBBGjBggK5fv260CSitEhMTNWjQIA0cOFDDhg0znQMHx2gBABTJpEmTlJ6ergULFhTbM1mKwt3dXfPnz1dkZKRWrFihtm3b6syZM6azgFLlxIkT6tatmx555BHNnz/fLv5sgGNjtAAAbtvBgwc1b948vfbaa6pbt67pnF8ICgrSnj17dO7cOfn6+mrXrl2mk4BS4dKlS+rUqZOqVKmimJgYlSlTxnQSnACjBQBwW3JzczVw4EA99NBDdnvqx88Pn2zUqJHatWunt99+m+tcgBKUm5urnj176vvvv9emTZvk4+NjOglOgtECALgtc+bM0WeffaaIiAi5ubmZzvlD1apV0/bt2xUSEqJhw4apX79+ysrKMp0FOKURI0YoISFBMTExuvfee03nwIkwWgAAhXby5EmFhoYqJCREfn5+pnNuyc3NTeHh4YqOjlZMTIxat26tkydPms4CnMrC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0zmlUlRUlAYNGqQHH3xQsbGxqlWrlukklBInTpxQ8+bN9dBDD2nr1q380ALGcctjAMBvWK1WDR06VN7e3po+fbrpnFIrKChIe/bs0blz5+Tr66tdu3aZTkIpcOnSJXXq1ElVqlTR2rVrGSxwKIwWAChF4uLitHHjRs2bN4+j3Yb5+fkpNTVVjRo1Urt27fT2229znQtKTG5urnr27Knvv/9emzZt4plMcDiMFgAoJTIyMhQSEqLOnTura9eupnMgqWrVqtq+fbteeuklDRs2TP369VNWVpbpLDihESNGKCEhQTExMbr33ntN5wCFxmgBgFJiwoQJunLliubPn88zWeyIm5ubZs+erejoaMXExKh169Y6efKk6Sw4kYULF2r+/PlasGCB2rVrZzoHuC2MFgAoBZKTk7Vo0SJNnTpVtWvXNp2D39G7d28lJyfr0qVL8vPzU0JCgukkOIH/PZIXHBxsOge4bdw9DACcXE5Ojpo2baqyZctq3759cnV1NZ2EP5Genq5evXppx44dmjFjhkaPHs2RMdyWY8eOqUWLFmrZsqU2btwoNzc300nAb3D3MACAJGn27Nk6evSoIiIiGCwOwMfHR1u2bNHLL7+sl19+Wc8884yuXbtmOgsO5scff1SnTp1Us2ZNrV69msECh8doAQAnduLECU2ZMkXDhw/Xww8/bDoHBeTq6qqwsDCtXbtWmzdvVosWLfTvf//bdBYcRHZ2trp3766MjAxt3LhR3t7eppOAImO0AICTslqtGjx4sP7yl79oypQppnNwG3r06KH9+/frxo0batasmT788EPTSbBzVqtVL774opKSkhQXF6d69eqZTgKKBaMFAJzUypUrtX37di1cuFDlypUznYPb1LhxYx04cECPPPKIOnbsqGnTpik/P990FuzUW2+9pXfffVdLly5VmzZtTOcAxYbRAgBO6Mcff9SIESP09NNP68knnzSdgyKqVKmSNmzYoMmTJ2vSpEnq3r27Ll++bDoLdmbTpk0aPXq0xo4dq379+pnOAYoVdw8DACf0/PPPKy4uTseOHdOdd95pOgfFKD4+Xn379lWNGjW0fv16NWjQwHQS7MBnn32m1q1bq3379oqNjZWLCz+XhmPg7mEAUEp98sknioyM1MyZMxksTqhz5846cOCALBaLmjVrpg0bNphOgmE//PCDAgICVL9+fS1f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Qjk5OaazCi00NFRxcXGKjo7WQw89ZDoHcFqMFgCwkXPnzmncuHH65z//qUcffdR0DmCcp6enoqKiNG/ePM2fP1+PP/64zp8/bzqrwKKjozV16lSFhYXpqaeeMp0DODXuHgYANvL0008rMTFRR48elY+Pj+kcwK7s3r1bPXr0kLu7u+Li4tSsWTPTSX8qOTlZf/vb3/TMM89w4T1QBAXdBhxpAQAb2Lx5s9auXau33nqLwQL8jjZt2igtLU01a9ZUmzZtFBkZaTrpD506dUpPPfWUmjVrpiVLljBYABtgtABACbt69apefPFFPfHEE+rVq5fpHMBu1axZU4mJiXruuef0/PPPa8iQIcrOzjad9QtXrlxRQECAypUrp7i4OK5NA2yE57QAQAkLDQ3VhQsXeIgkUAAeHh6KiIiQn5+fhg4dqk8//VRr1661i7ty5eXlqXfv3jp16pSSkpJUtWpV00lAqcGRFgAoQWlpaZozZ45CQ0NVr1490zmAwxg4cKASExP1zTffyNfXV8nJyaaTNHbsWG3ZskWrV69W48aNTecApQqjBQBKSG5urgYOHKgmTZpo5MiRpnMAh9OyZUulpqaqfv36atu2rZYsWSIb3z/opnfffVezZ89WeHi4OnToYKQBKM0YLQBQQubPn6+0tDRFRESoTJkypnMAh3TnnXcqISFBwcHBGjRokAYMGKDr16/btCExMVGDBg1ScHCwXnrpJZu+N4CfcMtjACgBp0+fVqNGjRQUFKT58+ebzgGcwrJlyxQcHKwHH3xQsbGxqlWrVom/57///W/5+/vroYce0tatW/kBBFDMuOUxABhitVo1dOhQeXt7a/r06aZzAKfRr18/7d27V99//718fX2VmJhYou936dIlBQQEqEqVKlq7di2DBTCI0QIAxSwuLk4bN27UvHnzOKIMFDNfX1+lpKSocePGateund5+++0Suc4lNzdXPXv21A8//KBNmzbxfCXAMEYLABSjjIwMhYSEqHPnzuratavpHMApVa1aVR999JGGDx+uYcOG6bnnnlNmZmaxvsfw4cP18ccfKyYmRvfee2+x/t4ACo/RAgDFaPz48bpy5Yrmz5/PM1mAEuTm5qZZs2Zp5cqVio2N1SOPPKKTJ08Wy++9YMECLViwQPPnz9djjz1WLL8ngKJhtABAMUlOTtbixYs1depU1a5d23QO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fPONGjdurODgYL311lumcwAUQmZmppo0aaK7775bO3bs4Fo0AMWKIy0A7ILVatWLL76oO+64Q6+//rrpHACF9Nprr+ns2bPatm0bgwWAMYwWACVqzZo12rp1q+Lj41W+fHnTOQAK4bPPPtOsWbP06quv6p577jGdA6AU4/QwACXm4sWLatiwodq0aaOYmBjTOQAKIS8vT61bt9aVK1d06NAhubu7m04C4IQ4PQyAcWPHjtX169f19ttvm04BUEiLFy/W/v37tXv3bgYLAOMYLQBKxO7du7V06VItWLBANWrUMJ0DoBC+++47jR8/XgMHDtQjjzxiOgcAOD0MQPG7ceOGHn74YXl7e2vv3r1ycXExnQSgELp37669e/fq6NGjqly5sukcAE6M08MAGDNz5kz961//UlpaGoMFcDDx8fGKi4vT6tWrGSwA7AbfTQAoVsePH9e0adM0evRo3X///aZzABTClStXNGTIEHXo0EFPP/206RwAuInRAqDYWK1WDRo0SDVr1tTkyZNN5wAopFdeeUXp6elauHAhz2QBYFc4PQxAsVm2bJl27typjz76SJ6enqZzABRCSkqK5s2bpzfeeEN169Y1nQMAv8CF+ACKxYULF9SwYUN16NBBK1asMJ0DoBByc3PVrFkzSdLBgwfl5sbPNAHYBhfiA7CpkSNHSpLCw8MNlwAorLlz5+qzzz7Tvn37GCwA7BJ/MgEosu3bt2vFihV69913Va1aNdM5AArh5MmTmjx5soYOHXrzaAsA2BtODwNQJFlZWbr//vtVq1Yt7dy5k4t3AQditVrVsWNHff755/ryyy9VoUIF00kAShlODwNgE6+//rq+/fZbbd68mcECOJgPPvhAH374odavX89gAWDXuOUxgNv2+eef680339SECRPUoEED0zkACuHixYsaNmyYunbtqi5dupjOAYA/xWgBcFvy8/MVHBysv/71rxo3bpzpHACFNG7cOGVmZmrevHmmUwDgljg9DMBtWbJkiZKTk5WYmCgPDw/TOQAKYc+ePYqIiNC8efNUs2ZN0zkAcEtciA+g0M6ePav77rtPgYGBeuedd0znACiE7OxsPfzww6pQoYL27t0rV1dX00kASjEuxAdQYoYNG6ayZctq5syZplMAFNLMmTN1/PhxpaamMlgAOAxGC4BC2bRpk2JiYhQdHS0fHx/TOQAK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", "text/plain": [ - "
" + "
" ] }, "metadata": {}, @@ -163,19 +164,17 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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mJjIG78S9ZEeBaMNGzYAAEwmE3Q6HQICAiCKotNtZTIZNmzYgMzMTM+rJCIagBobG/H000/jmWeewQ033ICCggJERkZKXRaRX3NrjJFarYZSqcTq1atRUFDQ2zUREQ1433zzDbRaLb788kvodDpkZmYiODhY6rKI/J7bvViFQoGEhITerIWIaMBraWnBli1boFQqYbfbsXv3bsyfP5+hiKifeHRVWlxcXJfrnn32WQQEBECn02HEiBGeHIaIaEA4fPgwkpOT8c9//hOJiYlYvHgxhgwZInVZRAOKR8GoO6tWrQJwca6jnJycvjoMEZHPE0URO3bswNKlSzFixAhs374dMTExUpdFNCD1SjAym80QBAGVlZXtltvtdgiC0BuHICLySydOnEB6ejrefvttzJgxA1lZWbjiiiukLotowPI4GEVHR8NqtToey2QyABdDUWxsLF555RVPD0FE5JeMRiPmzp2LwMBAvPjii7jnnnukLolowPNoIozVq1dDpVKhqqoKLS0tMBqNsNlssNlsaGlpcVzST0RE/6eqqgqzZ89GfHw8oqKiYDabGYqIvITHM4Rt2LABYWFhAC5eqbZ//37Huri4OJhMJk8PQUTkN9577z3cdNNN+Pvf/46cnBw899xzCA8Pl7osImrlUTD62c9+1u6xQqFAfn6+RwUREfmjuro6zJ07F/fffz+uv/56FBYW4uGHH2ZXncjLeBSMzpw5AwDYu3cvDh8+jLCwMJSVleHIkSOObXivNCIa6D799FPceuuteP3117FmzRrk5ubimmuukbosInLCo2Ck1+sxd+5cqFQq6PV6AIBOp4NSqcS8efNw3333OQZjExENNA0NDTAYDJg0aRKGDx8Ok8mEhIQEdomIvJhHV6VFRETglVdegUajgUKhAHDxdiE2mw2rV6/GyJEjUVZW1iuFEhH5kv3790Or1eK7777DokWLkJqaiqCgIKnLIqLLCBC7ugssdVJTU4OwsDBUV1dzNm8icqqpqQkbN27EunXrEBERgfXr1+OGG26QuiyiAa2urg4TJkxw6fu7z2a+JuptLefOofHLL9FSU4PA4SMQ/OtbEMiJ8MiLHDx4EFqtFiUlJUhLS8O8efMwePBgqcsioh7wOBjt378fWVlZKCsrw8aNG5GRkQEAmDt3LuLj4zFlypQe7c9qtcJisQAASkpKsG3bti7H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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -215,7 +214,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -224,7 +223,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -281,7 +280,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -290,7 +289,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -314,19 +313,17 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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u5/kbN261XZLsK22D9p2Op2aOXOmDh48aHYoXBS7yX7YTewmO+rq3RTQl4E5HI4P/KSqvLzc1jVrVxkZGba+Zt/hcGj27NmaPXu2be4Q5ebm6q677jI9hlFtr4E/91un7HRdfKBiN+EcdhO7yY66ejcFdKy0vSayrenTp3fxJDDpoYceUkZGhpxOp9xut61uEPv169f6+rlTrHa6s7p161ZlZmYqMzNTLpdLK1assM3jAoqLi3X77bd/4O12ui4+ULGbILGbzmE3sZukzt1NAX0Z2Puvf3O5XJo+fbotf4Jh1+sjc3JyWk81u91uW516jY2NPe9OUXFxsRwOh21+C8/77xAuW7bMVo/ZcDqdWrlyZevrubm5mjVrli1vBwINu+k97CZ2E7uJ3dTZuynEsiyr0957B3C5XHryySeVkJCgwsJCWz3xTm5urrZv366HHnpI3/72t5WQkGCra0JdLpfGjh173tscDocqKioMTdT1cnJyWi832b59u1auXGmbG8Rz3G63MjMzlZGRofT0dC1btsw2S/HcE885HA4dPHjwvAUBs9hN7Ka22E3sJnZT5wn4WAEAAABgTwH9mBUAAAAA9kWsAAAAAAhIxAoAAACAgESsAAAAAAhIxAoAAACAgESsAAAAAAhIxAoAAACAgESsAAAAAAhIxAoAAACAgESsAAAAAAhIxAoAAACAgPT/rJdIfgED++0AAAAASUVORK5CYII=", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -370,7 +367,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -380,19 +377,17 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAANkAAADnCAYAAACTzvOrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO29eZhdR3mv+9aw1tp7d7e01RpsybJlty0bDAgsT2ADNtDEBnMIh5gjEnJzIRdEToabkAHuOeFA7k1CsEMg53BjYnEyMeU4koMhQEBusAHPljqesCXLkjXbkqUe1N17WGtV1fmjVnc8aey91YPqfR4/j9Wrd63au/dvVdVXX/0+4ZwjEAi0DznVHQgEZjtBZIFAmwkiCwTaTBBZINBmgsgCgTajj3I9hB4DgWNDHO5CGMkCgTYTRBYItJkgskCgzQSRBQJtJogsEGgzQWSBQJsJIgsE2kwQWSDQZoLIAoE2E0QWCLSZILJAoM0EkQUCbSaILBBoM0FkgUCbCSILBNpMEFkg0GaCyAKBNhNEFgi0mSCyQKDNBJEFAm0miCwQaDNBZIFAmwkiCwTaTBBZINBmgsgCgTYTRBYItJkgskCgzQSRBQJtJogsEGgzQWSBQJsJIgsE2kwQWSDQZoLIAoE2E0QWCLSZILKXYd26dfT19XHjjTce8feOdj0QgCCyl9Df3w9Ab28v1Wp14t8vpq+vjwcffPCo7R1NsGvWrGHNmjV84hOfmHRbx/pwaDfhIfVCgshexC233EK1WgWgp6eHvr6+E27raILt6+ujt7eX1atXs23btiPe62htHevD4XC06mHQ6ofUbCCI7EUMDQ3R3d098e+DBw++5Hf6+/vp7e09altHE+zzhdXT08O2bdtOuK3JPBxa+TBo5UNqthBEdgIMDAwc0+8dTbCrV69m9erVgP+iX3LJJSfc1rE8HA5HKx8GrXxIzRb0VHdgulGtVidENDQ0xPz5819wvR1fkP7+ft7+9rezcuXKlrZ7rBzLw2Cc/v5+Vq1aNan7HetDarYQRPYiVq1axYYNGwD/BB8X1NDQENVqlW3btk08ybdt20Z/f/9hxXE0wY7T19fHxz/+8SP262htHeu9JsP4w2DDhg0Tn9E4PT09E9PNdjyknHPkeY7WGiHEib+JKSCI7EWsXLmSDRs20NfXR7VanRDQ2972NjZu3Mj1118P+EDA0NDQEds6mmDH2xkX2Pja50TaOtz1cdasWfOSNo9VGOMcy8OglQ+pcZxzpGmKtRal1IwTGc65I/0XmCQ333yzu/32293NN9888bOVK1c655y7/fbbXbVadT09Pa5arbrbb7/9hNs63PVjYePGjROvueGGG9zGjRudc84NDg6+oO1xJtvP8d/p6emZuNfhsNa6RqPharWae/LJJ50x5tje1MnnsDoSzrkjavBkiT0wtaxZs2YiqDG+Brv44ovZuHEjfX19vO9976O7u5uBgQHWrl17UgIXrhjBdu7cyZlnnsm9997LVVddhZTTMl532OE1iCwwLXHOkWUZO3bsYPfu3VxxxRXcc889M1Jk07K305Frr7121rfV6vZOtC1XBDmMMezevbtl/ZkqgsiOAWMMBw4caElb1tqWteWca1lb0Nr3OZm28jwnz/NZITA4RaKLCxYs4Kyzzjrh17/zne/kqaeeask+1itf+Up27drVkrbK5TL79u1r2f7aRz7yER5//PGWtHfNNdec8GfmnGP+/Pn84R/+4aT7MR04JUR21llncdddd53w65944gnuvvtuvvvd7066L/v27WPHjh2sX79+0m2laco111zDHXfcMem2AO677z6uvPJKvvWtb026rc2bN3Pvvffyve9977hfm+c5SikeeOCBSfdjOhCmi8fIN77xjZa1dfPNN7esrc997nMtawtoicDG+frXv96ytmYyQWSBQJsJIgsE2kwQWSDQZoLIAkflqd3PYq2d6m7MWILIAkfld/7873n3f72Zo2QHBQ5DEFngZfn4f/8aV//mjezed5B6btg3VONfH3h8qrs1IwkiC7wsK85byqGRGr/4//0Nh0bqOGvZue/fD1saY6awdzOLU2IzOnD8fOCdV/H1f72bvcOj6KQLk9X58r/cy/p7H+baN7yGjY8+SV0k/N0nPoBSaqq7O60JI1ngZRFC8B/edBFaAkKgkgpWCnYdHOUbdzzKY1u2I5Wcrhnx04owkhU8tmU7Gx/bwuM79oCQzJ07h9/7pXeRxKfuR/Th/9jLV7/zUxrNUYSOETgMgrH6GLkR1DM7804pTwGn7jcIuG39T1j3gzvZ+cwBhhsGg/RP56iEjEp878cPonTE8nOWsurqi7jyotdQKcdT3e22YYzlj25ei5SC//v976Da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0zXyeNhOzRqRGWMYGBh4Qe2ywOxCCDGd12izX2SBwBRz6kQXA4HpRhBZINBmgsgCgTYTRBYItJkgskCgzUzrzeh169ZRrVbp7+/n4x//+Euujxdw37p166SyOwKBdjItR7J169bxpS99idtuu43e3t4JoT3/+o033sjWrVtZvXo127Zto6+vbwp7HAgcnmknsnExbd++nYULF9Lf309PT8+EiMavV6tV9uzZM3F927bgVBuYnkw7kd1yyy1Uq1WGhoY4//zzJ8R18ODBF1xfvXo1H/zgB+nr66O/v7+luXaBQCuZdiIbGhp6QWrUPffcQ39/P/fff//LXv/mN7/JnDlzuOWWW056XwOBY2HaiWycffv2sX79erZs2UJPTw/z589/wboM/NRxz5493HrrrWFdFpi2TDuRVatV7r//fq644gqefvppuru7+elPf0pvby99fX2USiUGBgYA+NrXvoYxvjaxlDKsywLTkmknslWrVnHbbbexcuVKhoeHWbp0Kbt372bx4sUcPHiQ9evXT4xamzdvZnBwkHnz5rFly5awLgtMS6adyFauXEm9XmfLli2ceeaZvPnNb+a8886b2Cd74glfMGHLli188Ytf5LrrruOHP/wh73//+1m5cuVUdj0QeFmmfDN6fEP5+XR1dXH55Zezfft2RkZ8lcjPfOYzE9PB1atX09fXR29vL7fffjt9fX0vu1kdCEwHpkxkLyeunp4eent72bp1KwMDA6xatYqbb76Zc889l23bttHb2wvAj3/844n/37ZtG2vXrgWYEF4gMJ2YMpGtXr36sNdWrVrFhg0b6O3t5cCBA7zuda9DKUVPTw8AH/rQh7jxxht55JFHePjhh1m6dCljY2MTYgsEphNTPl18OVauXMmGDRvo6+vjmmuumRDkxRdfzMaNGyemjQMDAyxbtoy1a9eG9Vhg2hLsBwKB1hDsBwKBqSKILBBoM0FkgUCbCSILBNpMEFkg0GaCyAKBNhNEFgi0mSCyQKDNBJEFAm0miCwQaDNBZIFAmwkiCwTaTBBZINBmgsgCgTYTRBYItJkgskCgzQSRBQJtJogsEGgzQWSBQJsJIgsE2kwQWSDQZoLIAoE2E0QWCLSZILJAoM0EkQUCbSaILBBoM0fzwj+s9XAgEDg2wkgWCLSZILJAoM0EkQUCbSaILBBoM0FkgUCbCSILBNrM/wbFjjJN+DmD9gAAAABJRU5ErkJggg==\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -413,7 +408,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -422,7 +417,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -435,19 +430,17 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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mIjg4GA0AWi69FIEHTp0apxShADHWWcC/53BuzcxLBEREVGva2pqQk5ODh555BFccMEF2LJlCy6++GLXjYKD4TjvPGUKbIFhiYiIiHrVjz/+iISEBJSWliI5ORnz58/v9offdiefnzqAiIiIAoPD4cBzzz2H8ePH4+jRo3j99dexZMkSnw5KAHuWiIiIqBccPHgQc+bMwSeffILZs2dj6dKlGDBggNJldQjDEhEREfUYWZbx5ptvYsmSJejfvz/y8vJw9dVXK12WV3gZjoiIiHrEsWPHMHPmTCQmJuL6669HcXGx3wUlgD1LRERE1APeffddpKWlwW63409/+lO7jxbzB+xZIiIiIq846upgKytH/aefoXHv95Dtdue6qqoqJCUlYcaMGbj88stRXFzs10EJYM8SERERdZAsy6gvMaDuvfdg//UoYLcD4WEIveACDLz7bnx69FckJSWhsrISjz32GKZPnw6VApNIdjeGJSIiIjotR1UVare/g9p33oVqwAAEn3suVKGhcNTWouqbb5H53izk7/0OV111FV5++WWMHNn1R5L4CoYlIiIiapfDYkHtu++hftcuNOzeA9ibEDz8DKjCwhA84izsrrJg3uef4lBVFR6cqkXcU08iKCiwRvkwLBEREZFbjupqWP/0NBp374YMFVQAMGgwHFYr6r/9Fs+Ul+HP//4elw0fjr/G3ISxAwag1mqFLAgKV969GJaIiIjIrfodO9G4518IHiPCcfw47CoVgsLD8e+mRiz+/t/4T30dFl9xJeZHRiLEZoOqynrqobdKF97NGJaIiIioDdnhgG3XLmDAAKjCw4HwcNhVKry4fz9yDuzDef364d0xIsaNPheOoCCo6uoh9wuHPGiQ0qV3O4YlIiIiakO22eCosiJo4EAAwAGVCvOln1FqtSJlxNlYMfpc9KuthaOxEbDbEVRlQcP11zMsERERUd+gCguDqn8/2CsteOPgAazZuQNDw8JQeMGFmBQeDtneBNjtUNnqEXzgAOyjR6PhumuVLrtHMCwRERFRG6rgYJjHjcO8tY/gk99+w6xLLsEDE6/C4Lo6OH75BSpzJVQA7IMGoUmjQcONN0AeNkzpsnsEwxIRERG1UVhYiPkPPoBQmw2bxk/AjZdcAjk0FHJwMBxqNVQhoWi8aiIapt0BOSJC6XJ7VGBNhEBERERdcuLECdx1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FzMoERH1MexZImrHhx9+iOTkZNTW1mLDhg247bbbOAs3EVEfxJ4lolZqamowb9483HbbbRg7diyKi4tx++23MygREfVR7FkiauGzzz5DYmIifvnlF6xZswaxsbEMSUREfRx7logA1NfXIyMjA9dddx0iIiKg1+sRFxfHoEREROxZItqzZw/i4+Px448/YunSpUhMTERwcLDSZRERkY9gzxL1WU1NTXj88ccRHR2NpqYmvP3225g7dy6DEhERuWDPEvVJP/zwAxITE1FaWork5GTMnz+fD78lIiK32LNEfYrD4cCzzz6LCRMm4OjRo3j99dexZMkSBiUiImoXe5aozzh48CDmzJmDTz75BHfffTfuu+8+DBgwQOmyiIjIxzEsUcCTZRlvvPEGlixZgoEDByI/Px+TJ09WuiwiIvITvAxHAe23337DH//4RyQlJeGGG26AXq9nUCIiIq+wZ4kC1rvvvou0tDTY7Xb86U9/glarVbokIiLyQ+xZooBTVVWFpKQkzJgxA1dccQWKi4sZlIiIqNPYs0QB5ZNPPsGcOXNQWVmJxx57DNOnT+cs3ERE1CXsWaKAUFtbiyVLlkCr1WLkyJEoLi7GnXfeyaBERERdxp4l8ntff/01EhIScODAAaxatQqzZ89GUBD/HUBERN2D3yjktxoaGrBmzRpcffXVCA8PR2FhIe655x4GJSIi6lbsWSK/9N133yEhIQHffvst5s+fj5SUFISE8ONMRETdj/8EJ79it9vxxBNPIDIyEtXV1di8eTPmzZvHoERERD2G3zDkNyRJQmJiIj7//HMkJCRg8eLFCA8PV7osIiIKcAxL5PNkWUZBQQGWLVsGtVqNV155BVFRUUqXRUREfQTDEvm0I0eOICUlBR9++CF0Oh1WrFiBgQMHKl0WERH1IQxL5LO2bt2KBQsWICQkBM8//zyuu+46pUsiIqI+iAO8yeecOHECd911F2bPno1JkyZh+/btDEpERKQY9iyRT/nggw+QnJyMuro65Obm4tZbb1W6JCIi6uPYs0Q+obq6Gmlpabj99ttx4YUXYvv27QxKRETkE9izRIr79NNPkZiYiKNHj2LNmjWIjY3lM92IiMhnsGeJFFNfX4+VK1fi+uuvh1qthl6vR1xcHIMSERH5FPYskSKMRiMSEhLw008/4f7770dCQgKCg4OVLouIiKgN9ixR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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -466,7 +459,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -483,19 +476,17 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -564,7 +555,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -573,7 +564,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ @@ -586,7 +577,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -603,19 +594,17 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 22, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -649,19 +638,17 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 23, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -695,19 +682,17 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 24, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -777,19 +762,17 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 25, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlwAAAJMCAYAAAAvyngrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdd3hb5fk+8Pv1iJ2tOHH2tMnethI7pZRSnAIFShqc5exhuy2FtvSbMH600FIKSSiUUUpsZyfOBMIqpHGgUIYdr0wSJ7EyneUROY63pff3h4+Moki2HI2jcX+uiyvSOTrSI9t6uM97Xp0jpJQgIiIiItcJULsAIiIiIl/HwEVERETkYgxcRERERC7GwEVERETkYgxcRERERC7GwEVERETkYgxcRERERC7GwOVHhBBxQoh4IUSU6XYrto0QQuwRQkSZLSt0TaXN1hFv/j5sPCZCCLFDCJGrPC5eCLFcCBHXzPpltn4epu2U21FCiCRle435OiJyDbPP7B6Lz6zVHmC2XdSt9iln9jdT37CxzmX9ylYd7F/qEDzxqX8wfdillClmy+IBTJBSPmHncywHsE1KmeeaKlt8fQ2A5VLKZOX+DinlNBuPjQcw2fRYZdlVAIOklHob65cB0Fv8jJZJKVeY3d8BIBEAlOeJUm6r8jMh8heWn1mlH5ySUnZpYbs9UsrJLTwmyfxz70xKqJkGINfWa7iqX1l5HfYvFXGEy38st/ywSyl3AohXGpc9Sk03lL0uu0fInGQ6AL35gpb2cC2UAYiwtVJpVMvNnjsCgM7iYRoppV5KqVe2yQMwoxU1EJFzhAGwt3fZpPS/ZItlTutvUsoMAHtuYVNn9CtL7F8qYuDyA8oelq0Pog5AnHKYrlD5d4cphCnDz3FKsJlgtl0ZlA+7adheeVycEGKVeYgzba8Mk0eYLTN/vSlCiKumAKU8xzKLWjUAzIf5m21IFj+DCMCuPbky02MBJCuh1PQcUQDClCF989ctbUVoJaJbF2Z2eG45gGjzlcqhtjilb93UG6z1IjT2EI24cZqCeX+Ls9WbWnq9W+WMfmXlOdm/VBakdgHkNrY+UGFA416YEEIHoMx0mE4JahplDw3KeiiP15vuSynzlNs6KaVO+WBrAWQoD0+WUk4TQgCNe5JP2Hi9SaZ6AOwwva4DIkzvAUCYlDLSzu00Fv8CaHqfZVaamg43vl8ico0yJYTkKf2kacTbbNqEqV/tQOOhPHPWelGeEEJv/rm26G8ZQogUWPQmO1+vNZzaryyxf6mPgcs/5OD7ZmEpAkDTXpTFHtVkANmteJ0yG8ufUBpJBKyEGLO7LwLYIYTIgfUROb3F9mE2Hmeiu4XQFmZWk62fWUt1EZF7PIHvDwdGA8g1G72xdhjPZi9qgXlvMvU5e16vNZzar5Q5t6b3uFxKaatXsn+5CQ8p+gHleP0TlofolD20lGY+iNm4+ZCdzRBimhdg8RpxUEa0oOxB2Rp6V7bXAUiyUdN2AOZ7fRpnTvZUfj4vmi2yFSAtaWAxt4yIXK5pSoFySGwPAEgpdUr/2G7+4BZ6UZnZY26i9CY9GnuTqec0+3qu1lK/klI+IaVMVv5rbseU/ctNGLj8hDJhXifMTqugLH8CaDq+rxVmX102DT2bzeGKApAsGr9OHIXGIfAki9saNI6MTVNul5k9vwaNgS3C2uspVsHGqJXS9HaY5orBbMKoOaWJzlCe/6ZJ9Rbrm75mjcZv/Jh/w8faBP0IK3PLItA4ikhELmDWV7Rm85t2AtCbRqzM+lW8aZl5b4KNXqS8xA7zXmSxncmLMOsJ1l7PRu1xaOw306wFOlf1KyvPw/6lMp4WgjyCECJCmf8V54S5W05halDNTURVHrfc3lNrEBG5gr39ysp27F9uwhEu8hSmbwi19LVmt1EOHTQ7j0upeZt7KiIiss6efmWJ/cu9OMJF1AJbo27KYQ6tp4zIERHZe5SA/cv9GLiIiIiIXIyHFImIiIhczOPPw9WtWzc5cOBAtcsgIjfJzc0tkVKGq12HM7B/EfkfWz3M4wPXwIEDkZPDb6wS+QshxBm1a3AW9i8i/2Orh/GQIhEREZGLMXARERERuRgDFxEREZGLMXARERERuRgDFxEREZGLOSVwWbvgptk608WSlzW3jIhIDexfROQODgcu5ernqTbWRQGAcukAvRAiytoyR2sgIroV7F9E5C4OBy6l8ZTZWD0DgF65rQMQZ2MZEZHbsX8Rkbu4eg6XBjc2s642lhGRjzp4Xo+aeoPaZdwK9i8iP1deXY9jl6455bk4aZ6IXObL48WY9va3ePHfR9UuhYioVa5W1mF2Wibmrd6H6jrHdxpdfWkfPYAw5bYGQKly29qyJkKIJABJANC/f38Xl0hErvDZscv45cY8RHbvgMfuHqx2ObeC/YvIT5Ver8XstCzoSiqxak402rYJdPg5XTLCJYTQKDe3AYhQbkcAyLCx7AZSyhQppVZKqQ0P94lr2BL5ld1HLiF5Yy6G9uyILYkx6NohRO2S7Mb+ReTfrlTUYGZKJk6XVmL1fC3uGtbdKc/rjG8pxgPQKv+a7AUAKWWe8pg4AHopZZ61ZY7WQESe4+ODF/HI5jyM6tMZm5bEQNOujdol2cT+RUTmLpXXYOaqTBTpq7F2wUTcMdh5O01CSum0J3MFrVYrc3Jy1C6DiOywK78Ij2/fj+gBXbBmwQR0DA1u9XMIIXKllFoXlOd27F9E3qNIX42E1EyUXq/DuoUToB0Y1vJGVtjqYa6ew0VEfmJHzjkse+cgYgd1Rdp8LdqHsL0QkXc4V1aFmSmZuFZTj42LJ2J8/y5Ofw12RCJyWHrWWTz93iHcMbgbUuZqnTLBlIjIHU6VVCIhNRPV9QakL4nF6L6dXfI6DFxE5JD135zGsx8cwU+Gdcdbs6MQGsywRUTe4eSVCiSkZqHBKJG+JBYjendy2WsxcBHRLUv9UocX/n0UPx3RA28mRKFNEE/tR0TeoeBSBWanZQIQ2JoUiyE9Orr09Ri4iOiW/PPzk1i5uwD3j+6Ff8wch+BAhi0i8g6Hi8oxd3UW2gQFID0xFpHhHVz+mgxcRNQqUkr8I+MEXtt7AlPG9cbL08YiiGGLiLzEgXN6zF2dhQ4hQUhPjMXAbu3d8roMXERkNyklVu4uwFv/LUR8dF8sf3gMAgOE2mUREdkl98xVLFizD5r2wUhfEot+Ye3c9toMXERkFyklXvj4KNK+OoWEmP7460OjEMCwRUReIktXikXrstG9Uyg2L4lBb01bt74+AxcRtcholPjzh0ew/tszWPCDgXj2wREQgmGLiLzD1ydLsGR9DnprQpGeGIsenULdXgMDFxE1y2iU+H+7DmPLvrNIvGMQnv7ZcIYtIvIaXxwvRtKGHAzs2h6blsQgvKM613Zl4CIimwxGiSfeOYiduefxyF2R+L+fDmXYIiKPNjv1W3xdWNZ0XwAY3qsTNi2JQVh79a7tysBFRFY1GIz4w44DeH//Bfw+bggeu/s2hi0i8miWYQsAJIAOIQGqhi2AgYuIrKg3GPG7rfvx8aGLWHbvUPz6x7epXRIRUYssw5bJvtN6N1dyMwYuIrpBbYMBv0nPx57vLuOZ+4djyR0RapdEROT1GLiIqElNvQG/2pSLzwuK8eefj8T8HwxUuyQiIp/AwEVEAIDqOgOSNubgq5Ml+NsvRiMhpr/aJRER2W1T5hm1S2gWr8dBRKisbcDCdfvw1ckSrHh4DMMWEXmVtV+fwjO7DqOPxvr5tebEqt/TGLiI/FxFTT3mr9mHfafK8I8Z4zBN20/tkoiI7Lbqi0L8+cPvcM/IHvj8/+7CnNj+CFS+UR0oBObE9sdfp4xWuUoeUiTya+XVjWHrcFE53pgVhfvH9FK7JCIiu7352Qm8/J/jeGBML7w6YxyCAwPw1ymjPSJgWWLgIvJT+qo6zF29D8cuXcNbs6Pw05E91S6JiKhZu/KLsHJ3AYr01egYEoSK2gZMHd8HK+LHICjQsw/aOVydECJeCBEnhFhmZV2UEEIKIQqV/1Ypy5cr/yY5+vpE1Hql12sxMyUTBZcrkDJX67dhi/2LyHvsyi/CU+8eQpG+GgBQUduAQCHww9u6eXzYAhwMXEKIKACQUmYA0JvumwmTUgopZSSAaQCWK8uThBCFAHSOvD4Rtd6VihrMTMnE6dJKrJ6vxV3DuqtdkirYv4i8y8rdBaiuN9ywzCAl/r7nuEoVtY6jhxRnANij3NYBiAOQZ1qpNDKTCCnlTuX2NIt1RORC5sPwQQECAQEC6xdOxKTIrmqXpib2LyIvYhrZsnTBxnJP42jg0gAwP4++1e4thIgDYN6gopRrskVJKVc4WAMRNcM0DG/aM2wwSrQRApev1ahcmerYv4i8hNEo0a5NIKrqDDet661pq0JFreeug56TpZRNFzKSUq5Q9hC7Ks3sBkKIJCFEjhAip7i42E0lEvkma8PwdQYjVu4uUKkir8P+RaQig1Fi6c6DqKozIChA3LCubXAglt4zVKXKWsfRwKUHEKbc1gAotfG4prkRyiTVeOVuKYCbLtQmpUyRUmqllNrw8HAHSyTyb94+DO9C7F9EHq7BYMTvt+3HO3nn8fjkIXh52lj00bSFANBH0xYvTh2NKeP7qF2mXRw9pLgNgFa5HQFl2F0IoTHtEQohItDY2Ex0+H6yaSSAVQ7WQEQ2nLxSgQABGOXN67xlGN6F2L+IPFhdgxG/3ZqPTw5fwhP3DsOvfhwJAF4TsCw5NMIlpcwDmuY46E33Aey1eGiZxTbTlb3EQrNtiMiJCi5VYGZKJtqHBCEk6MaPujcNw7sK+xeR56ptMODXm3PxyeFLeOb+4U1hy5s5fOJTKWWKlWXRZrd1AJJb2oaInOfIhXLMSctCm6AA7Hrkdhw6X46VuwtwQV+N3pq2WHrPUK/dS3Qm9i8iz1NTb0Dyxlx8cbwYzz80EnMnDVS7JKfgmeaJfMzB83rMXb0P7dsEIj0xFgO7tUdkeAcGLCLyeNV1BiRuyMHXhSV4aepozJyo/kWnnYWBi8iH5J65igVr9kHTPhjpS2LRL6yd2iUREdmlsrYBi9ZlI/t0GV6OH4uHo/uqXZJTMXAR+YgsXSkWrctGeMcQpCfGclI8EXmNazX1WLg2G/vP6fHqjHF4aJzvjcgzcBH5gG9OlmDx+hz01oQiPTEWPTqFql0SEZFdyqvqMW/tPhwpKsebs8bjvtG91C7JJRi4iLyU+eV6AKBX51BsTZqE8I4hKldGRGSfq5V1mLM6CycuX8e/5kRj8ogeapfkMgxcRF5mV34RnvvgCPTV9Tcsv1pZh69PlnByPBF5hZLrtZiTlgVdSSVS5kXjx0O7q12SS7nr0j5E5ASm6yJahi0AqGng5XqIyDtcuVaDmSmZOF1aiTXzJ/h82AI4wkXkVaxdF9EcL9dDRJ7uYnk1ElKzcPlaDdYtnIjYCKvXjfc5DFxEXqSlQMVvJhKRJzt/tQoJqVkoq6zDhkUToR0Y1vJGPoKHFIm8SOe2wTbX8XI9ROTJzpZWYcaqTOir6rBpSYxfhS2AI1xEXmNT5hnoq+utXoy6S7tgPPvgSE6YJyKPpCu+joTULNQ0GJCeGItRfTqrXZLbMXAReYG1X5/Cnz/8DncP6457R/XEPzJO8LqIROQVTlyuQEJaFoxGiS2JsRjeq5PaJamCgYvIw6V8WYi//fsY7hnZA2/MikKboABM0/ZTuywiohYdu3QNs1OzEBAgsDUpFoN7dFS7JNUwcBF5sDc/O4GX/3McD4zphVdnjENwIKddEpF3OFxUjrmrsxASFIj0xBhEhHdQuyRVMXAReSApJV7NOIHX957A1PF9sCJ+DIIYtojIS+w/p8e81VnoGBqM9MQYDOjaXu2SVMfAReRhpJRY/mkB3v6iENO1ffHi1DEIDBBql0VEZJfcM2WYvyYbXdoHY0tiLPp2aad2SR6BgYvIA5hfF7F9SCAqaw2YHdMfzz80CgEMW0TkJTJ1pVi0Lhs9OoUiPTEGvTrz3IAmDFxEKjNdrsd0BvnKWgMCAwS0A7owbBGR1/j6ZAkWr89G3y7tkL4kBt07hapdkkfhpBAilVm7XI/BKPHyf46rVBERUev8t+AKFq3LxsCu7bE1KZZhywqHA5cQIl4IESeEWGZj/XLl3yR7tyHyJ0U2LtfD6yK6HvsXkeMyvruMpA25uK17B2xJjEW3DiFql+SRHApcQogoAJBSZgDQm+5bSBJCFALQtWIbIr/QYDCibXCg1XW8LqJrsX8ROe6TQxfxy025GN6rI9KXxKJL+zZql+SxHB3hmgFAr9zWAYiz8phpUspIpUHZuw2Rz6s3GPHolnxU1xsQZDFXi9dFdAv2LyIHfHDgAn6zJR9j+2mwcUkMOrezfa1XcnzSvAZAmdn9rlYeEyWEAIAoKeUKO7ch8mm1DQY8sjkfGUcv45n7h6NbhxCs3F3Ay/W4F/sX0S16J/c8lu48AO3AMKxZMAEdQvgdvJa4/CekNCkIISYLIezaG1TmSyQBQP/+/V1YHZH71dQb8MtNufhvQTGef2gk5k4aCAAMWB6I/YvoZtuyz+LJdw/hB5FdkTpPi3ZtGLbs4eghRT2AMOW2BkCp+Uplcmm8crcUQERL2wCAlDJFSqmVUmrDw8MdLJHIc1TXGbBkfQ6+OF6Ml6aObgpbpAr2L6JW2vjtaTzxziH8aHA4Vs+fwLDVCo4Grm1obEJQ/s0AACGERlmmMy0DEAkgx9Y2RL6usrYBC9buwzeFJVgZPxYzJ3L0Q2XsX0StsPqrU/jj+0cQN7w7UuZFI9TGF37IOoeiqZQyTwihVYba9VLKPGXVXgDRyvokIUQZgELTehvbEPkE01njzedj3T28Oxaszcb+c3q8OmMcHhrHw4dqY/8ist/bXxTipU+O4b5RPfHazPFoE8TTeLaWkFKqXUOztFqtzMnJUbsMIrtYnjUeAEKDAtC9Uygu6KvxxqzxuG90LxUr9HxCiFwppVbtOpyB/Yt8wet7T+CVPcfx4NjeeHX6WAQFMmw1x1YP48FXIieydtb4mgYjzpZVIXWeFpNH9FCpMiKi1pFS4pU9x/HGZycxNaoPVsaPRSAvN3bLGLiInKi5s8MzbBGRt5BS4qVPjmHVlzrMnNAPf/vFaF7b1UEcFyRyIltnh+/Ds8YTkZeQUuIvH32HVV/qMCe2P8OWkzBwETnR0nuGItRiMinPGk9E3sJolPjj+4ex9uvTWHT7IDz/0CiGLSfhIUUiJ9IO7IL2IUGobaiDROPIFs8aT0TewGCUePrdQ9iWcw6/vDMST9w7FMqVFsgJGLiInORsaRVmpWai3mDEe4/cjnH9NC1vRETkARoMRizbeRDv5hfhsbsH4/dxgxm2nIyBi8gJdMXXkZCahZoGA9ITYzGqT2e1SyIisku9wYjfb9uPjw5exB8mD8Gjdw9WuySfxMBF5KCTVyowKzULRqPElsRYDO/VSe2SiIjsUtdgxGNb8vHpkUt46r5hSL4zUu2SfBYDF5EDjl26htmpWQgIENiaFIvBPTqqXRIRkV1qGwx4ZHMeMo5ewZ8eGIFFPxykdkk+jYGL6BYdLirH3NVZCAkKRHpiDCLCO6hdEhGRXWrqDUjamIsvjxfjr1NGYU7sALVL8nkMXES3YP85PeatzkLH0GCkJ8ZgQNf2apdERNQs03Vei/TVCAkKQF2DESseHoPpE/qpXZpfYOAiaqXcM2WYvyYbXdoHY0tiLPp2aad2SUREzdqVX4SlOw+g3tB4/eTaBiMCBXgRajdi4CJqhSxdKRauy0aPTqFIT4xBr848gzwReb4/f3ikKWyZGGTjcl87T6BpJO+Cvhq9PehciAxcRDbsyi/Ccx8cgb66HgDQISQQtQ1GDOjaHulLYtC9U6jKFRIR2edqVX2rlnurXflFeOrdQ6iuNwAAivTVeOrdQwCgeujiWCKRFbvyi7B0x4GmsAUA12sNqDdIzJ80gGGLiLxGWWWd2iW4zcrdBU1hy6S63oCVuwtUquh7DFxEVqzcXYB6o7S67u0vdG6uhojo1hRX1GJWSqbN9Zq2wW6sxvUu6KtbtdydGLiIrGjuw+kJH1wiopZcuVaDmSnf4kxZJX7940gEW1yEOjhA4Lmfj1SpOtforbE+r9bWcnfiHC4ihflEywAhYJDWR7g84YNLRNSci+XVSEjNwpVrNVi/cCJiIrpiSI+OHjmZ3JmW3jP0hjlcANA2OBBL7xmqYlWNGLiIcPNES1thKzhQeMQHl4jIlnNlVUhIy4S+sh4bFscgekAXAI2Txn0tYFkyvT9PDJYOBy4hRDwAPYAoKeUKK+uTlJuRUsonlGXLpZRPCCGSpJQpjtZA5ChrEy0tdWkXjGcfHOkRH1xyDvYv8jVnSiuRkJqFipp6bFoSg7H9NGqX5HaeGiwdClxCiCgAkFJmCCEihBBRUso8s/VxADKklDohxA4hRJyUMgNAktLokh2qnshJbM3LEgBOvXS/e4sht2D/Il9TWHwdCamZqGswIj0xFqP6dFa7JDLj6KT5GWjcOwQAHYA4i/URZst0yn0AmCaljFSaF5HqPHmiJbkM+xf5jBOXKzBjVSYMRoktSQxbnsjRQ4oaAGVm97uar7QYbo8CsM10WwgB2BjGJ3K3qP4aFFmMcnnKREtyGfYv8glHL17DnLQsBAYIpCfG4rbuHdUuiaxwy2khlKH7PabheinlCmXvsKsybG/5+CQhRI4QIqe4uNgdJZIfe33vCXx48CLG99egd+dQCAB9NG3x4tTRHjkPgNyL/Ys82eGicsxKzUSboABsS57EsOXBHB3h0gMIU25rAJTaeFycaU9QmfsAKeVO5fERlg9W9ixTAECr1Vr/uhiRg6SUeGXPcbzx2UlMHd8HK6eNRaDFeWrIp7F/kVfLP3sV89bsQ6fQYGxNikW/sHZql0TNcHSEaxu+bzgRADIAQAjR9LUI5Zs8pmYVh8a5EKa5D5EAchysgajVpJR46dNjeOOzk5ih7cew5Z/Yv8hr5Zwuw9zV+9ClXRtsS2bY8gYOBS7TELvSiPRm3/DZa7Z8uRCiUAhx1Wyb6cqeYqH5t4KI3EFKib989B1WfaHDnNj+eHHqaIYtP8T+Rd7q28JSzFuzD907hmB78iT07cKw5Q0cPg+XtfPQSCmjlX8zAHSxZxsidzAaJf70wWFsyjyLRbcPwh8fGA5lAjT5IfYv8jZfnSjBkg3Z6NelHTYnxqB7x1C1SyI78Uzz5DcMRomn3z2EbTnnkHxnBJ68dxjDFhF5jc+PXUHyplxEdGuPzUti0LVDiNolUSswcJFfaDAYsWznQbybX4THfnIbfj95CMMWEXmN/xy5hEfS8zC0Z0dsXBSDLu3bqF0StRIDF/m8eoMRj28/gA8PXMAfJg/Bo3cPVrskIiK7/fvQRTy2JR8j+3TGhkUT0bltsNol0S1g4CKfVtdgxGNb8vHpkUt46r5hSL4zUu2SiIjs9v7+Ijy+/QDG99Ng7cIJ6BjKsOWtGLjIZ9U2GPDI5jxkHL2CPz0wAot+OEjtkoiI7LYz9zyW7jyAmEFhWD1/AtqH8H/Z3oy/PfJJNfUGJG3MxZfHi/H8lFGYGztA7ZKIiOy2Zd9ZPP3eIdwe2Q2p87Ro2yZQ7ZLIQQxc5HOq6hqwZH0OvtWVYvnDozFjQn+1SyIistuGb0/jT+8fwY+HhuPtOdEIDWbY8gUMXORTrtc2YNG6bOScLsPfp43F1Ki+apdERGS3tP/p8NePj2LyiB54M2E8QoIYtnwFAxf5jGs19ViwZh8OnC/HazPH48GxvdUuiYjIbm/99yRWfFqAn43uiddmjkdwoKNX3yNPwsBFPqG8qh7z1mThyIVr+GfCeNw7qpfaJRER2UVKidf3nsSrGcfx0Lje+Pu0sQhi2PI5DFzk9coq6zAnLQsnr1zH23OiETeih9olERHZRUqJl/9TgH9+XoiHo/piRfwYXtvVRzFwkVcruV6L2alZOF1aiZR50fjx0O5ql0REZBcpJV785BhSvtRh1sR+eGHKaAQwbPksBi7yWleu1SAhLQvnr1ZhzYIJuP22bmqXRERkFykl/vzhd1j3zWnMmzQAzz04kmHLxzFwkVe6WF6NhNQsXLlWg/ULJyImoqvaJRER2cVolHjm/cNIzzqLJT8chP93/3Be29UPMHCR1zlXVoWEtEzoK+uxYfFERA8IU7skIiK7GIwST75zEDtyz+NXP47EsnuGMmz5CQYu8ipnSiuRkJqFipp6bFoSg7H9NGqXRERklwaDEf+34wB27b+A3949GL+LG8yw5UcYuMhrFBZfx+zULNQ2GJCeGItRfTqrXRIRkV3qDUb8btt+fHzwIpbeMxSP3HWb2iWRmzFwkVc4cbkCs1KzAEhsSYrFsJ6d1C6JiMgudQ1GPLolD7uPXMb/+9lwJP4oQu2SSAUMXOTxjl68hjlpWQgIENiSGIvbundUuyQiIrvU1Bvw6815+OzYFTz34AgsuH2Q2iWRShwOXEKIeAB6AFFSyhX2rG9pGyKTw0XlmLM6C6FBgUhPjEFEeAe1SyIfwv5FrlRdZ0DSxhz870QJXvjFKMyOGaB2SaQih64dIISIAgApZQYAvel+c+tb2obIJP/sVcxKzUT7NkHYnjyJYYuciv2LXKmqrgGL1mXjq5MlWBE/hmGLHAtcAGagcU8PAHQA4uxY39I2RMg5XYa5q/ehS7s22JYci/5d26ldEvke9i9yieu1DViwJhtZp0rxyvSxmK7tp3ZJ5AEcPaSoAVBmdt/y7JPW1re0Dfm5bwtLsXh9Nnp2CkV6Yix6dg5VuyTyTexf5HTl1fVYsHYfDp4vx+uzxuOBMb3VLok8hEdejlwIkSSEyBFC5BQXF6tdDrnRVydKsHDdPvTRtMXWZIYt8j7sX/5LX1WHOWlZOFxUjn8mRDFs0Q0cDVx6AKbTfGsAlNqxvqVtIKVMkVJqpZTa8PBwB0skb/F5wRUsWp+NgV3bY0tSLLp3ZNgil2L/Iqcpq6zDrNQsFFyqwNtzonHvqJ5ql0QextFDitsAaJXbEQAyAEAIoZFS6m2tt7GM/Nie7y7jkc15GNKzAzYuikGX9m3ULpDMkNkAACAASURBVIl8H/sXOUVxRS1mp2XiTGkV0uZr8aMhDNp0M4dGuKSUeQAghIgDoDfdB7DX1vpmtiE/9e9DF/GrTbkY3rsTNi+JZdgit2D/Ime4fK0GM1O+xbmyaqxdMIFhi2xy+DxcUsoUK8uiW1h/0zLyT+/vL8Lj2w9gXD8N1i2cgI6hwWqXRH6E/YsccUFfjYTUTBRX1GL9oomYOCis5Y3Ib/FM86SanbnnsXTnAUwcGIY1CyagfQj/HInIO5wrq8Ks1EyUV9Vjw+IYRA/oonZJ5OH4fzhSxZZ9Z/H0e4dwe2Q3pM7Tom2bQLVLIiKyy+mSSiSkZqKyzoDNiTEY01ejdknkBRi4yO02fHsaf3r/CH48NBxvz4lGaDDDFhF5h5NXrmN2WibqDRLpiTEY2buz2iWRl2DgIrdK+58Of/34KCaP6IE3E8YjJIhhi4i8Q8GlCsxOywIAbEmMxdCeHVWuiLwJAxe5zVv/PYkVnxbgZ6N74rWZ4xEc6JHn3SUiusl3F65hzuosBAUIpCfG4rbuvLYrtQ4DF7nFaxkn8GrGcfx8bG+8Mn0sghi2iMhLHDpfjjmrs9CuTSDSE2MxqFt7tUsiL8TARS4lpcTf/3Mcb35+Eg9H9cWK+DEIDBBql0VEZJe8s1cxf80+dG4bjC2JsegX1k7tkshLMXCRy0gp8eInx5DypQ6zJvbDC1NGI4Bhi4i8RPbpMixYsw/dOoYgPTEWfTRt1S6JvBgDF7mElBJ//vA7rPvmNOZNGoDnHhzJsEVEXuObwhIsXpeDXppQbEmMRY9OvLYrOYaBi5zOaJR45v3DSM86i8U/HIRn7h8OIRi2iMg7fHm8GIkbcjCgaztsXhKL8I4hapdEPoCBi5zKYJR48p2D2JF7Hr/6cSSW3TOUYYuIvMZnxy7jlxvzENm9AzYtnoiuHRi2yDkYuMhpGgxGLN15EO/lF+G3dw/G7+IGM2wRkdfYfeQSfpOeh2E9O2Hj4onQtGujdknkQxi4yCnqDUb8btt+fHzwIpbeMxSP3HWb2iUREdnt44MX8dut+RjdtzPWLZyIzm2D1S6JfAwDFzmsrsGIR7fkYfeRy3j6Z8OQ9KNItUsiIrLbrvwiPL59P6IHdMGaBRPQMZRhi5yPgYscUlNvwK835+GzY1fw7IMjsPD2QWqXRERktx0557DsnYOIHdQVafO1aB/C/y2Sa/Avi25ZTb0BiRty8L8TJXjhF6MwO2aA2iUREdktPessnn7vEO4Y3A0pc7Vo24bXdiXXYeCiW1JV14DF63KQeaoUK+LHYLq2n9olERHZbf03p/HsB0fwk2Hd8dbsKIQGM2yRazFwUatdr23AorXZyDlThlemj8UvxvdVuyQiIrulfqnDC/8+ip+O6IE3E6LQJojXdiXXY+CiVimvrseCtftw8Hw5Xp81Hg+M6a12SUREdvvn5yexcncB7h/dC/+YOQ7BgQxb5B4MXGQ3fVUd5q3Zh6MXr+GfCVG4d1RPtUsiIrKLlBL/yDiB1/aewJRxvfHytLEIYtgiN3L4r00IES+EiBNCLLOxPkn5b7nZsuWmdY6+PrlHWWUdElKzcOxiBd6eE82wRT6DPcz3SSmxcncBXtt7AvHRffH36eMYtsjtHPqLE0JEAYCUMgOA3nTfbH0cgAwpZQqACOU+ACQJIQoB6Bx5fXKP4opazEz5FoXF15E2X4u7h/dQuyQip2AP831SSrzw8VG89d9CJMT0x4qHxyAwgFfAIPdzNOLPAKBXbusAxFmsjzBbplPuA8A0KWWk0uTIg12+VoOZKd/iXFk11i6YgB8NCVe7JCJnYg/zYUajxHMfHEHaV6ew4AcD8cKUUQhg2CKVODqHSwOgzOx+V/OVyl6hSRSAbabbyjX2oqSUKyyfVBmmTwKA/v37O1gi3aoL+mokpGaiuKIW6xdNxMRBYWqXRORsTu9h7F/q25VfhBWfHsOF8hoAwF1Dw/HsgyN4bVdSlVsOYivD9HuklHkAIKVcoewZdjUbom8ipUyRUmqllNrwcI6oqOFcWRVmpHyL0ut12LA4hmGL/Fprehj7l7p25RfhyXcONoUtAPi2sBTv77+gYlVEdoxw2ZgUqjPNeQBg+j+xBkCpjaeJM+0FCiHiAUBKuVN5fISNbUglp0sqkZCaico6AzYnxmBMX43aJRHdMvYw/7Li02OoaTDesKymwYiVuwswZXwflaoisiNwWQypW9oGQKvcjgCQAQBCCI2UUq/cTjJrVHFonAdhmmgaCWDVrZVOrnDyynXMTstEvUEiPTEGI3t3VrskIoewh/m2XflFWLm7ABf01ejVOfSGkS1zF/TVbq6M6EYOHVI0Da8rTUhvug9gr9ny5UKIQiHEVbNtpit7iYVm25DKCi5VYGZKJgxGiS2JsQxb5PPYw7zbrvwiPPXuIRTpqyEBm2ELAHpr2rqvMCIrHD7xqbW9RylltPJvBoAu9mzjCcz3lHpr2mLpPUP9Zgj6uwvXMGd1FoICBNITJ+G27h3ULonILXyph/mblbsLUF1vaPFxbYMDsfSeoW6oiMg2nmleYdpTMn14i/TVeOrdQwDgc6HLMljOnNAPaV+dQrs2gUhPjMWgbu3VLpGIqEXNHSYMFAJGKf1u55k8FwOXwtqeUnW9wecmWu7KL8LSHQdQb5QAGoPl3/ccR1j7NtiePAn9wtqpXCERkX16dg7FRRuHEY1S4tRL97u5IiLbeG0Dha09JV+baPncB0eawpa5hgYjwxYReY2KmnqEBgfaXM85W+RpGLgUtj6cvvah1VfXW11+rbbBzZUQEd2a8up6zF29D+fKqnDH4G6wPJ0p52yRJ2LgUiy9ZyjaWuwt8UNLRORZ9FV1mJ2WiSMXyvHW7ChsXByDV2eMQx9NWwgAfTRt8eLU0T41FYR8A+dwKUwfTl//lmKHkEBcr735Wz1d2gWrUA0Rkf1Kr9didloWdCWVSJmrxV3DugNo7N++1qvJ9zBwmfH1D+3uI5dQXW+EAGA+iys4UODZB0eqVRYRUYuuVNRgdmoWzl2twur5WtwxmJdNIu/CQ4p+4uODF/HI5jyM7tMZL/xi1A3D7yvjx/p00CQi73apvAYzV2WiSF+NtQsmMmyRV+IIlx/YlV+Ex7fvR/SALlizYAI6hgYjIWaA2mUREbWoSF+NhNRMlF6vw/pFEzFhYFjLGxF5IAYuH7cj5xyWvXMQsYO6Im2+Fu1D+CsnIu9wrqwKs1IzUV5dj42LJ2J8/5tO+k/kNfh/Xx+WnnUWT793CHcM7oaUuVq0bWP7nDVERJ7kVEklElIzUV1vQPqSWIzuy2u7kndj4PJR6785jWc/OIK7hobjX3Oimz1BIBGRJzl5pQIJqVloMEqkL4nFiN6d1C6JyGEMXD4o9UsdXvj3UUwe0QNvJoxHSBDDFhF5h4JLFZidlglAYGtSLIb06Kh2SUROwW8p+ph/fn4SL/z7KO4f3QtvzY5i2CIir/HmZydw32tfouR6HQIE8N2Fa2qXROQ0HOHyEVJKvLb3BP6RcQJTxvXGy9PGIiiQeZqIvMPre0/glT3Hm+5fqajFU+8eAgCetoZ8Av+P7AOklFi5uwD/yDiB+Oi++Pv0cQxbROQ1cs9cxatmYcukut6AlbsLVKiIyPk4wuXlpJR44eOjSPvqFGZN7I8XpoxCQIDlpVyJiDxTlq4Ui9Zl33D1C3MX9NVurYfIVTgM4sWklHjugyNI++oU5k8agL/9gmGLiLzHNydLsGBtNnp2DkXPTqFWH9Nb09bNVRG5BgOXlzIaJZ5+7zDWf3sGiXcMwnM/HwkhGLaIyDt8cbwYC9dlo39YO2xNmoQn7xuGthanr2kbHIil9wxVqUIi53I4cAkh4oUQcUKIZTbWL1f+TbJ3G2qewSix7J2D2LLvLB65KxJP/2w4wxbRLWIPc7+9Ry8jcX0OIsM7YEtSLMI7hmDK+D54ceroG67z+uLU0ZwwTz7DoTlcQogoAJBSZgghIoQQUVLKPIuHJQkh4gEkt2IbsqHBYMQfdhzA+/sv4Hdxg/HbuwczbBHdIvYw9/v08CU8uiUPw3t1woZFE6Fp16Zp3ZTxfRiwyGc5OsI1A4Beua0DEGflMdOklJFSyoxWbENW1BuM+O3W/Xh//wUsvWcofhc3hGGLyDHsYW704YELeCQ9D6P6dMamJTE3hC0iX+fotxQ1AMrM7ne18pgoJRRESSlX2LONMnSfBAD9+/d3sETfUNtgwG/S87Hnu8t45v7hWHJHhNolEfkCp/cw9i/r3ss/jz9sPwDtgDCsWTgBHUL4JXnyLy7/i1caFIQQk4UQdu0JSilTAKQAgFartfVtYb9RU2/Arzbl4vOCYvz55yMx/wcD1S6JyG+0toexf31vV34RVu4uQJFyaofB3Ttg3aIJaNeGYYv8T4t/9eYTRc3olOF1PYAwZZkGQKnFtvEAIKXcqayLaGkbulF1nQFJG3Pw1ckS/O0Xo5EQwz1motZgD1PHrvwiPPXuIVTXG5qWnSurwn+OXOY8LfJLLQYuZW/Nlm0AtMrtCAAZACCE0Egp9Wic36BT1kcCWAUgx9o2dLPK2gYsXp+NrFNlWPHwGEzT9lO7JCKvwx6mjpW7C24IWwBQ02DEyt0FDFzklxyaNG/6Zo4yzK43+6bOXrP105W9xEIpZV4z25CZipp6zF+zD/tOleHV6eMYtohcgD3MdYpsnCGeZ44nf+XwgXRre49SyugW1je3x+n3yqsbw9bhonK8MSsK94/ppXZJRD6LPcz53vzshM11PHM8+Suead7D6KvqMCctC0culOOt2QxbROQ9pJR4Zc9xvPyf49AO6ILQoBv/F8Mzx5M/Y+DyIKXXazEzJRMFlyuQMleLn47sqXZJRER2kVJi+acFeH3vCUzX9sW25El46eExPHM8kYLfzfUQVypqMDs1C2fLqpA2T4sfDQlXuyQiIrtIKfH8R0ex5utTmB3TH88/NAoBAYJnjicyw8DlAS6V1yAhNRMXy2uwduEE/CCym9olERHZxWiUePaDI9iYeQYLfjAQzz44glfAILKCgUtlRfpqJKRmovR6HTYsnogJA8Na3oiIyAMYjRJPv3cIW7PPIflHEXjyvmEMW0Q2MHCp6FxZFWalZqK8uh4bF0/E+P5d1C6JiMguBqPEsp0H8U7eeTz6k9vw+GRe25WoOQxcKjlVUomE1ExU1RmQviQWo/t2VrskIqJmmV+qp21wIKrrDXh88hA8dvdgtUsj8ngMXCo4eeU6ElIz0WCU2JIYixG9O6ldEhFRs57ZdQibM8/CdHHI6noDggIE+oe1U7UuIm/B00K4WcGlCsxM+RZGCWxNYtgiIs+3K7/ohrBl0mCUWLm7QJWaiLwNA5cbHblQjpkp3yIwQGBbciyG9OiodklERC1aubvgprBlwkv1ENmHhxTd5OB5Peau3of2bQKRnhiLgd3aq10SEZFdbF0XEeCleojsxREuN8g9cxWzU7PQMTQI25InMWwRkdeorG1Am0Dr/6sQAC/VQ2QnBi4X23eqDPNWZ6FrhzbYnjwJ/TjBlIi8REVNPeat2YcGoxHBgTee8kEAmB3bn2eSJ7ITDym60DcnS7B4fQ56a0KRnhiLHp1C1S6JiMgu5VX1mLd2H44UleOfCVGobTBi5e4CXNBXo7emLZbeM5Rhi6gVGLhc5IvjxUjakIOBXdtj05IYhHcMUbskIiK7XK2sw5zVWThx+Tr+NScak0f0AAAGLCIHMHC5wN6jl/GrTXm4rXsHbFoSg7D2bdQuiYjILiXXazEnLQu6kkqsmheNu4Z2V7skIp/AwOVknx6+hEe35GF4r07YsGgiNO0YtojIO1y5VoOEtCycv1qFNfMn4IeDu6ldEpHPYOByoo8OXsBvt+7HmL6dsX7RRHQKDVa7JCIiu1wqr0FCaiYuXavBuoUTERvRVe2SiHwKA5eTvJd/Hn/YfgDaAWFYs3ACOoTwR0tEns382oiBAQJBAQKbl8RAOzBM7dKIfI7Dp4UQQsQLIeKEEMusrIsSQkghRKHy3ypl+XLl3yRHX98TbM8+h8e3H0BsRFesW8SwReRN/LWH7covwlPvHmo6qanBKAEJnL/KM8cTuYJDgUsIEQUAUsoMAHrTfTNhUkohpYwEMA3AcmV5khCiEIDOkdf3BJsyz2DZOwfxw9u6Yc2CCWjXhmGLyFv4cw9bubsA1fWGG5bVGoy8NiKRiziaDmYA2KPc1gGIA5BnWqk0MZMIKeVO5fY0i3VexXwYHgBG9OqE1HlahAYHqlwZEbWSX/YwwPblenhtRCLXcPSQogZAmdl9q7MshRBxAMybU5StIXzl8UlCiBwhRE5xcbGDJTqX5TA8AOiKr+PTw5dUrIqIbpHTe5gn9y+TY5euIUBYX8drIxK5hrsu7TNZSqk33ZFSrlD2DrsqjewGUsoUKaVWSqkNDw93U4n2sTYMX9PAYXgiH2d3D/Pk/gUAh4vKMSslEx1DgxESdOP/AtoGB/LaiEQu0uIhRRuTQnWmOQ8ATF9n0QAotfE0TfMihBDxAKAMzZcCiGhNwWqSUnIYnsjLsId9b/85PeatzkLH0GCkJ8Yg/6yel+shcpMWA5eUMqWZ1dsAaJXbEVCG3IUQGtPeoBAiAo1NzUSH7yeaRgJY1cqaVSGlxIpmRrE4DE/kmdjDGuWeKcP8Ndno0j4YWxJj0bdLOwzo2p4Bi8hNHDqkKKXMA5rmN+hN9wHstXhomcU205W9xEKzbTyWlBJ//fgo/vXfQvwgsitCOQxP5BP8pYdl6Uoxd/U+hHcMwfbkSejbpZ3aJRH5HYfPYWBt71FKGW12WwcguaVtPJXRKPHch0ew4dszWPCDgXj2wRF4f/8FDsMT+Qhf72FfnyzB4vXZ6NulHdKXxKB7p1C1SyLySzxpVDOMRomn3zuErdnnkPyjCDx53zAIITBlfB8GLCLyeP8tuILkjbkY1K09Ni2JQbcOIWqXROS3GLjMPLPrEDZnnoVU7gcFCDQYJX5z1234w0+HQAgb36MmIvIwGd9dxq8352Fwjw7YtDgGXdq3UbskIr/mrtNCeLxndh3CJrOwBQANRgkhgNu6d2DYIiKv8cmhi/jlplwM79UR6UtiGbaIPAADl2JT5lmry6UEz7FFRF7jgwMX8Jst+RjbT4ONS2LQuV2w2iUREXhI0S48xxYReYN3cs9j6c4D0A4Mw5oFE9AhhC2eyFPw02gHnmOLiDzdtuyzePLdQ/hBZFekztOiXRu2dyJPwk8kgOo6Q7PreY4tIvJkG789jT++fwR3DgnHqrnRCA0OVLskIrLg94GrsrYBi9ZlQwA3TJg3uT0yjKeAICKPtfqrU3j+o+8QN7w7/jk7CiFBDFtEnsivJ81X1NRj/pp9yDlzFf+YOQ5zYvsjUPk2YqAQmBPbH5sTJ6lcJRGRdW9/UYjnP/oO943qibdmRzNsEXkwvx3hKq+qx7y1+3CkqBxvzhqP+0b3wkPj+uCvU0arXRoRUYte33sCr+w5jgfH9sar08ciKNCv95+JPJ5fBq6rlXWYszoLxy9X4F9zojF5RA+1SyIisouUEq/sOY43PjuJqeP7YOW0sQgM4HkCiTyd3wWukuu1mJOWBV1JJVLmaXHX0O5ql0REZBcpJV769BhWfaHDDG0//G3qaIYtIi/hV4HryrUazE7LwrmrVVgzfwJ+OLib2iUREdlFSom/fPQd1n59GnNi++MvPx+FAIYtIq/hN4HrUnkNElIzcelaDdYtnIjYiK5ql0REZBejUeJPHxzGpsyzWHT7IPzxgeG83BiRl/GLwHX+ahUSUrNQVlmHDYsmQjswTO2SiIjsYjBKPP3uIWzLOYfkOyPw5L3DGLaIvJDPB66zpVWYlZqJazX12Lh4Isb376J2SUREdmkwGLFs50G8m1+Ex35yG34/eQjDFpGX8unAdaqkErNSMlHTYMCWxFiM6tNZ7ZKIiOxSbzDi8e0H8OGBC/jD5CF49O7BapdERA7w2cB18koFZqVmwWiU2JIYi+G9OqldEhGRXeoajHhsSz4+PXIJT903DMl3RqpdEhE5yClnyhNCRDWzLl4IESeEWNbcMmc6dukaZqzKBABsTWLYIqLmeVIPq20w4Nebc/HpkUv40wMjGLaIfITDgUsIEQcg1ca6KACQUmYA0Ashoqwtc7QGc4eLyjErJRPBgQHYlhSLwT06OvPpicjHeFIPq6k3IHFDLjKOXsHzU0Zh0Q8HOeupiUhlDgcupemU2Vg9A4Beua0DEGdjmVMcOKdHQmom2rUJwrbkWESEd3DWUxORj/KUHlZV14BF67LxvxPFWP7waMyNHeCMpyUiD+HqOVwa3NjIutpY5rDcM2VYsCYbmvbB2JIYi75d2jnjaYnIv7mlh12vbQxbOafL8PdpYzE1qq+jT0lEHsYjr3YqhEgSQuQIIXKKi4vt2uY/311Gt44h2J48iWGLiFRzK/3r5JXr+O7CNbw2czzDFpGPanGESwiRZGWxThmGb4kegOksoxoApcpta8uaSClTAKQAgFarlXa8Dp68dxh+dWckNO3a2PNwIvIT7u5ht9K/xvXT4H/L7kKX9uxfRL6qxcClNI9WEUJopJR6ANsAaJXFEQBMDc7aMocIIRi2iOgm3tLDGLaIfJszvqUYD0Cr/GuyFwCklHnKY+IA6KWUedaWOVoDEdGtYg8jIncQUto14q0arVYrc3Jy1C6DiNxECJErpdS2/EjPx/5F5H9s9TCPnDRPRERE5EsYuIiIiIhcjIGLiIiIyMUYuIiIiIhcjIGLiIiIyMUYuIiIiIhczONPCyGEKAZwxs6HdwNQ4sJyPIU/vE9/eI8A36c1A6SU4a4sxl1a2b8A//h78If3CPjH+/SH9wi0/n1a7WEeH7haQwiR4yvn72mOP7xPf3iPAN8n3cgffk7+8B4B/3if/vAeAee9Tx5SJCIiInIxBi4iIiIiF/O1wNXqi9R6KX94n/7wHgG+T7qRP/yc/OE9Av7xPv3hPQJOep8+NYeLiIiIyBP52ggXEalMCBHVzLp4IUScEGKZO2siIrKXq3qYTwUuNnrv1NLvxld+d3a8z+XKv0nurcx5hBBxAFJtrIsCACllBgB9c59Xf8T+5Z3Yv5rWe33/Alzbw3wmcPlLo/e1P/qWfje+8ruz830kCSEKAejcWpwTKe+vzMbqGQD0ym0dgDi3FOUF2L+a1rN/eSB/6V+Aa3uYzwQuf2j0PvpH39Lvxid+d7DvfUyTUkYqv19fpMGNn9GuahXiadi/mrB/eSb2r0YO9TCfCVwt8JVG74t/9C39bnzld2fP+4jyhUMP5HS+8hlg//Le3x37lxP4S+DyFfyj92FSyhXK/2i6KoeYfI0eQJhyWwOgVMVayP3Yv3yYH/QvwMEeFuT0clzExjF9nZ17Qn7T6KWUKwBACDFZCBHnBXuKLf1ufOV31+z7EELEA4CUcqeyLsKt1bmQEEIjpdQD2AbAdHmMCACe/rfpNOxf9mH/8lh+278A5/UwrwlcUspWn3jMGxt9C43ZF//orf5uvPF314KW3qcO389biQSwyu0VOoHyN6gVQsQrf4cAsBdAtJQyTwihVfZ+9VLKPPUqdS/2L/YvePjvrgV+0b8A1/YwrwlcLfGVRt9CY/a5P/pmfjde97trjp3vM0kIUQag0Ivf504AOy2WRZvd9pczU7cK+xf7lyfzl/4FuLaH8UzzXkbZg9QBiDD94oUQuaY/CGV9mbJ+hXqVEhHdiP2L/BkDFxEREZGL8VuKRERERC7GwEVERETkYgxcRERERC7GwEVERETkYgxcRERERC7GwEVERETkYgxcRERERC7GwEVERETkYgxcRERERC7GwEVERETkYgxcRERERC7GwEVERETkYgxcRERERC7GwEVERETkYgxcRERERC7GwEVERETkYgxcRERERC7GwEVERETkYgxcRERERC7GwEVERETkYgxcfkQIESeEiBdCRJlut2LbCCHEHiFElNmyQtdU2mItUUKIpGbWRwghdgghcpX3Gy+EWC6EiGtm/TJbPw/TduavrWyvMV9HRK5h9pndY/GZjWphu6hb7VPO6m8WPeimHuPKfmVlHfuXioSUUu0ayA1MAUVKmWK2LB7ABCnlE3Y+x3IA26SUea6p0q4a4gBMA5Br/l6sPC4ewGQpZbLZsqsABkkp9TbWLwOgt/gZLZNSrjC7vwNAIgAozxOl3FbtZ0LkDyw/s0IIDYBTUsouLWy3R0o5uYXHJDXXT26V0h/CpJQZyv2mHmTxOJf0Kyv1sH+piCNc/mO5ZUORUu4EEK80LnuUmm4oe112j5A5i9K49tzi5mUAIpp57hUAlpvuCyEiAOgsHqaRUupNDVNpVDNusR4iunVhAOztXTYp/S/ZYpmz+lsEAPOw12wPsuCMfmWJ/UtFDFx+QBkVsvVB1AGIUw4xFir/7jCFMGX4OU7ZE5pgtl0ZlA+7adheeVycEGKVeYgzba8Mk0eYLTN/vSlCiKumPS7lOZY58WcQAdi1J1dmeiyAZCWUmp4jCkCYMqRv3ghLWxFaiejWhZlNKVgOINp8pXKoLU7pWzeFFWu9CI2hRqN8rk2HKM37W5yt3tTS60kpd5qOIJh6hD2jSc7oV1aek/1LZUFqF0BuY+sDFQY0jhwJIXQAyqSU04CmoKYxGw5vCm3KcLROuZ2n3NZJKXXKB1sLIEN5eLKUcpoQAmjck3zCxutNMtUDYIfpdR0QYXoPaBzWj7RzO43FvwCa3meZlaamw43vl4hco0wJIXlKP2k6NGc2bcLUr3agcfqBOWu9KE8IoTf/XFv0twwhRAosepOdr2duOW4c7bLk1H5lif1LfQxc/iEH3zcLSxEAmvaiLPaoJgPIbsXrlNlY/oTSSCJgJcSY3X0RwA4hRA5aHhq3h+4WQluYWU22fmaW9HDCoQ0iarUn8P3hsVMDIwAAIABJREFUwGgAuWajN9amHtjsRS0w702mPmfP6wFomqO1XErZXF9zar9S5tya3mNzr83+5SY8pOgHlOP1T1geolP20FKa+SBm4+Y5BDZDiOVEUOU14qCMaEHZg7I29G62vQ5AUguNySWUn8+LZotsBUhLGpjtaRORWzTNcVIOie0BACmlTukf280f3EIvKjN7zE2U3qRHY28yBZxmX8/idfOU0X+Nrf7XWi31KynlE1LKZOW/5vop+5ebMHD5CWXCvE45ft90Sgiz+QVRALTC7HQLpqFnszlcUQCSlaYRhcYh8CSL2xo0joxNU26XmT2/Bo2BLcLa6ylWoZnRLaV5zVCe32pzVBraDOX5b/rauMX6pq9Zo/EbP+bf8LH8JpHpfVrOLYtA4ygiEbmAWV/Rms1v2glAbxqxMutX8aZl5r0JNnqR8hI7zHuRxXYmL8KsJ1h7PSt1R6Gxp+0QQuSi8VuVOovHuKRf2aiF/UtFPC0EeQQhRISyBxjnhLlbTmFqUM1NRFUet9zeU2sQEbmCvf3KynbsX27CES7yFKZvCLn9UKItyqGDZudxKTVvc09FRETW2dOvLLF/uRdHuIhaYGvUTTnMofWUETkiInuPErB/uR8DFxEREZGL8ZAiERERkYt5/Hm4unXrJgcOHKh2GUTkJrm5uSVSynC163AG9i8i/2Orh3l84Bo4cCBycviNVSJ/IYQ4o3YNzsL+ReR/bPUwHlIkIiIicjEGLiIiIiIXY+AiIiIicjEGLiIiIiIXc0rgsnb9J7N1pmv3LWtuGRGRGti/iMgdHA5cykU7U22siwIA5Uy2eiFElLVljtZARHQr2L+IyF0cDlxK4ymzsXoGvr+CuQ5AnI1lRERux/5FRO7i6jlcGtzYzLraWEZE5GnYv4jIaThpnohcprbBgN+k5+GL48Vql0JE1Grv5p3H0+8dgtHo+HWnXR249ADClNsaAKU2lt1ACJEkhMgRQuQUF7NRE3mjmnoDfrkxFx8dvIizZVVql3Mr2L+I/Nj27HP4w44DOF1SiTqD0eHnc0ngEkJolJvbAEQotyMAZNhYdgMpZYqUUiul1IaH+8Ql1Yj8SnWdAUvW5+C/x4vx4tTRmBs7QO2S7Mb+RUQbM89g2TsHccfgcKxZMAGhwYEOP6czvqUYD0Cr/GuyFwCklHnKY+IA6KWUedaWOVoDEXmOytoGLFy3D18XlmDFw2Mwa2J/tUuyif2LiCyt+eoU/rjrMO4e1h0pc6OdErYAQEjp+HFJV9JqtZIXfyXyDhU19Vi4Nhv55/R4ZfpYPDSuT6ufQwiRK6XUuqA8t2P/IvIuq74oxIufHMO9I3vi9Vnj0Sao9eNStnpYkFMqJCK/V15dj/lr9uFwUTnemDUePxvdS+2SiIjs9sbeE/j7nuN4cGxvvDJ9LIIDnTvrioGLiBx2tbIOc9dkoeBSBd6aHYWfjuypdklERHaRUuLVPcfx+mcnMXV8H6ycNhaBAcLpr8PARUQOKbleizlpWdCVVCJlrhZ3DeuudklERHaRUuKlT49h1Rc6zND2w9+mjnZJ2AIYuIjIAVcqajA7NQvnrlZh9Xwt7hjMb+URkXeQUuL5j45izdenMCe2P/7y81EIcFHYAhi4iOgWXSqvQUJqJi5dq8HaBRMxKZInXSci72A0Sjz7wRFszDyDhbcPxJ8eGAEhXBe2AAYuIroFRfpqJKRmovR6HTYsmgjtwLCWNyIi8gBGo8TT7x3C1uxzSL4zAk/eO8zlYQtg4CKiVjpbWoVZqZm4VlOPjYsnYnz/LmqXRERkF4NRYunOA3g3rwiP/uQ2PD55iFvCFsDARUStcKqkEgmpmaiuNyB9SSxG9+2sdklERHZpMBjx++0H8OGBC3h88hA8dvdgt74+AxcR2eXklQokpGahwSiRviQWI3p3UrskIiK71DUY8dut+fjk8CU8ed8w/PLOSLfXwMBFRC0quFSB2WmZwP9v787DojrvL4Cfl00WEQRRI+IC7jswwtikTZuQmjZJYxLjgrghYJukTdPWNGnTPW2itkmbNmlkERdESUxKmuSXmGjTpLGZAQR3RQUXBBcEh30ZZt7fHxksKsvgLHeW83mePMzMnQtnHPLlzJ0790JgR5oaE4YFKh2JiMgsbR0GPL6tGLuPXcYv7p+CVXeMVSQHCxcR9epwZR2WZmnh4+WB3FQ1osIGKh2JiMgsrXoDVm/dh09PVON386ZhqXq0YllYuIioRwcqdFiapUWgrzdyU+MxOjRA6UhERGZpbu9A6pYi/LesBmsfmY6Fs0cpmoeFi4i6te/sVazYWIDgAG/kpqgREeKvdCQiIrM0tnUgeVMhis7U4o/zZ+KR2JFKR2LhIqKbactrkLypEEMH+WJbSjxGBPspHYmIyCz1rXqszC7E/god/rwoGt+ZOULpSABYuIgIQH5JJdbvKkWVrgUhAT5oaO1ARIgftqeqMXSQr9LxiIjMUtesx7KNWhypqsffFkfjW9NvUzrSNSxcRG4uv6QSz759CC16AwCgpqkdAsCKr4xh2SIip1Hb1I6lWVqcvNSI15NikTBlmNKRrsPCReRmum7NGhHsh+b2jmtlq5ME8Pqn5Vg6Z4wiGYmI+uNKYxuSMrUov9KE9GWx+PrEoUpHugkLF5EbuXFrVqWupcf7VvWyjIjIUVyub0ViphbnrzYje8Vs3D5uiNKRusXCReRG1u8qvWlrVk+4ozwROboLdS1IzNDiUn0rNq2MgzoyVOlIPWLhInIT+SWVvW7R6srP2xNr5k60cSIiolt3/mozEjO0uNrUjq2r4hA7OkTpSL3ysPQbCCHmCyEShBBPd7MsRgghhRBlpv82mG5fa/qaZunPJ6K+db6V2BNfL4HwYD8IAOHBfnjh4emYFx1uv4AK4fwick5na5qwcIMGuuZ2bE2Jd/iyBVi4hUsIEQMAUsrdQohIIUSMlLK4y11CpJSiy311ptvThBDzAay25OcTkXn6eivRz8cLe5+5y46JlMf5ReScyqsbkZihRWuHAbmpakwLD1I6klks3cK1EP8bQuUAEroulFLu7nI1UkpZbrr8qJQy6oblRGQjfe0Ar2vW2ymJQ+H8InIyJy81YGG6BnqDETvSnKdsAZYXrmAAtV2ud7u3mhAiAUDX4RTT02Z8IrK+vnaAd9Md5Dm/iJzIsQv1WJSuAQDsSFNj0vBBCifqH4v34TLTPVLKzleSkFKuM706DDUNs+sIIdKEEEVCiKLq6mo7RSRyXWvmToSXh+h2GXeQ7xPnF5HCDlfWYXGGBt6eHshLU2P8sEClI/WbpYVLB6BzT7VgADU93C+m84JpJ9X5pqs1ACJvvLOUMl1KqZJSqsLCwiyMSOTepJQor25Eh1HCz9sTAOApvixf7rSDfDc4v4icwP4KHRIzNAjw8ULeajUiwwYqHemWWHpYiDwAKtPlSJg2uwshgjtfEQohIvG//SSAL/eV6NwXIgrABgszEBFuPoL8mrkT8eCsEVj7YSle/7QMC1Qj8cLDM+DZw5YuN8T5ReTgis7UYkV2IUICfJCbGo+Rg/2VjnTLLCpcUspiIYTKtFld1+UTPnsAxHa5a+0N66QJIWoBlN3wqSAiugXdHUH+mbcO4h8llfj0RDWS1KPw2+9MgwfL1jWcX0SOTVNeg+RNhRg+yBfbUuNxW5Bz72sqpJRKZ+iVSqWSRUVFSscguk53W5OUfFvu9hf/1eNBTVfePga/vH8KhHCOsiWE2CelVPV9T8fH+UV0az4/eQUpWwoRMdgf21LiMXSQr9KRzNbTDOOR5on6qbutSZ0HFVWqdPV22IcZ4UFOU7aIiD4pvYzVW/chckgAclLiMWTgAKUjWQULF1E/dXcQ0Ra9Aet3lV5bbu8tX77eHmjRG7td9sePTuChmJE2z0BEZKmPj17C49uKMX7YQOSsisfgAB+lI1kNCxdRP/W0NalzS5e9t3w9l3+ox7IF9H3QUyIiR/DBoQv4/vYSTA0PwpaVcQjy91Y6klXZ6zhcRC6jp4OEegrR65YvW9mureh1uZse1JSInMg7+yvxxPYSzIwIRs4q1ytbAAsXUb+tmTvx2vGsOvl5e8LQwwdQbL2FqaefC/CgpkTk+HbuO4+n8vYjdvRgbEmOQ6Cv65UtgG8pEvVb59uDN+6rtX5XabefFLT2Fqbn8g9hm/YczPmAsRsf1JSInMCOgnN49h+H8JWoUGQsU8Hfx3Vries+MiIbmhcd3m2R6boPF2D9LUzP5R9CjuacWfdNUo9i2SIih7X1izP4xTtHcOeEMGxYGgvfG945cDUsXERW0tOWL2uWnr721wK+3JdscXwEnp833Wo/l4jImrI+P43fvXcUCZOH4dUl0Rjg5dplC2DhIrKqnrZ8WUtv+2sJAKdfvM9mP5uIyBr+/u8yrP3wOL41bTj+sigaPl7usTs5CxeRE/EA0NMBIPhpRCJydK/sOYmXPj6B78wcgZcWzISXp3uULYCfUiRyGleb2nv8qLSHAD+NSEQOS0qJP31Uipc+PoGHY8Lx8sJZblW2ABYuIqdwpbENizM0aGo34K5JYeh6ph5/bw+8tGAWd5AnIockpcSLHxzHX/91CotmR+CP82fC08P9TjfGtxSJHNzl+lYkZmpx/mozslfMxu3jhigdiYjILFJK/Pa9o8jeewZL1aPxm+9MhYcbli2AhYvIoV2oa0FihhaX6luxaWUc1JGhSkciIjKL0Sjxi3cOY5v2HJJvH4tf3D8ZQrhn2QJYuIgc1vmrzUjM0KK2qR1bkuOgGhOidCQiIrMYjBLPvn0QbxSdx3fvjMJP753o1mULYOEickjnapqxOEODhlY9clLiMSsiWOlIRERm6TAYsWbnQfyjpBI/uHs8nkoY7/ZlC2DhInI45dWNSMzQorXDgNxUNaaFBykdiYjILHqDEU/l7cd7By/gJ9+cgCfuGq90JIfBwkXkQE5eakBiphZGo8SONDUmDR+kdCQiIrO0dxjx/e3F2HXkEn727UlI+1qU0pEcCgsXkYM4dqEeSZlaeHgI7EhTY/ywQKUjERGZpVVvwOPbirHn+GX86oEpWHn7WKUjORwWLiIHcLiyDklZWvh6eSI3NR6RYQOVjkREZJZWvQFpW/fhsxPVeH7eNCSpRysdySFZfOBTIcR8IUSCEOLpHpavNX1NM3cdIneyv0KHxAwNAny8kLdazbJlR5xfRJZpbu9A8qZC/OdkNdY9MoNlqxcWFS4hRAwASCl3A9B1Xr9BmhCiDEB5P9Yhcgv7ztYiKVOLYH8f5K1WY3RogNKR3AbnF5FlGts6sGJjITTlNXhpwUwsmB2hdCSHZukWroUAdKbL5QASurnPo1LKKNOAMncdIpenKa/B0qwChAUOQN5qNUYO9lc6krvh/CK6RfWteizL0mLfuav4y6JoPBQ9UulIDs/SfbiCAdR2ud7dYbBjTMffiJFSrjNnHdPm+zQAGDVqlIURiRxDfkkl1u8qRZWuBSEBPqhv1WN0aAByU+IxdJCv0vHcEecX0S3QNbdj2cYCHLtQj1cTo3HvtNuUjuQUbH7yainlOtOrw1AhhFmvBqWU6VJKlZRSFRYWZuOERLaXX1KJZ98+hEpdCySAmqZ2dBgkls8ZzbLlwDi/iK5X29SOxAwtjl9owOtJsSxb/WBp4dIB6DzfSDCAmq4LTTuXzjddrQEQ2dc6RK5o/a5StOgN190mAbz+abkygQjg/CLql+qGNixO16CsuhEZy1W4e/IwpSM5FUsLVx6+HEIwfd0NAEKIzvOQlHfeBiAKQFFP6xC5sipdS79uJ7vg/CIy06X6VixK/wLnapuRvWI27pzArbf9ZdE+XFLKYiGEyrSpXSelLDYt2gMg1rQ8TQhRC6Csc3kP6xC5jK77a40I9oO/jyea2g033W9EsJ8C6Qjg/CIyV5WuBYkZGlQ3tGFzchzixob0vRLdxOIDn0op07u5LbaP5TfdRuQq8ksqsebNA9AbJQCg0rQVS+DLtxE7+Xl7Ys3cifYPSNdwfhH1rqK2GYmZGuia9NiyKh6xowcrHclp2XyneSJ3s+bN/dfKVlcDvATCg/0gAIQH++GFh6djXnS4/QMSEZnhbE0TFqVrUNesR04Ky5aleGofIit6Lv8Q9Mbul7V2SOx95i77BiIiugVl1Y1IzNCgvcOI7WlqTB0RpHQkp8fCRWRF27UVSkcgIrLIiUsNSMzQApDYkTYHE4cHKh3JJbBwEVmRQd78VmKnwf7edkxCRNR/R6vqkZSlhZeHQG7qHIwbynO7Wgv34SKyItHLsl89MNVuOYiI+uvQ+TosztBggJcH8lazbFkbt3ARWYGUEi99fAI9bd+6PSqEO8gTkcMqOXcVyzYWYJCvN3akqRERwnO7WhsLF5GFpJR48YPj2PBZORbNjoCnB7Cj4DwMUsJTCCyOj8Dz86YrHZOIqFuFZ2qxMrsQoQN9kJuqRjiPD2gTLFxEFpBS4rfvHUX23jNYqh6N33xnKjw8BH7/0AyloxER9emLshqs2lyI4YN8kZuqxvAgntvVVli4iG6R0Sjxy38eRo7mHJJvH4tf3D8ZQvS2FxcRkeP4z8lqpG4pQsRgf2xLjcfQQJYtW2LhIroFBqPEz94+hLyiCnz3zij89N6JLFtE5DQ+OX4Zq3P2IXJIALalxCN04AClI7k8Fi6ifuowGPH0zoN4u6QSP7h7PJ5KGM+yRURO46MjF/F4bjEmDg/E1uR4DA7wUTqSW2DhIuoHvcGIp/L2472DF/CTb07AE3eNVzoSEZHZ3j94AU/uKMG08CBsTo5DkB+PD2gvLFxEZmrvMOL724ux68glPPutSVh9Z5TSkYiIzPbO/ko8lbcfMaMGI3vlbAT6smzZEwsXkRnaOgx4LKcYe45fxi/vn4LkO8YqHYmIyGw7953Hmp0HED82BFnLZyNgAP/82xv/xYn60Ko3IG3rPnx2ohrPz5uGJPVopSMREZlte8E5/Owfh3DHuCFIX6qCn4+n0pHcEgsXUS+a2zuQsrkIX5TXYN0jM7BgdoTSkYiIzLblizP45TtH8I2JYfh7Uix8vVm2lMLCRdSDxrYOJGcXouhsLV5aMBMPRY9UOhIRkdky/1OO598/hnumDMPfEqMxwItlS0ksXETdqG/VY8XGAhw4X4e/LIrGAzNHKB2JiMhsr/37FNZ9WIpvTx+OvyyKhrenh9KR3B4LF9EN6pr1WLZRi6MX6vFqYjTunXab0pGIiMwipcQre07h5d0n8OCsEfjTozPhxbLlECx+FoQQ84UQCUKIp3tYnmb6b22X29Z2LrP05xNZU21TOxZnaHDsQgNeT4pl2XJxnF/kSqSU+ONHpXh59wnMjx2JlxbMYtlyIBY9E0KIGACQUu4GoOu83mV5AoDdUsp0AJGm6wCQJoQoA1Buyc8nsqbqhjYsTtegrLoRGctVuHvyMKUjkQ1xfpErkVLiD/93DK9+UobFcaOw7pEZ8PTgGTAciaXVdyEAnelyOYCEG5ZHdrmt3HQdAB6VUkaZBh2R4i7Vt2JR+hc4V9uM7BWzceeEMKUjke1xfpFLkFLiN+8eRcZ/TmP5nNH4w0PT4MGy5XAs3YcrGEBtl+uhXReaXhl2igGQ13nZdO65GCnluhu/qWlTfRoAjBo1ysKIRL2r0rUgMUOD6oY2bFo5G/GRoX2vRK6A84ucntEo8dw7h5GrPYeUO8bi5/dN5rldHZRd3tw1bar/WEpZDABSynWmV4ehXTbTXyOlTJdSqqSUqrAwbmkg26mobcbC9C9Q09iOLaviWbboJpxf5KgMRomfvnUQudpzeOzrUSxbDs7SLVw6ACGmy8EAanq4X0LnK0EhxHwAkFLuNN0/sod1iGzqbE0TEjO0aGjVIyclHjMjgpWORPbF+UVOq8NgxE/ePID8/VX4YcJ4PHn3eJYtB2fpFq48/G/gRALYDQBCiGt/uYQQaV2GVQK+3Beic9+HKABFFmYg6rey6kYs2PAFmts7kJuqZtlyT5xf5JT0BiOe3LEf+fursGbuRPwwYQLLlhOwqHB1bmI3DSJd53UAe7rcvlYIUSaEuNplnQWmV4plXdYhsosTlxqwcIMGBqPE9jQ1poUHKR2JFMD5Rc6orcOAx7cV4/1DF/Dzb0/G498Yp3QkMpPFBz69YcfSzttiTV93AxhszjpE9nC0qh5JWVp4eQjkpqoxbmig0pFIQZxf5Exa9QY8tq0Y/zp+Gb9+YApW3D5W6UjUDzzSPLmNw5V1SMrSws/bE7mpaowdEqB0JCIis7S0G5C2tQj/OXkFf3hoOhLj+QlYZ8PCRW6h5NxVLNtYgEG+3tiRpkZEiL/SkYiIzNLc3oFVm4qgOV2DdfNnYIEqQulIdAtYuMjlFZ6pxcrsQoQE+GB7mhrhwX5KRyIiMktDqx7Jmwqx7+xVvLxgFuZFhysdiW4RCxe5tC/KarBqcyGGD/JFbqoaw4N8lY5ERGSWuhY9VmQX4OD5OryyOBr3zxihdCSyAAsXuazPT15BypZCRAz2x7bUeAwNZNkiIuega27H0qwCHL9Yj9eWxGDu1OFKRyILsXCRS/rk+GWsztmHyCEB2JYSj9CBA5SORERklprGNiRlFaCsuhEblsbirknDlI5EVsDCRS7noyMX8XhuMSYOD8TW5HgMDvBROhIRkVkuN7QiKVOLszXNyFymwtcm8PRQroKFi1zK+wcv4MkdJZgaHoQtyXEI8vNWOhIRkVku1rUiMVODC7pWZK+Yja+MG6J0JLIiFi5yGe/sr8RTefsRM2owslfORqAvyxYROYdKXQsSMzS40tCGzclxiBsb0vdK5FRYuMgl7Nx3Hmt2HkD82BBkLZ+NgAH81SYi51BR24zFGRrUteixNSUeMaNuOsEBuQD+VSKnt73gHH72j0O4Y9wQpC9Vwc/HU+lIRERmOXOlCYkZGjS1G5Cbosb0kTy3q6ti4SKntuWLM/jlO0fwjYlh+HtSLHy9WbaIyDmcutyIxAwNOowS21PVmDJikNKRyIZYuMhpZf6nHM+/fwz3TBmGvyVGY4AXyxYROYfSiw1YkqkBILA9VY2JwwOVjkQ2xsJFTum1f5/Cug9L8e3pw/GXRdHw9vRQOhIRkVmOVtUjKUsLLw+B3FQ1xg0dqHQksgMWLnIqUkq8sucUXt59Ag/OGoE/PToTXixbROQkDp7XYWlWAQJ8PJGbqsaYIQFKRyI7YeEipyGlxB8/KsWrn5ThkZiRWDd/Bjw9hNKxiIjMUnzuKpZnFSDI3xvbU9WICPFXOhLZEQsXOQUpJf7wf8eQ8Z/TWBwXgd/Pmw4Pli0ichIFp2uxMrsAQwIHIDdVjfBgP6UjkZ2xcJHDk1LiN+8exab/nsGyOaPx6wemsmwRkdP4b9kVrNpUhNuCfbE9VY1hg3yVjkQKYOEih2Y0Sjz3zmHkas8h5Y6x+Pl9kyEEyxYROYfPTlQjdUsRRof6Y1uKGmGBA5SORAqxuHAJIeYD0AGIkVKuM2d5X+sQAYDBKPHMWwfx5r7zeOzrUVgzdyLLFlkV5xfZ0r+OX8J3txYjauhA5KyKQ+hAli13ZtHHu4QQMQAgpdwNQNd5vbflfa1DBAAdBiN+/MZ+vLnvPJ68ezzLFlkd5xfZ0oeHL2L11n2YODwQ21PjWbbIssIFYCG+fKUHAOUAEsxY3tc65Ob0BiOezNuP/P1VWDN3Ip66ZwLLFtkC5xfZxHsHq/B4bjGmhQchJyUewf4+SkciB2Bp4QoGUNvleqgZy/taB0KINCFEkRCiqLq62sKI5EzaO4x4IrcY7x+8gJ9/ezIe/8Y4pSOR6+L8IqvLL6nED7aXIGZUMLauikeQn7fSkchBOOQRI6WU6VJKlZRSFRYWpnQcspNWvQHfzdmHXUcu4dcPTEHq1yKVjkTUb5xf7uuNogo89cZ+xI8NxebkOAwcwM+l0f9Y+tugAxBiuhwMoMbM5b2tQ26opd2AtK1F+M/JK/j9Q9OwJH600pHI9XF+kdVs057Fz/9xGF8dPwTpS1Xw8+G5Xel6lhauPAAq0+VIALsBQAgRLKXU9bS8h9vITTW3d2DVpiJoTtdg3fwZWKCKUDoSuQfOL7KKTXtP49fvHsVdk4bitSUx8PVm2aKbWfSWopSyGACEEAkAdJ3XAezpaXkv65AbamzrwPKNBdCersFLC2aybJHdcH6RNWR8Vo5fv3sU35wyDK8nxbJsUY8sfoNZSpnezW2xfSy/6TZyP3UteqzILsDB83V4ZXE07p8xQulI5GY4v8gSr35yCut3leK+GbfhzwtnwdvTIXeLJgfBPfpIEbrmdizNKsDxi/V4bUkM5k4drnQkIiKzSCnx590n8Zc9J/FQdDjWz58BL5Yt6gMLF9ldTWMbkrIKUHa5ERuWxuKuScOUjkREZBYpJdbtKsXf/12GR2NH4sVHZsCT53YlM7BwkV1VN7RhSaYGZ2uakblcha9N4Mfmicg5SCnx+/ePIfPz00iMH4XnH5wGD5YtMhMLF9nNpfpWJGZoUKVrRfaK2fjKuCFKRyIiMovRKPGbd49g8xdnseIrY/CrB6bwDBjULyxcZBdVuhYkZmhQ3dCGzclxiBsb0vdKREQOwGiU+Hn+IWwvqEDa1yLx7LcmsWxRv7Fwkc1V1DZjcYYGdS16bE2JR8yowUpHIiIyi8Eo8fTOg3ir+Dye+MY4/PibPLcr3RoWLrKpM1eakJihQVO7AdtS4jFjZLDSkYiIzNJhMOLHbx7AO/ur8FTCBDyZMF7pSOTEWLjIZk5dbkRihgYdRonc1HhMHRGkdCQiIrPoDUY8uaME/3foIp6+dyIe+/o4pSORk2PhIpsovdiAJZlaAMD2VDUmDg9UOBERkXnaOgx4IrcEHx+9hOfum4yUr0YqHYlcAAsXWd3RqnokZWnh5SGQm6rGuKEDlY5ERGSWVr0B38vZh09Kq/HbB6di2ZwxSkc3Ivf9AAAajElEQVQiF8HCRVZ18LwOS7MKEODjidxUNcYMCVA6EhGRWVraDUjdUoS9ZVfwwsPTsThulNKRyIWwcJHVFJ+7iuVZBQjy98b2VDUiQvyVjkREZJamtg6s2lwI7elarHtkBh5VRSgdiVwMCxdZReGZWqzYWIAhgQOQm6pGeLCf0pGIiMzS0KrHyuxClFTo8OeFs/DgrHClI5ELYuEii/237ApWbSrCbcG+2J6qxrBBvkpHIiIyS12LHss3FuBwZR3+ujga355+m9KRyEWxcJFFPjtRjdQtRRgd6o9tKWqEBQ5QOhIRkVmuNrVj6UYtSi824LUlMfjm1OFKRyIXxsJFt+xfxy/hu1uLETV0IHJWxSF0IMsWETmHK41tSMrUovxKE9KXqvCNSUOVjkQujoWLbsmuIxfxRG4xJg0fhK2r4hDs76N0JCIis1xuaMWSDC0qrjYja7kKXx0fpnQkcgMsXNRv7x+8gCd3lGD6yCBsWhmHID9vpSMREZnlYl0rEjM0uFjfiuwVcZgTFap0JHITLFzUL/kllfjRG/sRO3owslfGYeAA/goRkXOo1LUgMUODmsZ2bEmOg2pMiNKRyI3wryWZ7Y2iCvz0rYNQjw1F1goV/H3460NEzuFcTTMWZ2hQ36rH1lVxiB41WOlI5GY8LP0GQoj5QogEIcTTPSxPM/23tsttazuXWfrzyT5ytefw9M6DuGPcEGxcMZtli1wGZ5jrO32lCQvTv0BTewdyU9QsW6QIiwqXECIGAKSUuwHoOq93WZ4AYLeUMh1ApOk6AKQJIcoAlFvy88k+Nv/3DH72j0O4a9JQZCxTwc/HU+lIRFbBGeb6Tl1uwMINX6Ctw4jcFDWmjwxSOhK5KUu3cC0EoDNdLgeQcMPyyC63lZuuA8CjUsoo05C7ienVZJEQoqi6utrCiGSJjM/K8at/HsE3pwzD60mx8PVm2SKXYvUZxvnlOEovNmBRugZGCexIU2PKiEFKRyI3Zun7QsEAartcv+7jHqZXhZ1iAOR1XhZCAECMlHLdjd/UtF46AKhUKmlhRrpFr35yCut3leK+GbfhzwtnwdvT4negiRyN1WcY55djOFxZh6VZWvh4eSA3VY2osIFKRyI3Z5e/oKbN9B9LKYsBQEq5zvTKMLTLJnpyEFJKvPzxCazfVYp5s0bgLyxb5OY4w5zLgQodEjM08Pfxwhur57BskUPocwtXDzuFlnfu8wCg83O1wQBqevg2CZ2vAoUQ8wFASrnTdP/IHtYhBUgpsX5XKV77dxnmx47E2kdmwNNDKB2L6JZxhrmXfWevYsXGAgQHeCM3RY2IEH+lIxEBMKNw3bBJ/UZ5AFSmy5EAdgOAECJYSqkzXU7rMqgS8OV+EJ07mkYB2HBr0cnapJT4/fvHkPn5aSTGj8LzD06DB8sWOTnOMPehLa9B8qZCDB3ki20p8RgR7Kd0JKJrLHqfqHPzumkI6TqvA9jT5fa1QogyIcTVLussML1KLOuyDinIaJT49T+PIPPz01jxlTH4/TyWLXJ9nGGuY++pK1iRXYjhQb7IS1OzbJHDsfhgSt29epRSxpq+7gZw0wFP+njFSXZmNEr8PP8QthdUIPWrY/Gzb0+GaYdgIpfHGeb8Pj1RjbQtRRgTGoCclHiEBQ5QOhLRTXj0SjdnMEo8vfMg3io+j8e/EYWffHMiyxYROY3dRy/hsW3FGDd0IHJS4hES4KN0JKJusXC5sQ6DET9+8wDe2V+FpxIm4Ad3j2PZIiKn8eHhC3gitwRTRgzCluQ4BPuzbJHjYuFyU3qDET/csR/vH7qAp++diMe+Pk7pSEREZnv3QBV+mLcfM0cGYVNyHAb5eisdiahXLFxuqK3DgCdyS/Dx0Ut47r7JSPkqP9VORM7j7eLz+MmbB6AaE4KNK2Zj4AD+KSPHx99SN9OqN+B7OfvwSWk1fvvgVCybM0bpSEREZnujsAI/ffsg5kSGInO5Cv4+/DNGzoG/qW6kpd2AtK1F+PzUFfzhoelIjB+ldCQiIrPlaM7iufzD+NqEMKQv5bldybmwcLmJprYOrNpcCO3pWqx7ZAYeVUUoHYmIyGzZe0/jN+8exd2ThuLVJTEsW+R0WLjcQEOrHiuzC1FSocOfF87Cg7PClY5ERGS2DZ+W4YUPjuPeqcPxyuJo+Hjx3K7kfFi4XFxdix7LNxbgcGUdXlkUjftm3KZ0JCIis/11z0n86eMTuH/GbXh54Sx4e7JskXNi4XJhV5vasXSjFqUXG/Dakhh8c+pwpSMREfUqv6QS63eVolLXgsABXmho68DD0eFYN38GvFi2yImxcLmomsY2LMnUovxKE9KXqvCNSUOVjkRE1Kv8kkqs2XkAeoMEADS0dUAI4I5xQ1i2yOnxN9gFXW5oxaJ0Dc7UNCFrOcsWETm+5/IP4Yd5+6+VrU5SAr97/6hCqYish1u4XMzFulYkZmhwsb4V2SviMCcqVOlIRES9ei7/EHI053pcfrVZb8c0RLbBwuVCKnUtSMzQoKaxHVuS46AaE6J0JCKiPm3XVigdgcjmWLhcREVtMxala1DfqsfWVXGIHjVY6UhERGYxSNnr8mA/nieRnB8Llws4faUJiRkatOgNyE1RY/rIIKUjERGZpcNghADQU+Xy9hD49Xem2jMSkU2wcDm5U5cbkJihRYdRIjdFjSkjBikdiYioV10P/eDr7dFj2fL39sAfHp6BedE8WDM5PxYuJ1Z6sQFLMjUABHakqTFhWKDSkYiIepVfUoln3z6EFr0BANCqN8LbQyBu7GBoyq/CICU8hcDi+Ag8P2+6wmmJrIeFy0kdrqzD0iwtfLw8kJuqRlTYQKUjERH1af2u0mtlq5PeKHGmpgVlL3xboVREtmfxcbiEEPOFEAlCiKd7WL7W9DXN3HWodwcqdEjM0MDP2xN5aXNYtogswBlmX5W6lm5vr+rhdiJXYVHhEkLEAICUcjcAXef1G6QJIcoAlPdjHerBvrNXkZSpRZC/N/JWz8GYIQFKRyJyWpxh9tXU1gGfHo4YPyLYz85piOzL0i1cCwHoTJfLASR0c59HpZRRpuFk7jrUDW15DZZlaTEkcADy0uYgIsRf6UhEzo4zzE7qW/VYtrEAHUYjvD3Fdcv8vD2xZu5EhZIR2Yel+3AFA6jtcr27w5rHCCEAIEZKuc6cdUyb7tMAYNSoURZGdA17T11ByuYijAj2RW6qGsMG+SodicgVWH2GcX7drK5Zj2UbtThSVY9XE2PQ1mHE+l2lqNK1YESwH9bMnchPIpLLs/lO86YBBSHEPUIIs14JSinTAaQDgEql6v2IeG7g0xPVSNtShDGhAchJiUdY4AClIxG5jf7OMM6v611takdSlhYnLzXi70mxuGfKMABgwSK302fh6rqjaBflnfsvAOg8f0wwgJob1p0PAFLKnaZlkX2tQ9fbc+wSvpdTjHFDByInJR4hAT5KRyJyKpxhyrnS2IakTC3KrzQhfVksvj5xqNKRiBTTZ+EyvVrrSR4AlelyJIDdACCECJZS6vDl/g3lpuVRADYAKOpuHbrZh4cv4vvbizH5tkHYkhyHYH+WLaL+4gxTxuX6ViRmanH+ajOyV8zG7eOGKB2JSFEW7TQvpSwGANNmdl3ndQB7uixfYHqVWCalLO5lHeri3QNVeDy3GNPDg5CTEs+yRWQDnGG2caGuBQvTNajStWDTyjiWLSJYYR+u7l49Silj+1je2ytOt/d28Xn85M0DUI0OwcaVszFwAI9PS2QrnGHWdf5qMxIztKhtaseW5DioxoT0vRKRG+BfcgfzRmEFfvr2QcyJDEXmchX8ffgUEZFzOFfTjMUZGjS06pGTEo9ZEcFKRyJyGPxr7kByNGfxXP5hfG1CGNKXxsLX21PpSEREZimvbkRihhatHQbkpqoxLTxI6UhEDoWFy0Fk7z2N37x7FHdPGopXl8SwbBGR0zh5qQGJmVoYjRI70tSYNHyQ0pGIHA4LlwPY8GkZXvjgOOZOHYa/Lo6Bj5fFp7gkIrKLYxfqkZSphYeHwI40NcYPC1Q6EpFDYuFS2N/+dRJ//OgE7p9xG15eOAvePZxnjIjI0RyurENSlha+Xp7ITY1HZNhApSMROSwWLoVIKfHy7pN4Zc9JPBwdjnXzZ8CLZYuInMT+Ch2WZWkR6OuN3NR4jA4NUDoSkUNj4VKAlBJrPyzF65+WYYFqJF54eAY8PUTfKxIRKSS/pBI/e/sgmvXGa7cNHOCFvNVqjBzsr2AyIufATSp2JqXE7947htc/LUOSehReZNkiIgeXX1KJH72x/7qyBQCNbR14/dMyhVIRORcWLjsyGiV++c4RbNx7GitvH4PfPTgNHixbROTg1u8qhbGH03Bv11bYNwyRk+JbinZiNEr87B+HsKOwAqu/FolnvjUJQrBsEZHjq9K19LjMIHtoYkR0HRYuOzAYJZ7eeRBvFZ/H9+8ahx/dM4Fli4gc2nP5h7BdW9FnofK0wSzLL6nE+l2lqNK1YESwH9bMnYh50eFW/zlE9sTCZWMdBiN+9MYB/PNAFX50zwT84O7xSkciIurVc/mHkKM5Z9Z9F8dHWPVn55dU4tm3D6FFbwAAVOpa8OzbhwCApYucGguXDbV3GPHkjhJ8cPgifnrvJHzv61FKRyIi6tM2bd9lSwhgSfwoPD9vulV/9vpdpdfKVqcWvQG/efcIt3qRU2PhspG2DgMe31aC3ccu4bn7JiPlq5FKRyIi6lN+SSV6exfxzIv32fTn97S/2NVmPa426wFwqxc5J35K0QZa9Qas3roPu49dwu8enMqyRUROY/2u0h6X2WJ/rRuNCPYz634tekOvWYkcDQuXlbW0G5CyuQifnqjGiw9Px9I5Y5SORERktspePpFo7f21urNm7kT4eXuadd/ePj1J5Gj4lqIVNbV1IHlTIQrP1OKP82fikdiRSkciIjJb1uene11u7f21utP5FmHX/bWa2jqga9HfdF9zt4YROQIWLiupb9VjZXYh9lfo8PLCWXhwFvcrICLn8fd/l2Hth8eVjgHgy9LVdd+sGz+5CAB+3p5YM3eiEvGIbgnfUrSCumY9lmYV4ECFDn9bHM2yRURO5ZU9J7H2w+N4YOYIjAjy7fY+4QpuTZoXHY4XHp6O8GA/CFOWFx6ezh3myalYXLiEEPOFEAlCiKe7WRYjhJBCiDLTfxtMt681fU2z9Ocr7WpTOxIzNThWVY+/J8XiW9NvUzoSEfWDO88wKSX+9FEpXvr4BB6OCcefF87C0/dOumkfKkfYmjQvOhx7n7kLp1+8D3ufuYtli5yORW8pCiFiAEBKuVsIESmEiJFSFne5S4iUUnS5r850e5oQYj6A1Zb8fKVdaWxDUqYW5VeakL4sFl+fOFTpSETUD+48w6SUePGD49jwWTkWzY7AHx6aDg8P0e0+VDzmFZHlLN2HayGAj02XywEkALg2rKSUu7vcN1JKudN0+dEbljmdy/WtSMzU4vzVZmxcPht3jB+idCQi6j+3m2H5JZVY9+FxVNW1XrvtsxPV+OeBqmul6sZ9qIjIcpYWrmAAtV2uh3Z3JyFEAoCuwynGdC7BGCnlum7unwYgDQBGjRplYUTru1DXgsQMLS7Vt2LTyjioI7t92ETk+Kw+wxx5fuWXVOKZtw6itcN43e1Vda08kCiRjdlrp/l7pJSdm+IhpVxnenUYahpk15FSpkspVVJKVVhYmJ0imuf81WYs3KBBdUMbtiSzbBG5CbNnmCPPr3UfHr+pbHXigUSJbKvPLVw97BRabho2OgAhptuCAdT08G1iuny/+QBg2jRfA8BpDsN+rqYZizM0aGjVIyclHrMigpWORER94Az7UofBeN3biN3hgUSJbKfPwiWlTO9lcR4AlelyJEyb3IUQwZ2vBoUQkfjfjqbAl/tJlJsuRwHY0M/MiiivbkRihhatHQbkpqoxLTxI6UhEZAbOMEBvMGLB61/0eT8eSJTIdizah0tKWSyEUJk2qeu6fLpnD4DYLnetvWGdNCFELYCyGz4R5JBOXmpAYqYWRqPE9lQ1Jt82SOlIRGQFrjzD8ksqsX5XKSp1LfD19kCrvvu3Ejs5wqEfiFyZxUea7+7Vo5Qytsvlctzw0ek+XnE6lOMX67EkQwsPD4EdaWqMHxaodCQisiJXnGE3Hpm9r7IVzkM/ENkcT+3Ti8OVdViapcUAL0/kpsYjMmyg0pGIiPq0flfpdafB6U14sB/2PnOXjRMREU/t04P9FTokZmjg7+OFvNVqli0ichqVZu78zrcRieyHhasb+87WIilTiyB/b+StVmN0aIDSkYiIzNLY1gEfz+5H+2B/b56PkEghfEvxBpryGiRvKsSwQb7ITY3HbUH81A4ROYf6Vj1WbCxAh9EIb08BvUFeW+bn7YlfPTCVBYtIISxcXew9dQWrNhdi5GB/5KbEY+ggX6UjERGZpa5Zj6UbtTh2oR6vLYlBq97I8yESORAWLpN/l17G6q37MHZIAHJS4jFk4AClIxERmaW2qR1JmVqcutyI15NicffkYQB4mh4iR8LCBWD30Ut4bFsxxg8biJxV8Rgc4KN0JCIis1Q3tCEpU4szNU3IWK7CnRMc63RCRPQlty9cHxy6gO9vL8HUEYOwJTkeQf7eSkciIjLLpfpWJGZoUKVrRfaK2fjKuCFKRyKiHrh14frngSo8lbcfsyKCkb1yNgb5smwRkXOo0rUgMUOD6oY2bFo5G/GRoUpHIqJeuG3hemvfeazZeQCqMSHYuGI2Bg5w238KInIyFbXNSMzUQNekx5ZV8YgdPVjpSETUB7dsGXmF5/DM24fwlahQZCxTwd/HLf8ZiMgJna1pQmKGFg2teuSkxGNmRLDSkYjIDG7XNLZ+cQa/eOcI7pwQhg1LY+Hr7al0JCIis5RVNyIxQ4P2DiNyU9WYFh6kdCQiMpNbFa6sz0/jd+8dRcLkoXh1SQwGeLFsEZFzOHGpAYkZWgAS29PUmDR8kNKRiKgf3KZwvf5pGV784Di+NW04/rIoGj5ePKsRETmHo1X1SMrSwstDIDdVjXFDA5WORET95BaF65U9J/HSxyfwwMwReHnBTHj1cJ4xIiJHc7iyDklZWvh5eyI3VY2xQ3huVyJn5NKFS0qJlz4+gb/+6xQejgnH+vkz4ekhlI5FRGSWknNXsWxjAQb5emNHmhoRIf5KRyKiW+SyhUtKiRc/OI4Nn5Vj0ewI/OGh6fBg2SIiJ1F4phYrswsREuCD7WlqhAf7KR2JiCzgkoVLSonfvncU2XvPIEk9Cr/9zjSWLSJyGl+U1WDV5kIMH+SL3FQ1hgf5Kh2JiCxklZ2ZhBAxvSybL4RIEEI83dtt1mI0SvzincPI3nsGybePxe8eZNkiot450gz7/OQVrNxUgPBgP+xYzbJF5CosLlxCiAQAGT0siwEAKeVuADohREx3t1maoZPBKPHs24eQozmH794ZhV/cPxlCsGwRUc8caYZ9cvwykjcXYkxoAHakqTE0kGWLyFVYXLhMQ6e2h8ULAehMl8sBJPRwm8U6DEasefMA8ooq8IO7xuGn905k2SKiPjnKDPvoyEWkbS3ChGEDsT1VjdCBA6zxbYnIQdh6H65gXD/IQnu4zWK/fe8o3i6pxI/vmYDv3z3eGt+SiMguM6zgdC0e21aMqeFB2JIchyA/b0u/JRE5GIfcaV4IkQYgDQBGjRpl1jpL4kdj7JAArLx9rC2jERH16lbm18yIIKy+MxLfvTMKgb4sW0SuqM/CZRoeNyo3bYbviw5AiOlyMIAa0+XubrtGSpkOIB0AVCqVNOPnYOLwQEwczqMvE9H17D3DbmV+DfDyxJq5k8y5KxE5qT4Ll2l49IsQIlhKqQOQB0BlujkSQOeA6+42IiKr4wwjIkdgjU8pzgegMn3ttAcApJTFpvskANBJKYu7u83SDEREt4ozjIjsQUhp1hZvxahUKllUVKR0DCKyEyHEPimlqu97Oj7OLyL309MM41mciYiIiGyMhYuIiIjIxli4iIiIiGyMhYuIiIjIxli4iIiIiGyMhYuIiIjIxhz+sBBCiGoAZ828+xAAV2wYx1G4w+N0h8cI8HF2Z7SUMsyWYeyln/MLcI/fB3d4jIB7PE53eIxA/x9ntzPM4QtXfwghilzl+D29cYfH6Q6PEeDjpOu5w7+TOzxGwD0epzs8RsB6j5NvKRIRERHZGAsXERERkY25WuHq90lqnZQ7PE53eIwAHyddzx3+ndzhMQLu8Tjd4TECVnqcLrUPFxEREZEjcrUtXESkMCFETC/L5gshEoQQT9szExGRuWw1w1yqcHHQO6e+nhtXee7MeJxrTV/T7JvMeoQQCQAyelgWAwBSyt0AdL39/+qOOL+cE+fXteVOP78A284wlylc7jLoXe2Xvq/nxlWeOzMfR5oQogxAuV3DWZHp8dX2sHghAJ3pcjmABLuEcgKcX9eWc345IHeZX4BtZ5jLFC53GPQu+kvf13PjEs8dzHscj0opo0zPrysKxvX/j4YqFcTRcH5dw/nlmDi/vmTRDHOZwtUHVxn0rvhL39dz4yrPnTmPI8YV3nogq3OV/wc4v5z3ueP8sgJ3KVyugr/0LkxKuc70hybU9BaTq9EBCDFdDgZQo2AWsj/OLxfmBvMLsHCGeVk9jo308J5+uZmvhNxm0Esp1wGAEOIeIUSCE7xS7Ou5cZXnrtfHIYSYDwBSyp2mZZF2TWdDQohgKaUOQB6AztNjRAJw9N9Nq+H8Mg/nl8Ny2/kFWG+GOU3hklL2+8Bjzjjo+xjMrvhL3+1z44zPXR/6epzl+N9+K1EANtg9oRWYfgdVQoj5pt9DANgDIFZKWSyEUJle/eqklMXKJbUvzi/OLzj4c9cHt5hfgG1nmNMUrr64yqDvYzC73C99L8+N0z13vTHzcaYJIWoBlDnx49wJYOcNt8V2uewuR6buF84vzi9H5i7zC7DtDOOR5p2M6RVkOYDIzideCLGv8xfCtLzWtHydckmJiK7H+UXujIWLiIiIyMb4KUUiIiIiG2PhIiIiIrIxFi4iIiIiG2PhIiIiIrIxFi4iIiIiG2PhIiIiIrKx/wekRCfnqeagtgAAAABJRU5ErkJggg==\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -823,19 +806,17 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 26, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -869,21 +850,19 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 27, "metadata": { "scrolled": true }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlwAAAJMCAYAAAAvyngrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdd1zU9/0H8NeHJYLjBHEPBPcWTrg0TdpUzGiSJjW4EDdg0zRpmzQkzS9tmqZpommbZjYC4kJQY/aumNUkciz3FtyKMjxUkHX3+f3h98xJGIc3vjdez8fjHtx9172/Hrx9fT/3vfsKKSWIiIiIyHF81C6AiIiIyNMxcBERERE5GAMXERERkYMxcBERERE5GAMXERERkYMxcBERERE5GAMXERERkYMxcHk4IUSEEOJNIUSRECJeuaUKIc6rUMdmIUSUrcsr+xCn/Gxxe63s91IhRFwb81OFEPGtbC/O4n6UECJFWV9jOY+I7IO9y/69q4V57GXOJKXkzcNvAOIBLG82LQ5ARDvrpdi5jqUAomxZHoDGcl8AvNnB/T4PQNPG/NTm+w0gtdnjN5U6zNuJ6sh+8cYbb9bd2LuumWZz72rhedjLnHjjCJcXEkJopJS5uPKH1uoyAJbY+akr7bD8DAAGywnWHnkqqgBEtDZTSrkMV5qledsRAEqbLaaRUhqklAZlnWIAMztQAxFdB/Yum3tXc+xlTsTA5WWUP8II4MoflzK8XaIMS2vMw9TKMprmQ9/K0HWcMgwdoQxJlyjT4oQQy5WGZ14+RZkeBWBys1qu2VZ7yys0AEosHrfZhFrYd3NTaUuVeVkAS6SUmyy2EQUgRPl3sXzeSsv9JiL7Yu+yrXe1sE32MifzU7sAcpoIpRktAfCYeaKUMlcIMRVXjowMAKaYj3aEEIZmYSPFvI7y+E0p5XQhRCmAUillqfJHrAWQq5wPoLFYvrStbQkhlre2vI37HYcrzS5EShlp5XqaZj+h1FsshKhqoZGVQtlvm6oloubYu+zQu5pjL3M+Bi7vUSql3CSEyAUQAlw5apJSmpvNZgDTzQ2jFdEAiiyOhjZbzKtqYfmpAAo6sK22ljcz4NpGEoK2h81L29mnloRYHEmGWLlO87qIyD7Yu6zXau8SQiy1eP6lUsrWnpu9zEH4lqKXUd6vN/+hRQFXz3koBGBo9imVKmW+edpmZRulyjY2Wm63hacrwA+HzM1NoKVttbW82UYAlkd6GiuG2a0mhEgF8JzFpJaacUs0aHZ+BhHZD3tX29rrXVLKx6SUS5RbW0GPvcxBGLg8nHIUNhOAVnz/EeIUIUQRgFJlqH4LrhxpLQfwpnnIvNl9mIeelW3E4cqQd5TyM0VpflMBTBdXTm41L28+ryEKwJJm865uq63lLWowKHXFKetdPUm0jf1u6ePZLf27pAIwKCefmrV0kmuEsqylCFxp/ERkB+xd9u1dLWyHvczJhLzyUVAiaoG5KbV18qmy3FIp5WNtLUNE5CzW9q4W1mMvcxCOcBG1QRnyb/M8LqWxbXBORURE7bOmdzXHXuZYDFxE7ZBSpjU7P+Qq5S2DEHuei0FEZA9t9a7m2Mscj28pEhERETkYR7iIiIiIHMzlv4erZ8+eMjw8XO0yiMhJioqKKqSUYWrXYQ/sX0Tep7Ue5vKBKzw8HIWF/IQqkbcQQhxTuwZ7Yf8i8j6t9TC+pUhERETkYAxcRERERA7GwEVERETkYAxcRERERA7GwEVERETkYHYJXC1dYNNiXrxysc7UtqYREamB/YuInMHmwKVcNiC9lXlRACClzAVgEEJEtTTN1hqIiK4H+xcROYvNgUtpPFWtzJ4JwKDcLwUQ18o0IiKnY/8iImdx9DlcGlzbzEJbmUZEHmrnSQPqGo1ql3E92L+IvFz15UbsL7tgl23xpHkicpivD5Zj+htb8dzH+9QuhYioQ87XNGBORh7mrcjH5QbbDxodfWkfA4AQ5b4GQKVyv6VpVwkhUgCkAMCgQYMcXCIROcLn+8/iV2uLEdmrCx6aMkztcq4H+xeRl6q8VI85GXqUVtRgeWI0Ogf42rxNh4xwCSE0yt0NACKU+xEAcluZdg0pZZqUUiul1IaFecQ1bIm8ymd7yrBkbRFG9OmKnORYhHbppHZJVmP/IvJu5y7WYVZaHo5W1mDFfC1uGdnLLtu1x6cU4wFolZ9mWwBASlmsLBMHwCClLG5pmq01EJHr+GjnGTywrhhj+3dHVlIsNEEBapfUKvYvIrJUVl2HWcvzcMpwGSsXxOCmYfY7aBJSSrttzBG0Wq0sLCxUuwwissK7207h4Y3bET24BzIXTEbXQP8Ob0MIUSSl1DqgPKdj/yJyH6cMl5GQnofKSw1YtXAytOEh7a/UgtZ6mKPP4SIiL/Fm4QmkvrUTuiGhyJivRXAnthcicg8nqmoxKy0PF+oasXZxDCYN6mH352BHJCKbZeuP44l3duGmYT2RNldrlxNMiYic4UhFDRLS83C50YjsJB3GDejukOdh4CIim6z+7iieen8PfjayF16fE4VAf4YtInIPh89dREK6Hk0miewkHUb36+aw52LgIqLrlv51KZ79eB9uHd0bryZEIcCPX+1HRO7hQNlFzMnIAyCwPkWH4b27OvT5GLiI6Lq89sVhvPDZAdw5ri/+PWsi/H0ZtojIPew+VY25K/QI8PNBdrIOkWFdHP6cDFxE1CFSSvw79xBe2nII907sh39MnwA/hi0ichM7Thgwd4UeXTr5ITtZh/CewU55XgYuIrKalBIvfHYAr39ZgvjoAVh633j4+gi1yyIiskrRsfNYkJkPTbA/spN0GBgS5LTnZuAiIqtIKfHsR/uQ8c0RJMQOwt/uGQsfhi0ichP60kosWlWAXt0CsS4pFv00nZ36/AxcRNQuk0ni6Q/2YPXWY1jwo3A8dfdoCMGwRUTu4dvDFUhaXYh+mkBkJ+vQu1ug02tg4CKiNplMEv/37m7k5B9H8k1D8MTPRzFsEZHb+OpgOVLWFCI8NBhZSbEI66rOtV0ZuIioVUaTxGNv7cSmopN44JZI/OHWEQxbbuDdbafwwmcHcNpwGf00nfHobSNw76T+apdF5HRb9p3F/VnFGNqrC7KSYhESrN61XRm4iKhFTUYTHnlzB97bfhq/jxuOh6YMZdhyA+9uO4U/vr0LlxuNAK5cH+6Pb+8CAIYu8iqf7i7DgznFGNW3G9YsioEmSL2wBQD8LDcR/UCj0YTfrt+O97afRurtI/DbuGEMW27ihc8OXA1bZpcbjXjhswMqVUTkfB/sOI0Hsosxrn93ZCXFqh62AI5wXYPD8ERAfZMRv8nehs17z+LJO0ch6aYItUuiDjhtuNyh6USe5u3ik/jDmzugHRyCzIWT0aWTa0Qd16jCBXAYngioazTi/qwifHGgHE//Ygzm/yhc7ZKog/ppOuNUC+HK2R+BJ1LDxoITeOztnbghIhQZ87UICnCdmMO3FBUchidvd7nBiOQ1hfjyYDn+/stxDFtu6tHbRqBzswuId/b3xaO3jVCpIiLnyMo7htS3duKmYWHIXDDZpcIWwBGuqzgMT96spr4Ji1cXQH+kCsvuG4/p2oFql0TXyTwiz9MjyJus/PYInv5gL6aM7IXX5kQhsNlBhytg4FJwGJ681cW6RixcWYDi4+fx75kTcc9E/sfs7u6d1J8Bi7zG8q9K8Nwn+3HbmN54ZXYUAvxc880716xKBRyGJ29UfbkRc1fkY/sJA16ZHcWwRURu5dXPD+G5T/bjrvF98WqC64YtgCNcV3EYnryNobYBc1fkY3/ZBbw+Jwq3jumjdklERFaRUuLF3EN4ecshTJvUH8vix8PP13XDFmCHwCWEiAdgABAlpVzWbF4UgCIApcqkXCnlEiHEUinlY0KIFCllmq012AuH4clbVF6qx5wMPUorapA2V4tbRvZSuyRVeFL/IvIWUkos/fQA3viqBDO0A/DctPHw9XH97wm0KQ4qDQlSylwABvNjCyFSSiGljAQwHcBSZXqKEKIE3zcyInKScxfrMCstD0cra7BivleHLfYvIjcjpcQzH+7DG1+VIFE3CM+7SdgCbD+HayauHB0CV5pPnOVMpZGZRUgpzQ1qupQystl8InKwsuo6zFqeh1OGy1i5IAY3DQtTuyQ1sX8RuRGTSeLP7+1B5rdHsPDGcDxzz1j4uEnYAmx/S1EDoMricWhLCwkh4gBYNqco5TIhPxjGJyLHOGW4jIT0PFReasDqRTGYHB6idklqY/8ichMmk8QT7+zC+oITWHJzBB6/Y6TbXW7MWWeYTZVSmo8kIaVcphwdhirN7BpCiBQhRKEQorC8vNxJJRJ5rhNVtZi5fCuqahqwdjHDVgexfxGpyGiSeHTTTqwvOIEHfzbULcMWYHvgMgAwd24NgMpWlrt6boQQIl45URXK8j+4UJuUMk1KqZVSasPCvPotDyKbHamowYzlW3GpvgnZSTpMGtRD7ZJcBfsXkYtrMprw+w3b8VbxSTw8dTgeuXWEW4YtwPbAtQHfN5wIKMPuQgiNeQEhRAS+P08CuHKuhHl4PhJAoY01EFErDp+7iJnLt6K+yYTsJB3GDeiudkmuhP2LyIU1NJnwYM42vL/jNB67fSQemjJM7ZJsYlPgklIWA1fPcTCYHwPY0mzRqmbrzFCOEkss1iEiOzpQdhGz0vJgksD6FB1G9+umdkkuhf2LyHXVNxnx63VF+GR3GZ68cxTu/2mk2iXZzObv4Wrpe2iklNEW90sBLGlvHSKynz2nq5GYoUeAnw+yk3WIDOuidkkuif2LyPXUNRqxZG0RvjpYjmfuGYO5N4SrXZJd8JvmiTzMzpMGzF2Rj+AAX2Qn6xDeM1jtkoiIrHK5wYjkNYX4tqQCz08bh1kxg9QuyW4YuIg8SNGx81iQmQ9NsD+yk3QYGBKkdklERFapqW/ColUFKDhahX/ET8B90QPULsmuGLiIPIS+tBKLVhUgrGsnZCfr0E/TWe2SiIiscqGuEQtXFmD7CQNenDkR90z0vMvsMXAReYDvDldg8epC9NMEIjtZh97dAtUuiYjIKtW1jZi3Mh97TlXj1dmTcMe4vmqX5BAMXERu7quD5UhZU4jw0GBkJcUirGsntUsiIrLK+ZoGJK7Q49DZS/hPYjSmju6tdkkOw8BF5Ma27DuL+7OKMbRXF2QlxSIkOEDtkoiIrFJxqR6JGXqUVtQgbV40fjqil9olORQDF5Gb+nR3GR7MKcaovt2wZlEMNEEMW0TkHs5dqENChh4nz9cic/5k/HhYT7VLcjgGLiI39MGO0/jdhu0YP6A7Vi+KQbdAf7VLIiKyypnqy0hI1+PshTqsWhgDXUSL1433OAxcRG7mnW0n8cjGHdAODkHmwsno0ol/xkTkHk6er0VCuh5VNQ1YsygG2vCQ9lfyEOzURG5kY8EJPPb2TtwQEYqM+VoEBfBPmIjcw/HKWsxOz8PFukZkJcVi4kBN+yt5EHZrIjeRlXcMT767GzcPD0Pa3GgE+vuqXRIRkVVKyy8hIV2PuiYjspN1GNu/u9olOR0DF5EbWPntETz9wV5MGdkLr82JYtgiIrdx6OxFJGToYTJJ5CTrMKpvN7VLUgUDF5GLS/u6BH//eD9uG9Mbr8yOQoCfj9olERFZZX/ZBcxJ18PHR2B9ig7DendVuyTVMHARubBXPz+Ef/z3IO4a3xcvzpwIf1+GLSJyD7tPVWPuCj06+fkiOzkWEWFd1C5JVQxcRC5ISokXcw/h5S2HMG1SfyyLHw8/hi0ichPbTxgwb4UeXQP9kZ0ci8GhwWqXpDoGLiIXI6XE0k8P4I2vSjBDOwDPTRsPXx+hdllERFYpOlaF+ZkF6BHsj5xkHQb0CFK7JJfAwEXkQqSUeObDfcj89gjmxA7CM/eMhQ/DFhG5ibzSSixaVYDe3QKRnRyLvt07q12Sy2DgInIRJpPEU+/vwdq8Y1jwo3A8dfdoCMGwRUTu4dvDFVi8ugADegQhOykWvboFql2SS2HgInIBJpPEE+/swvqCE1hycwQev2MkwxYRuY0vD5zDkrVFGNIzGFlJsejZpZPaJbkcm8/CFULECyHihBCprcxfqvxMsXYdIm9iNEk8umkn1hecwIM/G8qw5UTsX0S2y917FilrijC0VxfkJOsYtlphU+ASQkQBgJQyF4DB/LiZFCFECYDSDqxD5BWajCb8fsN2vFV8Eg9PHY5Hbh3BsOUk7F9Etvtk1xn8KqsIo/p2RXaSDj2CA9QuyWXZOsI1E4BBuV8KIK6FZaZLKSOVBmXtOkQer9FowoM52/D+jtN47PaReGjKMLVL8jbsX0Q2eH/HafwmZxsmDNRgbVIsugf5q12SS7P1HC4NgCqLx6EtLBOlHLFHSSmXWbkOkUerbzLigXXbkLvvLJ68cxSSbopQuyRvxP5FdJ3eKjqJRzftgDY8BJkLJqNLJ54S3h6H/wspTQpCiKlCCKuOBpXzJVIAYNCgQQ6sjsj56hqN+FVWEb48UI5n7hmDuTeEq10StYL9i+iHNhQcx+Nv78KPIkORPk+LoACGLWvY+paiAUCIcl8DoNJypnJyabzysBJARHvrAICUMk1KqZVSasPCwmwskch1XG4wIml1Ib46WI7np41j2FIX+xdRB63dehSPvbULNw8Lw4r5kxm2OsDWwLUBV5oQlJ+5ACCE0CjTSs3TAEQCKGxtHSJPV1PfhAUr8/FdSQVeiJ+AWTEc/VAZ+xdRB6z45gj+9N4exI3qhbR50Qj091W7JLdiU+CSUhYDgDLUbjA/BrDFYv4M5SixREpZ3MY6RB7rYl0j5mXmo/DYebw4cyLioweoXZLXY/8ist4bX5XgmQ/34o6xffD6nGh08mPY6iibxwKllGktTItuZ/4PphF5quraRsxbmY89p6rx6uxJuGNcX7VLIgX7F1H7Xt5yCP/afBB3T+iHF2dMgJ+vzV/h6ZX45iuRA52vaUDiCj0Onb2E/yRGY+ro3mqXRERkFSkl/rX5IF75/DCmRfXHC/ET4Mtru143Bi4iB6m4VI/EDD1KK2qwfF40bhnRS+2SiIisIqXE85/sx/KvSzFr8kD8/Zfj4MOwZRMGLiIHOHehDgkZepw8X4vM+ZPx42E91S6JiMgqUkr89cO9WPntUSTqBuGvvxjLsGUHDFxEdlZWXYeE9DyUXajDqoUx0EXwuzGJyD2YTBJ/fn83svKOY9GNQ/Cnu0bxcmN2wsBFZEcnz9ciIV2PqpoGrFkUA214SPsrERG5AKNJ4om3d2FD4Qn86ieReOx2XtvVnhi4iOzkeGUtZqfn4WJdI7KSYjFxoKb9lYiIXECT0YTUTTvx9rZTeGjKMPw+bhjDlp0xcBHZQWn5JSSk61HXZER2sg5j+3dXuyQiIqs0Gk34/Ybt+HDnGTwydTgenDJM7ZI8EgMXkY0On7uI2el6mEwSOck6jOrbTe2SiIis0tBkwkM52/DpnjL88Y6RWPKTSLVL8lgMXEQ22F92AXPS9fDxEVifosOw3l3VLomIyCr1TUY8sK4YufvO4c93jcaiHw9RuySPxsBFdJ12n6rG3BV6dPLzRXZyLCLCuqhdEhGRVeoajUhZW4SvD5bjb/eORaJusNoleTwGLqLrsP2EAfNW6NE10B/ZybEYHBqsdklERFapbWhC0upCbC2txLL7xmPG5IFql+QVGLiIOqjoWBXmZxagR7A/cpJ1GNAjSO2SiIiscqm+CYtWFqDwWBX+OX0CpkUNULskr8HARdQB+tJKLFxVgN7dApGdHIu+3TurXRIRkVUu1DViQWY+dpysxkuzJuHuCf3ULsmrMHARWenbwxVYvLoAA3oEITspFr26BapdEhGRVaprGzEvU4+9Zy7gtYRJuH1sX7VL8joMXERW+PLAOSxZW4QhPYORlRSLnl06qV0SEZFVqmoakJihx+Fzl/BGYjSmjOqtdkleiYGLqB25e8/i1+uKMax3F2QtjkWP4AC1SyIiskr5xXokZuhxtLIG6fO1+MnwMLVL8loMXERt+GTXGTyYsw1j+nXDmkWx6B7kr3ZJRERWOXehDrPT83DKcBmZCybjxqE91S7JqzFwEbXi/R2n8fsN2zFxoAYrF05Gt0CGLSJyD2eqLyMhXY9zF+qwemEMYiNC1S7J6zFwEbXgraKTeHTTDmjDQ5C5YDK6dOKfChG5hxNVtUjIyIOhphFrFscienAPtUsiAD62bkAIES+EiBNCpLYyP0W5LbWYttQ8z9bnJ7K3DQXH8YdNO3BDZChWLWTY8mTsX+RpjlXWYFZaHqprG5GVxLDlSmwKXEKIKACQUuYCMJgfW8yPA5ArpUwDEKE8BoAUIUQJgFJbnp/I3tbmHcNjb+3CzcPCsGL+ZAQFMGx5KvYv8jQl5ZcwY/lW1DY0ITtZhwkDNWqXRBZsHeGaCcCg3C8FENdsfoTFtFLlMQBMl1JGKo2OyCVkfnMEf3p3N+JG9ULavGgE+vuqXRI5FvsXeYxDZy9i5vI8GE0SOSk6jO3fXe2SqBlbD981AKosHl9zVp5yZGgWBWCD+b4QAgCipJTLbKyByGZvfFWC5z/ZjzvG9sFLsyYhwM/md9vJ9bF/kUfYd+YCEjP08PURyE7WYWivrmqXRC1wyv8qylD9ZillMQBIKZcpR4ehFsP0lsunCCEKhRCF5eXlziiRvNjLWw7h+U/24+4J/fDKbIYtuhb7F7my3aeqMTs9DwF+Ptiw5AaGLRdm6/8sBgAhyn0NgMpWloszHwkqJ6nGK9Mr8f0w/VVSyjQppVZKqQ0L45e0kWNIKfHP/x7AvzYfxLRJ/fHvmRPh58uw5UXYv8itbTt+HrPT8xAc4IeNS27AkJ7BapdEbbD1f5cN+L7hRADIBQAhxNUz9YQQKRbNKg5XzoUwn/sQCaDQxhqIOkxKiec/3Y9XPj+MmdqBeGH6BPj6CLXLIudi/yK3VXi0CnNX5KNHUAA2LNFhYEiQ2iVRO2wKXOYhdqURGcyPAWyxmL5UCFEihDhvsc4M5SixxGIdIqeQUuKvH+7F8q9KkagbhOemjWPY8kLsX+SutpZUYl5mPnp17YSNS27AgB4MW+7A5s+8Nzux1DwtWvmZC+AHXwLS0jpEzmAySfz5/d3IyjuORTcOwZ/uGgXlBGjyQuxf5G6+OVSBpDUFGNgjCOuSY9Gra6DaJZGV+CVD5DWMJokn3t6FDYUnsOQnEXj89pEMW0TkNr7Yfw5LsooQ0TMY65JiEdqlk9olUQcwcJFXaDKakLppJ97edgoP/Wwofj91OMMWEbmN/+4pwwPZxRjRpyvWLopFj+AAtUuiDmLgIo/XaDTh4Y078MGO03hk6nA8OGWY2iUREVnt411n8FDONozp3x1rFsWge2d/tUui68DARR6tocmEh3K24dM9ZfjjHSOx5CeRapdERGS197afwsMbd2DSQA1WLpyMroEMW+6KgYs8Vn2TEQ+sK0buvnP4812jsejHQ9QuiYjIapuKTuLRTTsQOyQEK+ZPRnAn/pftzvjqkUeqazQiZW0Rvj5YjmfuHYu5usFql0REZLWc/ON44p1duDGyJ9LnadE5gNd2dXcMXORxahuakLS6EFtLK7H0vnGYOXmQ2iUREVltzdaj+PN7e/DTEWF4IzEagf4MW56AgYs8yqX6JixaVYDCo1X45/QJmBY1QO2SiIislvG/Uvzto32YOro3Xk2YhE5+DFuegoGLPMaFukYsyMzHjpPVeGnWJNw9oZ/aJRERWe31Lw9j2acH8PNxffDSrEnw57VdPQoDF3mE6tpGzMvUY8/pC3gtYRJuH9tX7ZKIiKwipcTLWw7jxdyDuGdiP/xz+gT4MWx5HAYucntVNQ1IzNDj8LlLeCMxGnGje6tdEhGRVaSU+Md/D+C1L0pwX9QALIsfz2u7eigGLnJrFZfqMSddj6OVNUibF42fjuildklERFaRUuK5T/Yj7etSzI4ZiGfvHQcfhi2PxcBFbuvchTokZOhx8nwtMhdMxo1De6pdEhGRVaSUePqDvVj13VHMu2Ew/nL3GIYtD8fARW7pTPVlJKTrce5CHVYvjEFsRKjaJRERWcVkknjyvd3I1h9H0o+H4P/uHMVru3oBBi5yOyeqapGQkQdDTSPWLI5B9OAQtUsiIrKK0STx+Fs78WbRSdz/00ik3jaCYctLMHCRWzlWWYOEdD0u1jUiKykWEwZq1C6JiMgqTUYT/vDmDry7/TR+O2UYfhc3jGHLizBwkdsoKb+EOel61DcZkZ2sw9j+3dUuiYjIKo1GE363YTs+2nkGj942Ag/cMlTtksjJGLjILRw6exGz0/UAJHJSdBjZp5vaJRERWaWhyYQHc4rx2Z6z+L+fj0LyzRFql0QqYOAil7fvzAUkZujh4yOQk6zD0F5d1S6JiMgqdY1G/HpdMT7ffw5/uXs0Ftw4RO2SSCU2By4hRDwAA4AoKeUya+a3tw6R2e5T1UhcoUegny+yk2MREdZF7ZLIg7B/kSNdbjAiZW0h/neoAs/+cizmxA5WuyRSkU3XDhBCRAGAlDIXgMH8uK357a1DZLbt+HnMTs9DcIAfNi65gWGL7Ir9ixyptqEJi1YV4JvDFVgWP55hi2wLXABm4sqRHgCUAoizYn576xCh8GgV5q7IR4+gAGxYosOg0CC1SyLPw/5FDnGpvgkLMgugP1KJf82YgBnagWqXRC7A1rcUNQCqLB43//bJlua3tw55ua0llVi8ugB9ugUiO1mHPt0D1S6JPBP7F9ld9eVGLFiZj50nq/Hy7Em4a3w/tUsiF+GSlyMXQqQIIQqFEIXl5eVql0NO9M2hCixclY/+ms5Yv4Rhi9wP+5f3MtQ2IDFDj92nqvFaQhTDFl3D1sBlAGD+mm8NgEor5re3DqSUaVJKrZRSGxYWZmOJ5C6+OHAOi1YXIDw0GDkpOvTqyrBFDsX+RXZTVdOA2el6HCi7iDcSo3H72D5ql0Quxta3FDcA0Cr3IwDkAoAQQiOlNLQ2v5Vp5MU27z2LB9YVY3ifLli7KBY9ggPULok8H/sX2UX5xXrMycjDscpaZMzX4ubhDNr0QzaNcEkpiwFACBEHwGB+DGBLa/PbWIe81Me7zuD+rCKM6iFG3hIAACAASURBVNcN65J0DFvkFOxfZA9nL9RhVtpWnKi6jJULJjNsUats/h4uKWVaC9Oi25n/g2nknd7bfgoPb9yBiQM1WLVwMroG+qtdEnkR9i+yxWnDZSSk56H8Yj1WL4pBzJCQ9lcir8VvmifVbCo6iUc37UBMeAgyF0xGcCf+OhKRezhRVYvZ6Xmorm3EmsWxiB7cQ+2SyMXxfzhSRU7+cTzxzi7cGNkT6fO06Bzgq3ZJRERWOVpRg4T0PNQ0GLEuORbjB2jULoncAAMXOd2arUfx5/f24KcjwvBGYjQC/Rm2iMg9HD53CXMy8tBolMhOjsWYft3VLoncBAMXOVXG/0rxt4/2Yero3ng1YRI6+TFsEZF7OFB2EXMy9ACAnGQdRvTpqnJF5E4YuMhpXv/yMJZ9egA/H9cHL82aBH9fl/zeXSKiH9h7+gISV+jh5yOQnazD0F68tit1DAMXOcVLuYfwYu5B/GJCP/xrxgT4MWwRkZvYdbIaiSv0CArwRXayDkN6BqtdErkhBi5yKCkl/vnfg3j1i8O4L2oAlsWPh6+PULssIiKrFB8/j/mZ+eje2R85yToMDAlSuyRyUwxc5DBSSjz3yX6kfV2K2TED8ey94+DDsEVEbqLgaBUWZOajZ9dOyE7Wob+ms9olkRtj4CKHkFLi6Q/2YtV3RzHvhsH4y91jGLaIyG18V1KBxasK0VcTiJxkHXp347VdyTYMXGR3JpPEk+/tRrb+OBb/eAievHMUhGDYIiL38PXBciSvKcTg0CCsS9IhrGsntUsiD8DARXZlNEk8/tZOvFl0Evf/NBKpt41g2CIit/H5/rP41dpiRPbqgqzFMQjtwrBF9sHARXbTZDTh0U078c62U/jtlGH4Xdwwhi0ichuf7SnDb7KLMbJPN6xdHANNUIDaJZEHYeAiu2g0mvC7Ddvx0c4zePS2EXjglqFql0REZLWPdp7Bb9dvw7gB3bFqYQy6d/ZXuyTyMAxcZLOGJhMezCnGZ3vO4omfj0TKzZFql0REZLV3t53Cwxu3I3pwD2QumIyugQxbZH8MXGSTukYjfr2uGJ/vP4en7h6NhTcOUbskIiKrvVl4Aqlv7YRuSCgy5msR3In/LZJj8DeLrltdoxHJawrxv0MVePaXYzEndrDaJRERWS1bfxxPvLMLNw3ribS5WnQO4LVdyXEYuOi61DY0YfGqQuQdqcSy+PGYoR2odklERFZb/d1RPPX+HvxsZC+8PicKgf4MW+RYDFzUYZfqm7BoZQEKj1XhXzMm4JeTBqhdEhGR1dK/LsWzH+/DraN749WEKAT48dqu5HgMXNQh1ZcbsWBlPnaerMbLsyfhrvH91C6JiMhqr31xGC98dgB3juuLf8+aCH9fhi1yDgYuspqhtgHzMvOx78wFvJYQhdvH9lG7JCIiq0gp8e/cQ3hpyyHcO7Ef/jF9AvwYtsiJbP5tE0LECyHihBCprcxPUW5LLaYtNc+z9fnJOapqGpCQrsf+MxfxRmI0wxZ5DPYwzyelxAufHcBLWw4hPnoA/jljIsMWOZ1Nv3FCiCgAkFLmAjCYH1vMjwOQK6VMAxChPAaAFCFECYBSW56fnKP8Yj1mpW1FSfklZMzXYsqo3mqXRGQX7GGeT0qJZz/ah9e/LEFC7CAsu288fH14BQxyPlsj/kwABuV+KYC4ZvMjLKaVKo8BYLqUMlJpcuTCzl6ow6y0rThRdRkrF0zGzcPD1C6JyJ7YwzyYySTxl/f3IOObI1jwo3A8e+9Y+DBskUpsPYdLA6DK4nGo5UzlqNAsCsAG833lGntRUsplzTeqDNOnAMCgQYNsLJGu12nDZSSk56H8Yj1WL4pBzJAQtUsisje79zD2L9dgMkn837u7kZN/HMk3DcETPx/Fa7uSqpzyJrYyTL9ZSlkMAFLKZcqRYajFEP1VUso0KaVWSqkNC+OIihpOVNViZtpWVF5qwJrFsQxb5NU60sPYv9RnNEmkvrUTOfnH8cAtkQxb5BLaHeFq5aTQUvM5DwDM/xNrAFS2spk481GgECIeAKSUm5TlI1pZh1RytKIGCel5qGkwYl1yLMYP0KhdEtF1Yw/zLk1GEx55cwfe234av48bjoemDGXYIpfQbuBqNqTe3AYAWuV+BIBcABBCaKSUBuV+ikWjisOV8yDMJ5pGAlh+faWTIxw+dwlzMvLQaJTITo7FmH7d1S6JyCbsYd6j0WjC79Zvx0e7ziD19hH49U+Hql0S0VU2vaVoHl5XmpDB/BjAFovpS4UQJUKI8xbrzFCOEkss1iGVHSi7iFlpeTCaJHKSdQxb5PHYwzxHfZMRv15XjI92ncGTd45i2CKXY/MXn7Z09CiljFZ+5gLoYc06pK69py8gcYUefj4C2ck3YGivLmqXROQU7GHur67RiPuzivDFgXI8/YsxmP+jcLVLIvoBftM8YdfJaiSu0CMowBfZyToM6RmsdklERFa53GBEytpCfHO4An//5TgkxPKToeSaGLi8XPHx85ifmY/unf2Rk6zDwJAgtUsiIrJKTX0TFq8ugP5IFZbdNx7TtQPVLomoVQxcXqzgaBUWZOajZ9dOyE7Wob+ms9olERFZ5WJdIxauLEDx8fP498yJuGdif7VLImoTA5eX+q6kAotXFaKvJhDZSTr06R6odklERFapvtyI+Zn52H2qGq/MjsKd4/uqXRJRuxi4vNDXB8uRvKYQg0KCsC45Fr26MmwRkXsw1DYgcYUeB8ou4vU5Ubh1TB+1SyKyCgOXl/li/zksySpCZFgXZC2OQWiXTmqXRERklcpL9ZiToUdpRQ3S5mpxy8heapdEZDUGLi/y2Z4y/Ca7GCP7dMPaxTHQBAWoXRIRkVXOXazDnHQ9TpyvxYr5Wtw0jJdNIvfCwOUlPtp5Br9dvw1j+3fH6kUx6N7ZX+2SiIisUlZdh4T0PJRdqMPKBTG4ITK0/ZWIXAwDlxd4d9spPLxxO6IH90DmgsnoGsiwRUTu4ZThMhLS81B5qQGrF8VgcnhI+ysRuSAGLg/3ZuEJpL61E7ohociYr0VwJ77kROQeTlTVYnZ6HqovN2Lt4hhMGvSDL/0nchv839eDZeuP44l3duGmYT2RNleLzgG+apdERGSVIxU1SEjPw+VGI7KTdBg3gNd2JffGwOWhVn93FE+9vwe3jAjDfxKjEejPsEVE7uHwuYtISNejySSRnaTD6H7d1C6JyGYMXB4o/etSPPvxPkwd3RuvJkxCJz+GLSJyDwfKLmJORh4AgfUpOgzv3VXtkojsgoHLw7z2xWG88NkB3DmuL/49ayL8fX3ULomIyCp7TlcjMUOPAD8fZCfrEBnWRe2SiOyGgctDSCnx0pZD+HfuIdw7sR/+MX0C/Bi2iMhN7DxpwNwV+QgO8EV2sg7hPYPVLonIrhi4PICUEi98dgCvf1mC+OgBWHrfePj6CLXLIiKyStGx81iQmQ9NsD+yk3QYGBKkdklEdsfA5eaklHj2o33I+OYIZscMwrP3joUPwxYRuQl9aSUWrSpAWNdOyE7WoZ+ms9olETkEA5cbk1LiL+/vweqtxzD/hsH4yy/GQAiGLSJyD98drsDi1YXopwlEdrIOvbsFql0SkcMwcLkpk0ni/97djZz840i+aQie+Pkohi0ichtfHSxHyppChIcGIyspFmFdO6ldEpFD2XxWtRAiXggRJ4RIbWX+UuVnirXrUNuMJonUt3YiJ/84HrglkmGLyAbsYc63Zd9ZJK8uRGRYF+Sk6Bi2yCvYFLiEEFEAIKXMBWAwP24mRQhRAqC0A+tQK5qMJjy8cTs2FZ3E7+KG4Q+3jmDYIrpO7GHO9+nuMvwqqwgj+3ZFdnIsQoID1C6JyClsHeGaCcCg3C8FENfCMtOllJFKc7J2HWpBo9GE367fjve2n8ajt43A7+KGM2wR2YY9zIk+2HEaD2QXY2z/7shKioUmiGGLvIet53BpAFRZPA5tYZkoJRRESSmXWbOOMnSfAgCDBg2ysUTPUN9kxG+yt2Hz3rN48s5RSLopQu2SiDyB3XsY+1fL3tl2Eo9s3AHt4BBkLpyMLp14CjF5F4d/M6aUcplyZBgqhLDqSFBKmSal1EoptWFhYQ6u0PXVNRrxq7VF2Lz3LJ7+xRiGLSIn6mgPY//6oY0FJ/Dwxh3QRYRi1SKGLfJO7f7WW54oaqHUfP4CgBBlmgZAZbN14wFASrlJmRfR3jp0rcsNRqSsLcQ3hyvw91+OQ0Isj5iJOoI9TF1Zecfw5Lu7cfPwMKTNjUagP6/tSt6p3cAlpUxrY/YGAFrlfgSAXAAQQmiklAZcOb+hVJkfCWA5gMKW1qEfqqlvwuLVBdAfqcKy+8Zjunag2iURuR32MPWs/PYInv5gL6aM7IXX5kQxbJFXs+ktRSllMQAow+wG82MAWyzmz1COEkuklMVtrEMWLtY1Yn5mPvKPVOHFGRMZtogcgD3McdK+LsHTH+zFbWN64z+JHNkisvmN9JaOHqWU0e3Mb+uI0+tVX74StnafqsYrs6Nw5/i+apdE5LHYw+zv1c8P4R//PYi7xvfFizMnwt/X4acLE7k8nrnoYgy1DZi7Ih/7yy7g9TlRuHVMH7VLIiKyipQSL+YewstbDmHapP5YFj8efgxbRAAYuFxK5aV6zMnQo7SiBmlztbhlZC+1SyIisoqUEks/PYA3virBDO0APDdtPHx9+D2BRGYMXC7i3MU6zEnX43hVLTLmaXHzcH6cnIjcg5QSz3y4D5nfHsGc2EF45p6x8GHYIroGA5cLKKuuQ0J6Hs5U12Hlwsn4UWRPtUsiIrKKySTx1Pt7sDbvGBb8KBxP3T2aV8AgagEDl8pOGS4jIT0PlZcasGZxDCaHh7S/EhGRCzCZJJ54ZxfWF5zAkpsj8PgdIxm2iFrBwKWiE1W1mJ2eh+rLjVi7OAaTBvVQuyQiIqsYTRKpm3bireKTePBnQ/HwVF7blagtDFwqOVJRg4T0PNQ2GJGdpMO4Ad3VLomIyCpNRhMe3rgD7+84jYenDsdDU4apXRKRy2PgUsHhc5eQkJ6HJpNETrIOo/t1U7skIiKrNBpNeChnGz7ZXYbHbh+J+38aqXZJRG6BgcvJDpRdxJyMPAAC61N0GN67q9olERFZpb7JiAfWbUPuvrN48s5RSLopQu2SiNwGA5cT7TldjcQMPQL8fJCdrENkWBe1SyIiskpdoxG/yirClwfK8cw9YzD3hnC1SyJyKwxcTrLzpAFzV+QjOMAX2ck6hPcMVrskIiKrXG4wInlNIb4tqcDz08ZhVswgtUsicjsMXE5QdOw8FmTmo3uQP3KSdRgYEqR2SUREVqmpb8KiVQUoOFqFf8RPwH3RA9QuicgtMXA5WP6RKixcmY+wrp2QnaxDP01ntUsiIrLKxbpGLFhZgO0nDHhx5kTcM7G/2iURuS0GLgf67nAFFq8uRD9NILKTdejdLVDtkoiIrFJd24h5K/Ox51Q1Xp09CXeM66t2SURujYHLQb46WI6UNYUIDw1GVlIswrp2UrskIiKrnK9pQOIKPQ6dvYT/JEZj6ujeapdE5PYYuBxgy76zuD+rGEN7dUFWUixCggPULomIyCoVl+qRmKFHaUUNls+Lxi0jeqldEpFHYOCys093l+HBnGKM6tsNaxbFQBPEsEVE7uHchTokZOhx8nwtMudPxo+H9VS7JCKPwcBlRx/uPI3frt+O8QO6Y/WiGHQL9Fe7JCIiq5RV1yEhPQ9lF+qwamEMdBGhapdE5FEYuOzknW0n8cjGHdAODkHmwsno0on/tETkHk6er0VCuh5VNQ1YsygG2vAQtUsi8jg+tm5ACBEvhIgTQqS2MC9KCCGFECXKbbkyfanyM8XW53cFGwtO4OGNO6CLCMWqRQxbRO7E23vY8cpazFyeB0NtA7KSYhm2iBzEpsAlhIgCACllLgCD+bGFECmlkFJGApgOYKkyPUUIUQKg1JbndwVZeceQ+tZO/HhoT2QumIygAIYtInfh7T2stPwSZizfipqGJmQn6zBxoEbtkog8lq0jXDMBGJT7pQDiLGcqTcwsQkppbk7TpZSRzea7nZXfHsGT7+7Gz0b2Qvo8LQL9fdUuiYg6xmt72OFzFzEzLQ+NRhNyknUY27+72iUReTRbh2M0AKosHrd4lqUQIg6AZWOKEkIAQJSUclkLy6cASAGAQYNc85pdaV+X4O8f78dtY3rjldlRCPCz+d1ZInI+u/cwd+hf+8suYE66Hj4+AutTdBjWu6vaJRF5PGelhKlSSvNRJKSUy5Qjw1ClkV1DSpkmpdRKKbVhYWFOKtF6r35+CH//eD/uGt8XryYwbBF5Aat7mKv3r92nqjE7LQ/+vj7YwLBF5DTtjnC1clJoqfmcBwDmMyw1ACpb2czV8yKEEPEAIKXcpCwf0ZGC1SSlxIu5h/DylkP45aT+eCF+PPx8GbaIXBl72Pe2nzBg3go9ugb6Izs5FoNDg9UuichrtBu4pJRpbczeAECr3I+AMuQuhNCYjwaFEBH4/hwJ4Mp5EubzICIBLO9gzaqQUmLZZwfwny9LMD16AJ6/bzx8fYTaZRFRO9jDrig6VoX5mQXoEeyPnGQdBvQIUrskIq9i0/CMlLIYuHp+g8H8GMCWZotWNVtnhnKUWGKxjsuSUuJvH+3Df74swZzYQVjKsEXkEbylh+lLKzF3RT7CunbCxiU3MGwRqcDm7zBo6ehRShltcb8UwJL21nFVJpPEXz7YgzVbj2HBj8Lx1N2joZwsS0QewNN72LeHK7B4dQEG9AhCdlIsenULVLskIq/EL41qg8kk8cQ7u7C+4ASW3ByBx+8YybBFRG7jywPnsGRtEYb0DEZWUix6dumkdklEXouBqxVGk0Tqpp14q/gkfnPLUDxy63CGLSJyG7l7z+LX64oxrHcXZC2ORY/gALVLIvJqDFwtaDKa8PDGHXh/x2k8PHU4HpoyTO2SiIis9smuM3gwZxvG9OuGNYti0T3IX+2SiLweA1czjUYTfrt+Gz7eVYbHbh+J+38aqXZJRERWe3/Hafx+w3ZMHKjByoWT0S2QYYvIFTBwWahvMuKBdduQu+8snrxzFJJucpuv1yEiwltFJ/Hoph3Qhocgc8FkdOnEFk/kKvjXqKhrNOJXWUX48kA5/nrPGMy7IVztkoiIrLah4Dgef3sXfhQZivR5WgQFsL0TuRL+RQK43GBE8ppCfFtSgeemjcPsGNe8/hkRUUvWbj2KP723Bz8ZHoblc6MR6O+rdklE1IzXB66a+iYsWlWAgqNVeCF+AuKjB6hdEhGR1VZ8cwTPfLgXcaN64bU5Uejkx7BF5Iq8OnBdrGvEwpUF2HbCgBdnTsQ9E/urXRIRkdXe+KoEz3+yH3eM7YOXZk1CgB+v7Urkqrw2cFXXNmLeynzsOVWNV2dPwh3j+qpdEhGR1V7ecgj/2nwQd0/ohxdnTICfL8MWkSvzysB1vqYBiSv0OHj2Iv6TGI2po3urXRIRkVWklPjX5oN45fPDmDapP16YPoHXdiVyA14XuCou1SMxQ4/SihqkzdPilhG91C6JiMgqUko8/+l+LP+qFDO1A/H3aeMYtojchFcFrnMX6jAnQ48T52uROX8yfjysp9olERFZRUqJv364Fyu/PYpE3SD89Rdj4cOwReQ2vCZwlVXXISE9D2UX6rBqYQx0EaFql0REZBWTSeLP7+9GVt5xLLpxCP501yhe25XIzXhF4Dp5vhYJ6XpU1TRgzaIYaMND1C6JiMgqRpPEE2/vwobCE1jykwg8fvtIhi0iN+Txget4ZS1mp+fhQl0j1i6OwaRBPdQuiYjIKk1GE1I37cTb207hoZ8Nxe+nDmfYInJTHh24jlTUYHZaHuqajMhJ1mFs/+5ql0REZJVGowkPb9yBD3acxiNTh+PBKcPULomIbOCxgevwuYuYna6HySSRk6zDqL7d1C6JiMgqDU0mPJSzDZ/uKcMf7xiJJT+JVLskIrKRXb4pTwgR1ca8eCFEnBAita1p9rS/7AJmLs8DAKxPYdgiora5Ug+rbzLi1+uK8OmeMvz5rtEMW0QewubAJYSIA5DeyrwoAJBS5gIwCCGiWppmaw2Wdp+qxuy0PPj7+mBDig7Dene15+aJyMO4Ug+razQieU0RcvedwzP3jsWiHw+x16aJSGU2By6l6VS1MnsmAINyvxRAXCvT7GLHCQMS0vMQFOCHDUt0iAjrYq9NE5GHcpUeVtvQhEWrCvC/Q+VYet84zNUNtsdmichFOPocLg2ubWShrUyzWdGxKizILIAm2B85yToM6BFkj80SkXdzSg+7VH8lbBUercI/p0/AtKgBtm6SiFyMS17tVAiRIoQoFEIUlpeXW7XOf/eeRc+unbBxyQ0MW0SkmuvpX4fPXcLe0xfw0qxJDFtEHqrdES4hREoLk0uVYfj2GACYv2VUA6BSud/StKuklGkA0gBAq9VKK54Hj98+Evf/JBKaoABrFiciL+HsHnY9/WviQA3+l3oLegSzfxF5qnYDl9I8OkQIoZFSGgBsAKBVJkcAMDe4lqbZRAjBsEVEP+AuPYxhi8iz2eNTivEAtMpPsy0AIKUsVpaJA2CQUha3NM3WGoiIrhd7GBE5g5DSqhFv1Wi1WllYWKh2GUTkJEKIIimltv0lXR/7F5H3aa2HueRJ80RERESehIGLiIiIyMEYuIiIiIgcjIGLiIiIyMEYuIiIiIgcjIGLiIiIyMFc/mshhBDlAI5ZuXhPABUOLMdVeMN+esM+AtzPlgyWUoY5shhn6WD/Arzj98Eb9hHwjv30hn0EOr6fLfYwlw9cHSGEKPSU7+9pizfspzfsI8D9pGt5w7+TN+wj4B376Q37CNhvP/mWIhEREZGDMXAREREROZinBa4OX6TWTXnDfnrDPgLcT7qWN/w7ecM+At6xn96wj4Cd9tOjzuEiIiIickWeNsJFRCoTQkS1MS9eCBEnhEh1Zk1ERNZyVA/zqMDFRu+e2nttPOW1s2I/lyo/U5xbmf0IIeIApLcyLwoApJS5AAxt/b16I/Yv98T+dXW+2/cvwLE9zGMCl7c0ek/7pW/vtfGU187K/UgRQpQAKHVqcXak7F9VK7NnAjAo90sBxDmlKDfA/nV1PvuXC/KW/gU4tod5TODyhkbvob/07b02HvHawbr9mC6ljFReX0+kwbV/o6FqFeJq2L+uYv9yTexfV9jUwzwmcLXDUxq9J/7St/faeMprZ81+RHnCWw9kd57yN8D+5b6vHfuXHXhL4PIU/KX3YFLKZcp/NKHKW0yexgAgRLmvAVCpYi3kfOxfHswL+hdgYw/zs3s5DtLKe/qlVh4JeU2jl1IuAwAhxFQhRJwbHCm299p4ymvX5n4IIeIBQEq5SZkX4dTqHEgIoZFSGgBsAGC+PEYEAFf/3bQb9i/rsH+5LK/tX4D9epjbBC4pZYe/eMwdG307jdkTf+lbfG3c8bVrR3v7WYrvz1uJBLDc6RXagfI7qBVCxCu/hwCwBUC0lLJYCKFVjn4NUspi9Sp1LvYv9i+4+GvXDq/oX4Bje5jbBK72eEqjb6cxe9wvfRuvjdu9dm2xcj9ThBBVAErceD83AdjUbFq0xX1v+WbqDmH/Yv9yZd7SvwDH9jB+07ybUY4gSwFEmF94IUSR+RdCmV+lzF+mXqVERNdi/yJvxsBFRERE5GD8lCIRERGRgzFwERERETkYAxcRERGRgzFwERERETkYAxcRERGRgzFwERERETkYAxcRERGRgzFwERERETkYAxcRERGRgzFwERERETkYAxcRERGRgzFwERERETkYAxcRERGRgzFwERERETkYAxcRERGRgzFwERERETkYAxcRERGRgzFwERERETkYAxcRERGRgzFwERERETkYA5eHE0JECCHeFEIUCSHilVuqEOK8CnVsFkJE2bq8xX4sFULEt7F+8/1eKoSIa2N+ahvbi7O4HyWESFHW11jOIyL7YO+yf+9qYR57mTNJKXnz8BuAeADLm02LAxDRznopdq5jKYAoW5YHEAUgzuLxeQCaDuz31eVbmZ/afL8BpDZ7/CYAjcV2ojqyX7zxxpt1N/aua6bZ3LtaeB72MifeOMLlhYQQGillLq78obW6DIAldn7qSjssHwFgqsXjKmWatdpcXkq5DFeaJYArR5MASpstppFSGqSUBmWdYgAzO1ADEV0H9i6be1dz7GVOxMDlZZQ/wgjgyh+XECJOCFGiDEtrzMPUyjIaZXqUxfqpyjopytB2lLJ+nHJbrjQ88/IpyvQoAJOb1XLNttpbXql5k5TyMWVZjXk/OrDv1ixfZV4WwBIp5SaLbUQBCFH+XSybX6XlfhORfbF32da7Wtgme5mT+aldADlNhNKMlgB4zDxRSpkrhJiKK0dGBgBTzEc7QghDs7CRYl5HefymlHK6EKIUQKmUslT5I9YCyFXOB9BYLF/a1raEEMtbW74VS3HtEWNr+x2HK0fEIVLKyHaWN9M0+wml3mIhRFULjawUyn5buX0isg57lx16V3PsZc7HwOU9SqWUm4QQuQBCgCtHTVJKc7PZDGC6uWG0IhpAkcXR0GaLeVUtLD8VQEEHttXW8tdQGvBSKWV7ja20nX1qSYjFkWSIlesY0E6DI6Lrwt5lvVZ7lxBiKb7vUW09P3uZg/AtRS+jvF9v/kOLAq4ObxcCMDT7lEqVMt88bbOyjVJlGxstt9vC0xXgh+ccmJtAS9tqa/mrlHqKlWaraTYcbhMhRCqA5ywmtdSMW6LBlUZFRA7A3tW29nqXlPIxKeUS5dZW2GMvcxAGLg+n/EHPBKAV33+EOEUIUQSgVDna2oIrw8jLAbxpHjJvdh/moWdlG3G4MuQdpfxMUZrfVADTxZWTW83Lm89riAKwpNm8q9tqa3mL/YmyqLMIwJGWmkez/W7p49kt/bukAjAoJ5+aGZqtZ97f1GabjMCVxk9EdsDeec4LygAAIABJREFUZd/e1cJ22MucTMgrHwUlohaYm1JbJ58qyy01nxBLRKQ2a3tXC+uxlzkIR7iI2qCcD9HmeVxKY9vgnIqIiNpnTe9qjr3MsRi4iNohpUxrdn7IVcpbBpYnqhIRuYS2eldz7GWOx7cUiYiIiByMI1xEREREDuby38PVs2dPGR4ernYZROQkRUVFFVLKMLXrsAf2LyLv01oPc/nAFR4ejsJCfkKVyFsIIY6pXYO9sH8ReZ/WehjfUiQiIiJyMAYuIiIiIgdj4CIiIiJyMAYuIiIiIgezS+Bq6XpPFvPiletLpbY1jYhIDexfROQMNgcu5Vts01uZFwUAUspcXLmae1RL02ytgYjoerB/EZGz2By4lMZT1crsmfj+iuWlAOJamUZE5HTsX0TkLI4+h0uDa5tZaCvTiIhcDfsXEdkNT5onIoepbzLiN9nF+OpgudqlEBF12NvFJ/HEO7tgMtl+3WlHBy4DgBDlvgZAZSvTriGESBFCFAohCsvL2aiJ3FFdoxG/WluED3eewfGqWrXLuR7sX0RebGPBCTzy5g4crahBg9Fk8/YcEriEEBrl7gYAEcr9CAC5rUy7hpQyTUqplVJqw8I84pJqRF7lcoMRSasL8eXBcjw3bRzm6garXZLV2L+IaG3eMaS+tRM3DQtD5oLJCPT3tXmb9viUYjwArfLTbAsASCmLlWXiABiklMUtTbO1BiJyHTX1TVi4Kh/fllRg2X3jMTtmkNoltYr9i4iay/zmCP707m5MGdkLaXOj7RK2AEBIafv7ko6k1WolL/5K5B4u1jVi4coCbDthwL9mTMA9E/t3eBtCiCIppdYB5Tkd+xeRe1n+VQme+2Q/bh/TBy/PnoQAv46PS7XWw/zsUiEReb3qy42Yn5mP3aeq8crsSfj5uL5ql0REZLVXthzCPzcfxN0T+uFfMybA39e+Z10xcBGRzc7XNGBuph4Hyi7i9TlRuHVMH7VLIiKyipQSL24+iJc/P4xpk/rjhekT4Osj7P48DFxEZJOKS/VIzNCjtKIGaXO1uGVkL7VLIiKyipQSz3+6H8u/KsVM7UD8fdo4h4QtgIGLiGxw7mId5qTrceJ8LVbM1+KmYfxUHhG5ByklnvlwHzK/PYJE3SD89Rdj4eOgsAUwcBHRdSqrrkNCeh7KLtRh5YIY3BDJL10nIvdgMkk89f4erM07hoU3huPPd42GEI4LWwADFxFdh1OGy0hIz0Plpf9v787Dorrvt4+/jwoiuKCI+wruO4swadqmTUibtGmzGRdE4wKYJk3zS9qk6ZJu6aZpkyZt2gpucUFNbZqtT5JG2yRNKiOI+y64rwiiKCLLfJ8/OqTEqIwOcGa5X9flxcycOXCPM3y4z+Ewp4rFM5JI7Nep4ZVERHyAy2X4/t+2sCLvELNuiuHJ24Y0edkCFS4RuUYHSyqYlJ3L2cpqlsxMIq5PR7sjiYh4pNZleHzVJl4pOMLDNw/gsVsHNUvZAhUuEbkG+06dJzU7lwvVteSkOxjZq4PdkUREPFJT6+LRlzfxxqajPHbrIL51y8Bm/foqXCLikb0ny0nNdlLjMuSkOxjWo73dkUREPFJV4+KRFRt4a+txnrx9CA/cFNvsGVS4RKRBu46XM3leLmCxItPBoK7t7I4kIuKRizW1PLSsgNU7TvLUHcOY+dn+tuRQ4RKRq9p65AxT5jsJbdWCnAwHsdFt7Y4kIuKRyupaZi1Zz/u7i3n6rhFMcfS1LYsKl4hc0aZDZUyZ76RdWAg5Gcn0jYqwO5KIiEcqqmrIWJzPfwpLmH3vSCaM7WNrHhUuEbms9QdOM23BOiIjQshJd9C7U7jdkUREPHLuYg0zFuWRv7+U34wbzb0JveyOpMIlIp/mLCphxqI8urQPY1l6Mj0i29gdSUTEI2crq5m+MI+Nh8r43cQ4vj66h92RABUuEbnER3tPkf5SPj0iw1ie4aBL+zC7I4mIeORMRTVTFzjZdvQsf5gUx+0ju9sd6WMqXCLysfd3F5O5OJ9+UREsTU8mul1ruyOJiHik9HwVU+Y72XPiHH9OSyBlWFe7I32CCpeIALBmxwm+sbSAAV3asjQ9mU4RoXZHEhHxyKlzF0mb56To1HmypibwhcFd7I70KSpcIsLbW4/z8PIChnZvz+IZSUSGq2yJiH84ebaS1HlODp+uYOG0sdw4oLPdkS5LhUskyL2x6Sj/t3Ijo3t1YNGMJNqHhdgdSUTEI8fOXCA128mJs5Usmp6EIybK7khXpMIlEsReKTjMd/6yicR+nVgwbSxtW2skiIh/OHy6gtRsJ6fPV7FkZhIJfTvZHemqWnj7CSzLGmdZVoplWU9cZlm8ZVnGsqxC97+57ttnuz9mevv1ReT6vJx3iG//ZROOmCgWTQ/OsqX5JeKfDpScZ8LcXMoqqliSnuzzZQu8LFyWZcUDGGNWA2V11+vpZIyxjDGxwH3AbPftmZZlFQJF3nx9Ebk+S3MP8MRfN/O5gdEsmDaW8NCgLFuaXyJ+qKj4HBPm5nK+qoacDAdjekfaHckj3u7hmgCUuS8XASn1F7oHWZ0YY0zdgLrPGBN7yXIRaQYLP9rHD1/dyi1DupA1JYGwkJZ2R7KL5peIn9lzopwJWblU17pYkelgRM8OdkfymLebtZFAab3rlz1azbKsFKD+cIq3LAsg3hgzx8sMIuKhue8X8qu3dnLb8G68MCmO0FZeH1XgzzS/RPzIjmNnSZvnpEULixWZDgZ2bWd3pGvSXNP2VmNM3ZYkxpg57q3DKPcw+wTLsjIty8q3LCu/uLi4mSKKBLbfr9nDr97ayR2juvP71KAvW9dC80vEZluPnGFSdi4hLVuw0g/LFnhfuMqAuiPVIoGSK9zv42Mj3AepjnNfLQFiLr2zMSbLGJNojEmMjo72MqJIcDPG8Ow/dvHbd3dzT1xPfjdhDCEtVbbQ/BLxCxsPlZGanUtEaCtWznIQE93W7kjXxdupu5L/DZwY3LvdLcv6+Ag2y7Ji+N9xEvDfYyXqds/HAvleZhCRKzDGMPvtXbzwz72MT+zFM/eNppXKVh3NLxEfl7+/lLR5TiLDQ1k5y0HfqAi7I103ryavMaYAPj7GoazuOrDmkruWXrLOePdWYmG9dUSkERljePrNHfz5/ULSHH349T2jaNnCsjuWz9D8EvFtuUUlTF2wji7tWrNyloNeHcPtjuQVr/8W3BiTdZnbEupdLgJmNbSOiDQel8vw49e3sST3ANNv7MeP7hiG+0BvqUfzS8Q3fbjnFOmL8+jdMZxl6cl0aR9mdySvBd+b74gEOJfL8P2/bWFF3iFmfT6GJ28forIlIn7jX7tOMmvJemI6R7A0PZnObVvbHalRqHCJBJBal+HxVZt4peAID988gMduHaSyJSJ+493tJ3hoWQEDu7Zl6cxkOkaE2h2p0ahwiQSImloXj728idc3HeWxWwfxrVsG2h1JRMRjb205xsPLNzC8ZwcWT0+iQ3iI3ZEalQqXSACoqnHxyIoNvLX1OE/ePoQHboq1O5KIiMde23iEx17exJjekSyaPpZ2YYFVtkCFS8TvXayp5aFlBazecZKn7hjGzM/2tzuSiIjHVq0/zBOrNpHYrxMLp40lonVgVpPAfFQiQaKyupZZS9bz/u5inr5zOFNu6Gd3JBERj61Yd5Dv/W0Ln4mNIntqIuGhgVtLAveRiQS4C1W1pC/O4z+FJfz6npFMTOpjdyQREY8tWbufp17bxk2Dopk7JYGwkJZ2R2pSKlwifuj8xRpmLMojb38pvxk3mnsTetkdSUTEY/M/3MfTb24nZWhXXpwcR+tWgV22QIVLxO+craxm+sI8Nh4q43cT4/j66B52RxIR8dif3itk9ts7uX1EN56fGEdoq+A43ZgKl4gfOVNRzdQFTrYdPcsfJsVx+8judkcSEfHYC2v28Oy7u/n66B48Oz64zu2qwiXiJ06fryJtvpM9J87xp7QEbh3W1e5IIiIeMcbw7Lu7+f0/93JPfE+eGTc66M7tqsIl4gdOnbtI2jwnRafOkzU1gS8M7mJ3JBERjxhj+PVbO5n7QRETx/bml3ePpEWQlS1Q4RLxeSfPVpI6z8nh0xUsnDaWGwd0tjuSiIhHjDH87M3tLPxoP1Mcffnp14cHZdkCFS4Rn3bszAVSs52cOFvJoulJOGKi7I4kIuIRl8vw1GtbWeY8yIwb+/PUHUOD+tyuKlwiPurw6QpSs52Unq9i8YwkEvt1sjuSiIhHal2G772ymZfzD/PATbF897bBQV22QIVLxCcdLKlgUnYu5ZXVLE1PZkzvSLsjiYh4pKbWxeOrNvO3DUf41i0DeTRlYNCXLVDhEvE5RcXnSM12UllTS06GgxE9O9gdSUTEI9W1Lh5duZE3Nx/jO18axDdvHmh3JJ+hwiXiQ/acKCd1nhOXy7Ai08GQbu3tjiQi4pGqGhcPLy/gnW0n+P5XhpD5+Vi7I/kUFS4RH7Hj2FnS5jlp0cJiRaaDgV3b2R1JRMQjldW1PLSsgDU7T/Ljrw1j+o397Y7kc1S4RHzA1iNnSJvvJKxVS3IykomJbmt3JBERj1RW15K5ZD0f7C7m53eNIM3R1+5IPsnr99S3LGucZVkplmU9cYXls90fMz1dRySYbDxURmp2LhGhrVg5y6Gy1Yw0v0S8U1FVw4xFefx7TzFz7h2lsnUVXhUuy7LiAYwxq4GyuuuXyLQsqxAouoZ1RILC+gOlpM1zEhkeyspZDvpGRdgdKWhofol459zFGqYtyCO3qIRnx49m/Njedkfyad7u4ZoAlLkvFwEpl7nPfcaYWPeA8nQdkYCXW1TClPnriG7XmpWzHPTqGG53pGCj+SVync5WVjN1vpP1B0/z/MQ47o7rZXckn+ftMVyRQGm965d7G+x49/tvxBtj5niyjnv3fSZAnz59vIwo4ns+3HOK9MV59OoYTk56Ml3ah9kdKRhpfolch7KKKqYuWMeOY2d5MTWO20Z0tzuSX/D6GK6GGGPmuLcOoyzL8mhr0BiTZYxJNMYkRkdHN3FCkeb13q6TzHgpj35REazIdKhs+TDNL5FPKj1fRWq2k53HyvlzWoLK1jXwdg9XGVB3vpFIoKT+QsuyxgEYY1a5l8U0tI5IIFu9/QQPLitgYNe2LJ2ZTMeIULsjBTPNL5FrUFx+kbR5TvaXnCf7/kRuGqQNimvh7R6ulfx3COH+uBrAsqy685AU1d0GxAL5V1pHJNC9teUYDyxdz9Ae7clJd6hs2U/zS8RDJ85WMjFrLQdLK1g4bazK1nXwqnAZYwoA3Lvay+quA2vqLR/v3lIsNMYUXGUdkYD12sYjfHP5Bkb3jmTJzCQ6hIfYHSnoaX6JeOZo2QUmzF3L8TOVvDQjic8M6Gx3JL/k9RufGmOyLnNbQgPLP3WbSKD66/rDPL5qE4n9OrFg2ljattb7DfsKzS+RqztUWkHqvFzKzlezeGYyCX072h3Jb2nyizShlXkHefKVLXwmNorsqYmEh+pbTkT8w4GS86RmOymvrGZpejKje0c2vJJckaa/SBNZsnY/T722jZsGRTN3SgJhIS3tjiQi4pHC4nOkZudSVeNieaaD4T062B3J76lwiTSB+R/u4+k3t5MytCsvTo6jdSuVLRHxD7tPlJOa7QQMKzJvYHC3dnZHCggqXCKN7E/vFTL77Z3cPqIbz0+MI7RVk7/dnYhIo9h+9Cxp8520amGRk3EDA7ro3K6NRYVLpBG9sGYPz767m6+N7sFz40fTqqXKloj4hy2Hz5A230l4aEtyMhz076xzuzYmFS6RRmCM4dl3d/P7f+7lnviePDNuNC1bWHbHEhHxyIaDp5m6YB3tw0JYkemgdyed27WxqXCJeMkYw6/f2sncD4qYOLY3v7x7JC1UtkTET+TtL2X6wjyi2oaSk+GgZ2QbuyMFJBUuES8YY/jZm9tZ+NF+pjj68tOvD1fZEhG/sbawhJkv5dGtfRg5GQ66ddC5XZuKCpfIdXK5DD96fStLcw8y48b+PHXHUCxLZUtE/MO/9xSTsTif3h3DWZaRTJd2KltNSYVL5DrUugzff2ULK/MP8cBNsXz3tsEqWyLiN/618ySzlq4npnMEy9KTiWrb2u5IAU+FS+Qa1dS6eGLVZl7ZcIRv3TKQR1MGqmyJiN/4x7bjPJRTwOBu7VgyI5mOEaF2RwoKKlwi16C61sWjKzfy5uZjfOdLg/jmzQPtjiQi4rG/bz7GIys2MKJnB16akUSHNiF2RwoaKlwiHqqqcfHw8gLe2XaC790+hFk3xdodSUTEY69tPMKjKzcS36cjC6ePpV2YylZzUuES8cDFmloeXFrAmp0n+dEdw5jx2f52RxIR8diq9Yd5fNUmkvt3Yv79Y4lorR//zU3/4yINqKyuJXPJej7YXczP7xpBmqOv3ZFERDy2fN1Bvv+3LXx2QGeypiTSJlTndrWDCpfIVVRU1ZD+Uj5ri0qYc+8oxo/tbXckERGPLV67nx+9to0vDo7mT2kJhIWobNlFhUvkCs5drGHGwjzyD5Ty7PjR3B3Xy+5IIiIem/fvIn7+9x3cOqwrf0iNo3UrlS07qXCJXMbZymqmLVjHpsNneH5iHF8b3cPuSCIiHvvje3uZ8/YuvjKyG89PjCOkZQu7IwU9FS6RS5ypqGbqAifbj53lxdQ4bhvR3e5IIiIeMcbwwpq9PLd6N3eO6cFv7xtNK5Utn+D1s2BZ1jjLslIsy3riCssz3f9m17ttdt0yb7++SGMqPV/FpOxcdhwr589pCSpbAU7zSwKJMYbf/GMXz63ezbiEXjw7fozKlg/x6pmwLCsewBizGiiru15veQqw2hiTBcS4rwNkWpZVCBR58/VFGlNx+UUmZeVSWHyO7PsTuWVoV7sjSRPS/JJAYozhl/9vBy/+q5BJSX2Yc+8oWrbQGTB8ibfVdwJQ5r5cBKRcsjym3m1F7usA9xljYt2DTsR2J85WMjFrLQdLK1g4bSw3DYq2O5I0Pc0vCQjGGH76xnay/72P+2/oyy/vHkELlS2f4+0xXJFAab3rUfUXurcM68QDK+suu889F2+MmXPpJ3Xvqs8E6NOnj5cRRa7uaNkFUrNzKS6/yKLpY0mOiWp4JQkEml/i91wuww9f20qO8yDpn+3PD746VOd29VHN8std9676d40xBQDGmDnurcOoervpP2aMyTLGJBpjEqOjtadBms6h0gomZK2l5FwVi2cmq2zJp2h+ia+qdRm++9fN5DgP8uAXYlW2fJy3e7jKgE7uy5FAyRXul1K3JWhZ1jgAY8wq9/1jrrCOSJM6UHKe1Gwn5ZXVLE1PZnTvSLsjSfPS/BK/VVPr4jt/2cSrG4/yfykDeeSWgSpbPs7bPVwr+d/AiQFWA1iW9fFPLsuyMusNqxT+eyxE3bEPsUC+lxlErllh8TnGz11LRVUNORkOla3gpPklfqm61sUjKzby6sajPP7lwfxfyiCVLT/gVeGq28XuHkRlddeBNfVun21ZVqFlWafrrTPevaVYWG8dkWax+0Q5E+bmUusyLM90MKJnB7sjiQ00v8QfXayp5aFlBfx9yzF+8JWhPPTFAXZHEg95/canlxxYWndbgvvjaqCjJ+uINIftR8+SNt9JqxYWORkOBnRpZ3cksZHml/iTyupaHlxWwD93nuQnXxvGtBv72x1JroHeaV6CxtYjZ0ib76RNSEtyMhz07xxhdyQREY9cqKolc0k+/95zil/ePZLUZP0FrL9R4ZKgsOHgaaYuWEf7sBBWZDro3Snc7kgiIh6pqKph5qJ8cveVMGfcKMYn9rY7klwHFS4JeHn7S5m+MI9OEaEsz3TQM7KN3ZFERDxSXlnNjEV5rD9wmufGj+GuuJ52R5LrpMIlAW1tYQkzX8qjW/swcjIcdOsQZnckERGPnLlQzbSF69h8+AwvTIrjjlE97I4kXlDhkoD14Z5TpC/Oo3fHcJZlJNOlncqWiPiHsooqpsxfx87jZ/nj5Hi+PLyb3ZHESypcEpD+tfMks5auJ6ZzBMvSk4lq29ruSCIiHik5d5G0+esoLD7H3CkJ3Dykq92RpBGocEnA+ce24zyUU8Dgbu1YMiOZjhGhdkcSEfHIyfJK0uY5OVBSwbypiXx+kE4PFShUuCSg/H3zMR5ZsYHhPTuweEYSHdqE2B1JRMQjx89Ukjovl2NllSycNpbPDOhsdyRpRCpcEjBe23iER1duJL5PRxZOH0u7MJUtEfEPR8oukJqdy6nyi7w0I4mk/p0aXkn8igqXBIRV6w/z+KpNJPfvxPz7xxLRWi9tEfEPh0ormJSdy5kL1SxJTya+z6dOcCABQD+VxO8tX3eQ7/9tC58d0JmsKYm0CW1pdyQREY/sP3We1OxczlfVkpPuYGQvnds1UKlwiV9bvHY/P3ptG18cHM2f0hIIC1HZEhH/sPfkOVKzc6lxGZZnOBjWo73dkaQJqXCJ35r37yJ+/vcd3DqsK39IjaN1K5UtEfEPu46XM3leLmCxPMPB4G7t7I4kTUyFS/zSH9/by5y3d/GVkd14fmIcIS1b2B1JRMQj24+eJW2+k1YtLHIyHAzo0tbuSNIMVLjErxhjeGHNXp5bvZs7x/Tgt/eNppXKloj4ic2Hy5gyfx0RoS3JyXDQr3OE3ZGkmahwid8wxvCbf+zixX8Vcm98L+aMG0XLFpbdsUREPFJw8DT3z19Hh/AQlmc46N0p3O5I0oxUuMQvGGP45f/bQfa/9zEpqTe/uGskLVS2RMRPrNtXyvSF6+jcrjU5GQ56RraxO5I0MxUu8XnGGH76xnYW/Wc/U2/oy0++NlxlS0T8xn8KTzFzUT7dI8NYnuGga/swuyOJDVS4xKe5XIYfvraVHOdB0j/bnx98dSiWpbIlIv7hg93FZCzOp29UOMvSHUS3a213JLGJ14XLsqxxQBkQb4yZ48nyhtYRAah1GZ7862b+sv4wD34hlse/PFhlSxqV5pc0pX/uPMEDSwqI7dKWpTOTiGqrshXMvPrzLsuy4gGMMauBsrrrV1ve0DoiADW1Lr798kb+sv4wj9wyUGVLGp3mlzSlt7ceZ9aS9Qzu1o7lGckqW+Jd4QIm8N8tPYAiIMWD5Q2tI0GuutbFIys38urGozz+5cE8eusglS1pCppf0iTe3HyUh3IKGNGzA0vTk4kMD7U7kvgAbwtXJFBa73qUB8sbWgfLsjIty8q3LCu/uLjYy4jiT6pqXHwzp4C/bz7GD74ylIe+OMDuSBK4NL+k0b264QjfWr6B+D6RLJmZTIc2IXZHEh/hk+8YaYzJMsYkGmMSo6Oj7Y4jzaSyupYHlq7nnW0n+MnXhpHx+Ri7I4lcM82v4PVy/iEefXkjyf2jeGlGEm1b6+/S5H+8fTWUAZ3clyOBEg+XX20dCUIXqmrJXJLPv/ec4hd3j2Bycl+7I0ng0/ySRrPMeYAf/G0rnxvYmawpibQJ1bld5ZO8LVwrgUT35RhgNYBlWZHGmLIrLb/CbRKkKqpqmLkon9x9JcwZN4rxib3tjiTBQfNLGsWij/bxkze2c/OQLvxxcjxhISpb8mle/UrRGFMAYFlWClBWdx1Yc6XlV1lHgtC5izXcv2Adzn0lPDt+tMqWNBvNL2kM2R8U8ZM3tvOlYV35c1qCypZckde/YDbGZF3mtoQGln/qNgk+Zy5UM23hOjYfPsMLk+K4Y1QPuyNJkNH8Em+8+K+9PPPOLr46qju/mzCGkJY+eVi0+Agd0Se2KKuoYsr8dew8fpY/To7ny8O72R1JRMQjxhh+t3oPz6/Zw91xPXlm3ChaqWxJA1S4pNmVnLtI2vx1FJ48x9wpCdw8pKvdkUREPGKMYc47u/jTe4Xcl9CLX987ipY6t6t4QIVLmlVx+UUmz8vlQEkF8+5P5POD9GfzIuIfjDH84u87mPfhPlKT+/DzO0fQQmVLPKTCJc3mxNlKUrNzOVpWycJpY/nMgM52RxIR8YjLZfjpG9t4ae0Bpn2mHz/+2jCdAUOuiQqXNIujZRdIzc6luPwiL81IIql/p4ZXEhHxAS6X4QevbmH5ukNkfj6G790+RGVLrpkKlzS5Q6UVTMrO5cyFapakJxPfp6PdkUREPFLrMjyxajN/LTjMN784gG9/Sed2leujwiVNav+p86Rm53K+qpZl6cmM6hVpdyQREY/U1Lr49l828drGozyaMohHUgbaHUn8mAqXNJm9J8+Rmp1LjcuQk5HM8B4d7I4kIuKR6loXj6zYwP/bcpwnbhvMg18YYHck8XMqXNIkdh0vZ/I8JwDLMxwM7tbO5kQiIp65WFPLN3M28O72E/zwq0NJ/1yM3ZEkAKhwSaPbfvQsafOdtGphkZPhYECXtnZHEhHxSGV1Ld9Yup5/7SrmZ3cOZ+oN/eyOJAFChUsa1ebDZUyZv46I0JbkZDjo1znC7kgiIh65UFVLxuJ8Pio8xa/uGcmkpD52R5IAosIljabg4Gnun7+ODuEhLM9w0LtTuN2RREQ8cv5iDTNfysO5r5Q5947ivsTedkeSAKPCJY0ib38p0xaso3O71uRkOOgZ2cbuSCIiHimvrGb6wjw2HCrjdxPGcOeYnnZHkgCkwiVe+0/hKWYuyqd7ZBjLMxx0bR9mdyQREY+cuVDN/QvWsfXIGX4/KY6vjOxudyQJUCpc4pUPdheTsTifvlHhLEt3EN2utd2RREQ8cvp8FVMWONl1vJw/To7nS8O72R1JApgKl1y3f+48wQNLCojt0palM5OIaquyJSL+4dS5i6TNc1J06jxZUxL54pAudkeSAKfCJdflnW3H+WZOAUO6tWfJzCQiw0PtjiQi4pGT5ZVMznZy6HQF8+9P5HMDo+2OJEFAhUuu2d83H+ORFRsY2asDi6Yn0aFNiN2RREQ8cvxMJanZuRw/W8nCaUncEBtldyQJEipcck1e3XCEx17eSELfjiycnkTb1noJiYg79vDvAAAZPElEQVR/OFJ2gdTsXErOVbF4RhKJ/TrZHUmCiH5aisdezj/Ed/+6GUf/KOZPSyQ8VC8fEfEPB0sqmJSdy9nKapbMTCKuT0e7I0mQaeHtJ7Asa5xlWSmWZT1xheWZ7n+z6902u26Zt19fmkeO8yBPrNrMZwd0ZsG0sSpbEjA0wwLfvlPnmZC1lvNVNeSkO1S2xBZeFS7LsuIBjDGrgbK66/WWpwCrjTFZQIz7OkCmZVmFQJE3X1+ax0v/2c/3/7aFm4d0IXtqIm1CW9odSaRRaIYFvr0ny5kwdy0Xa1zkpDsY2auD3ZEkSHm7h2sCUOa+XASkXLI8pt5tRe7rAPcZY2LdQ+5T3FuT+ZZl5RcXF3sZUbyR/UERP359G18a1pU/pyUQFqKyJQGl0WeY5pfv2HW8nIlZubgMrMh0MKxHe7sjSRDz9vdCkUBpveuf+HMP91ZhnXhgZd1ly7IA4o0xcy79pO71sgASExONlxnlOr34r708884uvjqqO7+bMIaQll7/BlrE1zT6DNP88g1bj5xhynwnoa1akJPhIDa6rd2RJMg1y09Q9276d40xBQDGmDnuLcOoervoxUcYY3ju3d08884u7hrTg+dVtiTIaYb5l02HykjNziU8tBUvz7pBZUt8QoN7uK5wUGhR3TEPQN3f1UYCJVf4NCl1W4GWZY0DMMasct8/5grriA2MMTzzzi7++F4h4xJ6MfveUbRsYdkdS+S6aYYFl/UHTjNtwToiI0LISXfQu1O43ZFEAA8K1yW71C+1Ekh0X44BVgNYlhVpjClzX86sN6hS+O9xEHUHmsYCc68vujQ2Ywy/+PsO5n24j9TkPvz8zhG0UNkSP6cZFjycRSXMWJRHl/ZhLEtPpkdkG7sjiXzMq98T1e1edw+hsrrrwJp6t8+2LKvQsqzT9dYZ795KLKy3jtjI5TL85PVtzPtwH9M+049f3KWyJYFPMyxwfLT3FNMW5tGtQxgrMx0qW+JzvH4zpcttPRpjEtwfVwOfesOTBrY4pZm5XIYfvLqF5esOkfG5/nz/K0NxHxAsEvA0w/zf+7uLyVycT7+oCJamJxPdrrXdkUQ+Re9eGeRqXYYnVm3mrwWHeeiLsXznS4NVtkTEb6zefoIHlxUwoEtblqYn0yki1O5IIpelwhXEampdfPsvm3ht41EeTRnEt24ZoLIlIn7j7a3H+GbOBob1aM/iGUlEhqtsie9S4QpS1bUu/m/FRv6+5RhP3DaYB78wwO5IIiIee2PTUf5v5UZG9+rAohlJtA8LsTuSyFWpcAWhizW1fDNnA+9uP8EPvzqU9M/pr9pFxH+8UnCY7/xlE4n9OrFg2ljattaPMvF9epUGmcrqWr6xdD3/2lXMz+4cztQb+tkdSUTEYy/nHeK7r2zmhpgo5t2fSHiofoyJf9ArNYhcqKolc0k+H+49xS/vHklqch+7I4mIeGxp7gF++OpWPj8omqwpOrer+BcVriBx/mINM1/Kw7mvlDn3juK+xN52RxIR8djCj/bx0ze2c8uQLrw4OV5lS/yOClcQKK+sZvrCPDYcKuN3E8Zw55iedkcSEfHY3PcL+dVbO7lteDdemBRHaCud21X8jwpXgDtzoZr7F6xj65EzvDAxjq+O6m53JBERj/1+zR5+++5u7hjVnecmjCGkpcqW+CcVrgB2+nwVUxY42XW8nD9OjudLw7vZHUlExCPGGJ57dzcv/HMv98T1ZM64UbRS2RI/psIVoErOXWTyPCdFp86TNSWRLw7pYnckERGPGGOY/fYu/vx+IeMTe/Gre0bRUud2FT+nwhWATpZXMjnbyaHTFcy/P5HPDYy2O5KIiEeMMTz95g4WfLSPNEcffvb1EbRQ2ZIAoMIVYI6fqSQ1O5fjZytZOC2JG2Kj7I4kIuIRl8vw49e3sST3ANNv7MeP7him041JwFDhCiBHyi6Qmp1LybkqFs9IIrFfJ7sjiYh4xOUyfP9vW1iRd4hZn4/hyduHqGxJQFHhChCHSiuYmJXL2cpqlsxMIq5PR7sjiYh4pNZleHzVJl4pOMLDNw/gsVsHqWxJwFHhCgD7Tp0nNTuXC9W15KQ7GNmrg92RREQ8UlPr4rGXN/H6pqM8dusgvnXLQLsjiTQJFS4/t/dkOanZTmpchpx0B8N6tLc7koiIR6pqXDyyYgNvbT3Ok7cP4YGbYu2OJNJkVLj82K7j5UyelwtYrMh0MKhrO7sjiYh45GJNLQ8tK2D1jpM8dccwZn62v92RRJqUCpef2nrkDFPmOwlt1YKcDAex0W3tjiQi4pHK6lpmLVnP+7uLefrO4Uy5oZ/dkUSanNdv22tZ1jjLslIsy3riCstnuz9merqOXN2mQ2WkZufSJqQlKzNvUNkS8YJmWPO6UFXLzJfy+GBPMb++Z6TKlgQNrwqXZVnxAMaY1UBZ3fVLZFqWVQgUXcM6cgXrD5wmbZ6TDuEhrJx1A/06R9gdScRvaYY1r/MXa5i2cB1rC0v4zbjRTEzqY3ckkWbj7R6uCUCZ+3IRkHKZ+9xnjIl1DydP15HLcBaVMHW+k87tWrMy8wZ6dwq3O5KIv9MMayZnK6uZumAd+QdO87uJcdyb0MvuSCLNyttjuCKB0nrXL/e25vHu91OJN8bM8WQd9677TIA+fbQFBPDR3lOkv5RPj8gwcjIcdG0fZnckkUDQ6DNM8+vTzlRUM3WBk21Hz/KHSXHcPrK73ZFEml2Tn3rdGDPHvWUYZVmWR1uCxpgsY0yiMSYxOlrnAXx/dzEzFuXRp1M4KzJvUNkSaUbXOsM0vz7p9PkqUuflsuNYOX9KS1DZkqDV4B6u+geK1lNUd/wCUHf+mEig5JJ1xwEYY1a5l8U0tI580podJ/jG0gIGdGnL0vRkOkWE2h1JxK9ohtnn1LmLpM1zUnTqPFlTE/jC4C52RxKxTYOFyxiTdZXFK4FE9+UYYDWAZVmRxpgy/nt8Q5F7eSwwF8i/3DryaW9vPc7DywsY2r09i2ckERmusiVyrTTD7HHybCWp85wcPl3BwmljuXFAZ7sjidjKq18pGmMKANy72cvqrgNr6i0f795KLDTGFFxlHannjU1HeSingJE9O7A0PVllS6QJaIY1jWNnLjAhK5ejZRdYND1JZUuERnjj08ttPRpjEhpYfrUtzqD3SsFhvvOXTST27cSC6WNp21rvTyvSVDTDGtfh0xWkZjspPV/F4hlJJPbr1PBKIkFAP8l9zMt5h/juK5u5ISaKefcnEh6qp0hE/MPBkgomZedSXlnN0vRkxvSOtDuSiM/QT3MfsjT3AD98dSufHxRN1pQEwkJa2h1JRMQjRcXnSM12UllTS06GgxE9O9gdScSnqHD5iIUf7eOnb2znliFdeHFyvMqWiPiNPSfKSZ3nxOUyrMh0MKRbe7sjifgcFS4fMPf9Qn711k6+PLwrv58UT2irJn97NBGRRrHj2FnS5jlp0cJiRaaDgV3b2R1JxCepcNnsD//cw2/+sZs7RnXnuQljCGmpsiUi/mHrkTOkzXcS1qolORnJxES3tTuSiM9S4bKJMYbnVu/hhTV7uCeuJ3PGjaKVypaI+ImNh8qYOt9Ju7AQcjKS6RsVYXckEZ+mwmUDYwyz397Fn98vZHxiL351zyhatrDsjiUi4pH1B0q5f0EenSJCyclIplfHcLsjifg8Fa5mZozh6Td3sOCjfaQ5+vCzr4+ghcqWiPiJ3KISZizKo1v7MJZlJNO9Qxu7I4n4BRWuZuRyGX78+jaW5B5g+o39+NEdw7AslS0R8Q8f7jlF+uI8enUMJyc9mS7tw+yOJOI3VLiaictl+P7ftrAi7xCzPh/Dk7cPUdkSEb/x3q6TZC5ZT0znCJamJ9O5bWu7I4n4FRWuZlDrMjyxajN/LTjMwzcP4LFbB6lsiYjfWL39BA8uK2Bg17YsnZlMxwid21XkWqlwNbGaWhePvbyJ1zcd5bFbB/GtWwbaHUlExGNvbTnGw8s3MLxnBxZPT6JDeIjdkUT8kgpXE6qqcfHIig28tfU4371tCN/4QqzdkUREPPbaxiM89vImxvSOZOH0sbQPU9kSuV4qXE3kYk0tDy3bwOodJ/jhV4eS/rkYuyOJiHjsr+sP8/iqTST268SCaWNp21o/LkS8oe+gJlBZXcsDS9fz3q5inr5zOFNu6Gd3JBERj63MO8iTr2zhM7FRZE9NJDxUPypEvKXvokZ2oaqWjMX5fFR4il/fM5KJSX3sjiQi4rEla/fz1GvbuGlQNHOnJBAW0tLuSCIBQYWrEZ2/WMOMRXnk7S/lN+NGc29CL7sjiYh4bP6H+3j6ze2kDO3Ki5PjaN1KZUuksahwNZKzldVMX5jHxkNlPDdhDHeO6Wl3JBERj/3pvUJmv72T20d04/mJcYS20rldRRqTClcjOFNRzdSF69h25Ax/mBTH7SO72x1JRMRjL6zZw7Pv7uZro3vw3PjRtGqpsiXS2Lz+rrIsa5xlWSmWZT1xmWXxlmUZy7IK3f/mum+f7f6Y6e3Xt9vp81Wkzstlx9Gz/CktQWVLxM8E8wwzxvDbf+zi2Xd3c098T343YYzKlkgT8eo7y7KseABjzGqgrO56PZ2MMZYxJha4D5jtvj3TsqxCoMibr2+3U+cuMik7lz0nz5E1NYFbh3W1O5KIXINgnmHGGH791k5+/8+9TBzbm9+MG03LFjoDhkhT8XZTZgJQ5r5cBKTUX+geYnVijDF1w+k+Y0zsJcv9ysmzlUzMymV/yXkW3D+WLwzuYnckEbl2QTnDjDH87M3tzP2giCmOvvzy7pG0UNkSaVLeHsMVCZTWux51uTtZlpUC1B9M8e5zCcYbY+Zc5v6ZQCZAnz6+97YKx85cIDXbyYmzlSyanoQj5rIPW0R8X6PPMF+fXy6X4Uevb2Vp7kFm3Nifp+4YqnO7ijSD5vpl/a3GmLqtSIwxc9xbhlHuQfYJxpgsY0yiMSYxOjq6mSJ65vDpCibMzaW4/CKLZ6hsiQQJj2eYL8+vWpfhe69sYWnuQR64KVZlS6QZNbiH6woHhRbVHfMAdHLfFgmUXOHTfHxchGVZ4wCMMavc9/ebc94cLKlgUnYu5ZXVLE1PZkzvSLsjiUgDNMP+q6bWxROrNvPKhiN865aBPJoyUGVLpBk1WLiMMVlXWbwSSHRfjsG9y92yrMi6rUHLsmL43zES8N/jJOqOg4gF5l5jZlsUFZ8jNdtJZU0tORkORvTsYHckEfGAZhhU17p4dOVG3tx8jO98aRDfvHmg3ZFEgo5Xx3AZYwosy0p071IvM8YUuBetARLq3bX0knUyLcsqBQrrreOz9pwoJ3WeE5fLsDzDwdDu7e2OJCKNIBhmWFWNi4eXF/DOthN87/YhzLop1u5IIk3q1Q1HeOadXRwtu0CPyDY8/uXB3BVn/5uRe/3Gp5fbejTGJNS7XATMamgdX7Xz+FkmZztp0cJiRaaDgV3b2R1JRBpRIM+wizW1PLi0gDU7T/KjO4Yx47P97Y4k0qRe3XCE772yhQvVtQAcKbvA917ZAmB76dI73F3F1iNnmJSVS0jLFqxU2RIRP1JZXUvG4vWs2XmSn981QmVLgsIz7+z6uGzVuVBdyzPv7LIp0f/o1D5XsPFQGVPnO2kXFkJORjJ9oyLsjiQi4pGKqhrSX8pnbVEJc+4dxfixve2OJNIsjpZduKbbm5MK12WsP1DK/Qvy6BgRwvIMB706htsdSaTJ+epxD3Jtzl2sYcbCPPIPlPLs+NHcHdfL7kgizaZHZBuOXKZc9YhsY0OaT9KvFC+RW1TClPnriG7Xmpdn3aCyJUGh7riHI2UXMPzvuIdXNxyxO5pcg7OV1Uyd72T9wdM8PzFOZUuCzuNfHkybkJafuK1NSEse//JgmxL9jwpXPR/tPcW0hevoEdmGlZkOunewvxGLNAdfPu5BPHOmopq0eU62HDnDi6lxfG10D7sjiTS7u+J68qt7RtIzsg0W0DOyDb+6Z6RP7K3XrxTd3tt1kllL1tO/cwRL05Pp3La13ZFEmo0vH/cgDSs9X0XaPCd7T57jz2kJ3DK0q92RRGxzV1xPnyhYl9IeLmD19hNkLl7PgC5tWZ7hUNmSoHOl4xt84bgHubri8otMysqlsPgc2fcnqmyJ+KigL1xvbTnGA0vXM7R7O3LSHXSMCLU7kkiz8+XjHuTKTpytZGLWWg6WVrBw2lhuGuRb524Ukf8J6l8pvr7pKI+u3MiY3pEsnD6W9mEhdkcSsUXd7nf9laL/OFp2gdTsXIrLL7Jo+liSY6LsjiQiVxG0heuv6w/z+KpNJPbrxIJpY2nbOmj/K0QA3z3uQT7tUGkFqfNyKTtfzeKZyST07Wh3JBFpQFC2jJV5B3nylS18JjaK7KmJhIcG5X+DiPihAyXnSc12Ul5ZzdL0ZEb3jrQ7koh4IOiaxpK1+3nqtW3cNCiauVMSCLvkuBUREV9VWHyO1Oxcqmpc5GQ4GNGzg92RRMRDQVW45n+4j6ff3E7K0C68ODme1q1UtkTEP+w+UU5qthMwLM90MKRbe7sjicg1CJrC9ef3C/n1Wzu5fUQ3np8YR2iroP8DTRHxE9uPniVtvpNWLSxyMhwM6NLO7kgico2ConC9sGYPz767m6+N7sFz40fTqqXKloj4h61HzpA230mbkJbkZDjo3znC7kgich0CunAZY3j23d38/p97uSe+J8+MG03LFpbdsUREPLLh4GmmLlhH+7AQVmQ66N1J53YV8VcBW7iMMfz6rZ3M/aCIiWN788u7R9JCZUtE/ETe/lKmL8yjU0QoyzMd9NS7/ov4tYAsXMYYfvbmdhZ+tJ80Rx9+9vURKlsi4jfWFpYw86U8urUPIyfDQbcOYXZHEhEvNcrBTJZlxV9l2TjLslIsy3riarc1FpfL8NRrW1n40X5m3Nifp+9U2RKRq/OlGfbhnlNMX7SOnpFtWDFLZUskUHhduCzLSgGyr7AsHsAYsxoosywr/nK3eZuhTq3L8L1XtrA09yAP3BTLU3cMxbJUtkTkynxphv1r50lmvJRHv6gIVmQ66NJOZUskUHhduNxDp/QKiycAZe7LRUDKFW7zWk2ti8f/somV+Yf41s0D+O5tg1W2RKRBvjLD/rHtOJlL8hnUtS3LMxxEtW3dGJ9WRHxEUx/DFcknB1nUFW7z2s/e3M4rG47w7VsH8fAtAxvjU4qINMsMW7evlAeXFTC8ZwcWz0iiQ5sQbz+liPgYnzxo3rKsTCAToE+fPh6tMzm5L/07RzD9xv5NGU1E5KquZ36N7t2BWTfF8MBNsbQLU9kSCUQNFi738LhUkXs3fEPKgE7uy5FAifvy5W77mDEmC8gCSExMNB58HQZ3a8fgbnr3ZRH5pOaeYdczv1q3asnjXx7iyV1FxE81WLjcw+OaWJYVaYwpA1YCie6bY4C6AXe520REGp1mmIj4gsb4K8VxQKL7Y501AMaYAvd9UoAyY0zB5W7zNoOIyPXSDBOR5mAZ49Eeb9skJiaa/Px8u2OISDOxLGu9MSax4Xv6Ps0vkeBzpRmmsziLiIiINDEVLhEREZEmpsIlIiIi0sRUuERERESamAqXiIiISBNT4RIRERFpYj7/thCWZRUDBzy8e2fgVBPG8RXB8DiD4TGCHufl9DXGRDdlmOZyjfMLguP1EAyPEYLjcQbDY4Rrf5yXnWE+X7iuhWVZ+YHy/j1XEwyPMxgeI+hxyicFw/9TMDxGCI7HGQyPERrvcepXiiIiIiJNTIVLREREpIkFWuG65pPU+qlgeJzB8BhBj1M+KRj+n4LhMUJwPM5geIzQSI8zoI7hEhEREfFFgbaHS0RsZllW/FWWjbMsK8WyrCeaM5OIiKeaaoYFVOHSoPdPDT03gfLcefA4Z7s/ZjZvssZjWVYKkH2FZfEAxpjVQNnVvl+DkeaXf9L8+ni5388vaNoZFjCFK1gGfaC96Bt6bgLlufPwcWRallUIFDVruEbkfnylV1g8AShzXy4CUpollB/Q/Pp4ueaXDwqW+QVNO8MCpnAFw6AP0Bd9Q89NQDx3ePY47jPGxLqf30AUySe/R6PsCuJrNL8+pvnlmzS//surGRYwhasBgTLoA/FF39BzEyjPnSePIz4QfvUgjS5Qvgc0v/z3udP8agTBUrgChV70AcwYM8f9gybK/SumQFMGdHJfjgRKbMwizU/zK4AFwfwCL2dYq0aP00Su8Dv9Ig+3hIJm0Btj5gBYlnWrZVkpfrCl2NBzEyjP3VUfh2VZ4wCMMavcy2KaNV0Tsiwr0hhTBqwE6k6PEQP4+muz0Wh+eUbzy2cF7fyCxpthflO4jDHX/MZj/jjoGxjMgfiiv+xz44/PXQMaepxF/O+4lVhgbrMnbATu12CiZVnj3K9DgDVAgjGmwLKsRPfWb5kxpsC+pM1L80vzCx9/7hoQFPMLmnaG+U3hakigDPoGBnPAveiv8tz43XN3NR4+zkzLskqBQj9+nKuAVZfcllDvcrC8M/U10fzS/PJlwTK/oGlnmN5p3s+4tyCLgJi6J96yrPV1Lwj38lL38jn2JRUR+STNLwlmKlwiIiIiTUx/pSgiIiLSxFS4RERERJqYCpeIiIhIE1PhEhEREWliKlwiIiIiTUyFS0RERKSJ/X8p1kM0ptMiGAAAAABJRU5ErkJggg==\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -918,7 +897,13 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ "Great to see that the math actually work!! ;-)" ] @@ -926,7 +911,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -940,7 +925,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.3" + "version": "3.11.0" }, "toc": { "base_numbering": 1, @@ -957,5 +942,5 @@ } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/Tuto-GUDHI-persistence-diagrams.ipynb b/Tuto-GUDHI-persistence-diagrams.ipynb index 237b822..5e16efa 100644 --- a/Tuto-GUDHI-persistence-diagrams.ipynb +++ b/Tuto-GUDHI-persistence-diagrams.ipynb @@ -3,7 +3,15 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true + "collapsed": true, + "editable": true, + "jupyter": { + "outputs_hidden": true + }, + "slideshow": { + "slide_type": "" + }, + "tags": [] }, "source": [ "# TDA with Python using the Gudhi Library \n", @@ -14,16 +22,20 @@ { "cell_type": "code", "execution_count": 1, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import gudhi as gd \n", "from sklearn import manifold\n", - "from pylab import *\n", - "%matplotlib inline\n", - "# import sklearn_tda" + "from pylab import *" ] }, { @@ -89,7 +101,13 @@ { "cell_type": "code", "execution_count": 2, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "path_file = \"./datasets/Corr_ProteinBinding/\"\n", @@ -112,7 +130,7 @@ "\n", "corr_list = [pd.read_csv(path_file + u,\n", " header = None,\n", - " delim_whitespace = True) for u in files_list]\n", + " sep='\\s+') for u in files_list]\n", "\n", "dist_list = [ 1- np.abs(c) for c in corr_list]" ] @@ -647,14 +665,12 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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P4FAgPz8/P5olzjO1bYkePw/QVpiacb43di17G/48ZTO+h0tmBbcUj4Zm9b33/xbYmlWvL6DD2pbiacMFCWb0+eUMV7mnj0OX87wz+J88emj2Nua5K0dLQC47Sop3cQwLU4r9fLpsrED3MKB8f777zNv3jzeffddFi1axJe+9CXsdtkYWgiRdVhBUyQSYcGCBVRWVnY5Nnv2bJYtW8b48eOPuHHi+PX61iaaIkkCJbmden88ThujC9xsqouwZW8bJ43pW26cZNrgt/+u4f3drYzwuhixb3gqmtR5I9hELK1z80WTcQ2THEU9cTts3PDRSZTtbGFdMERTNIXPY2f6RD/TxvtxOYb3/R/IMAx++tOf8t3vfpcxY8bwxBNPcMoppwx0s4QQg0yfg6YHHniAiooKLMsiEAjg8/nw+/2EQiHC4TDPPfccgUCAiooK7rnnnqPRZjHMWZbF+h0t5LrsnQIm3TBJ6SaKAsmMwebDCJre3tXCpto2xhXmdMoMnee247CrbKyN8O6uMDMDhf12P4OVw6YyM1B4XNzrwQSDQa677jpeeeUV5s2b15HhWwghDtSnoOmRRx7hnnvu4d5772XhwoXdZsBtbW3lqaee4s4776SwsJBvfOMb/dZYcfzIGAbavsneGcOktiVOQyRF2jBRAMO02NYYxbKsPs1DentHGBSr2600nDYNLHh3Z8txH0gcDyzL4tFHH+X222/H5/Px2GOPMXPmzIFulhBiEOt10PTWW29x3333ddprrjter5eFCxdy9dVXEwgEKC8v54wzzuiXxorjg6IojCvM4e2dYXw5djbXRWiOprFrCk5NxbAsYimdddtC/GdTIxdMLel12fGU3jE/qjt2TSGa0vvjNsQgVldXx0033cSzzz7LVVddxbe+9S1ycnIGullCiEGu10HTvffey7Jly3q915zP52PFihXcc889PPXUU71uUDAYpLKykkAgQDAYZOHChfh8vm7PraqqAiAcDrNmzRquueYaysrKDllOX+oQA+PsE4p4b1eYHY0xmmNpcpw2NFXBwiKZMvF6HHg9dp55aw+njvXiz+3dSq8RXhcb9rT2eDxlmIzwuvvrNsQgtGLFCm655RZUVeXBBx/kggsuGOgmCSGGiF4HTTU1NX1OKVBeXs7999/fp2vmzp3LunXrgGxws2DBAlauXNnjuf/6178oLy8nFAoxd+5campqDllOX+oQA+PMcQVcMLWE/31lO+mMgcOmkjYgo5s47CqTSnIpyHGwvTHGu7vCfPSkEb0qt2yin1e3NNIaT3dJWRCOp3HZNcomFByNWxIDLBQK8eUvf5mnnnqKiy++mO9+97sUFMh7LYTovV4HTYebp6QvPTjBYLBLne29Sd1ZuXJlR8/S/nUdrJy+1iEGhqoqXDGjlH9tqCcUTWGYFqqiUFzgZoTXRZ4ruwxcUbIpBHrrxJF5fHRqCf96v562pI7Pky2nJZ7BNC1mnzaKE0bkHZV7Ej1LZQw21kVoiWUD16mj8vs19cOzzz7LjTfeSDwe57777uMTn/jEcZGTSwjRv3odNB3uB4zf7+/1uVVVVV3O9/v9VFdXdwqO2pWXl3f8/8qVK1m0aNEhy2nPWt7bOsTAcdhURnndeBwaJfkuFBT2/2toWdmEl+4+LI9XFIUrZ45jpM/NK5sb2RtOggLjCj2cP6WEc04oki/TY+y9XWFWrd1FXUuiY4sXn8fBR6eWcMnpow4rF1e7aDTKN77xDZYvX855553HXXfdxYgRveuVFEKIA/U6aLIOcx+qvnwBhcPhbp8PhUI9XlNdXc1TTz3F7NmzWbhw4SHL6UsdqVSKVCrV8TgSifTYDtH/FEVh5iQ/f163G8uCA3ewaE1k8DhtnNzHtAOaqvCRfQFSKJZGAfy5zo7VeuLY2VrfxuP/CRJL6YzyuXHYVEzTojmW4q9v7QHgU9PGHFbZL7/8MvPnz2fv3r1873vfY+7cuRIQCyGOSK9/hTvcD5uDBTy91VOgA1BWVsaSJUuoqanpNtlmb8vp7tjSpUvxer0dP6Wlpb1ssegvs04oprQwh+1NMWIpHcuyME2LprYUoViasycVMtZ/eHuk2TSVknwXxfkuCZgGyIsb6mmNZyj1ezrSQKiqQnGeixynxr83NtAa7/3wK0AymeRb3/oWF1xwAV6vl8rKSq6++moJmIQQR6zXPU0rV65k27Ztfe5xqq6u7vW5Pp+vS5AVCoUOOS/K5/Mxd+5cZs+eTUtLy0HL6UsdS5Ys4Y477uh4HIlEJHA6xgrznHzpY5NY+cZOauqjNESSAHg9dj5x+ig+NW2sfBkOUa3xNBtrI/hzHd2+h/4cJzubY2ysi3D2pKJelbl+/XquvfZatmzZwm233cZ1112Hph1f2c2FEEdPn5Jbrl27ts8V9OULrby8nGXLlnV5fsaMGV2eq6qqYu7cubS0ZPfOap+oHgwGD1pOIBDodR1OpxOn8/jctHQwGV3g4WuXTGFbY4yGSBKbqjBpRB4Fx8EeccNZKmOim1aPc9Lae/9SGfOQZem6zr333stdd93FpEmTePLJJznxxBP7tb1CCNHroKmsrOywgqbugpGeHLhCLxgMMmPGjI5eoOrqanw+H4FAAL/f32kiePux7iZz71/OgT1KB9YhBidFUQiU5BIoyR3opoh+ku+2k+O0EUvp5Di7fhSlMtms8P7cgwfHmzZtYv78+axdu5abbrqJW265RTbZFUIcFUc95UBfr1u5ciUVFRXMnDmTNWvWdMqftHTpUmbOnMnixYspKyvjmmuuYfny5QCsXr26I/fSoco52DEhxLHhcmicPamQv761G5/H0WlrG8uyqGtNUur3MHVUfrfXm6bJgw8+SEVFBSUlJTz++OOceeaZx6j1QojjkWId7rK441AkEsHr9dLa2kp+fvcf5EKI3oskMjzy/BY21raR67KR67KR1k1CsTT+HAc3fDTA1NFdV0fu2rWL66+/nueff57Pf/7z3HbbbXg8h7cgQAgx/EWjUWbNmnXE3999mtMkhBD9Kd9tZ8GFk3npg3rerGkmmtKxqQrnnVjER08awcTizsOxlmXxu9/9jq997Wt4PB6WL1/OrFmzBqj1QojjjQRNQogBle+2c3nZWGafNopoUsdpU8lzd52T1NDQwMKFC/nzn//M5Zdfzp133ik9vkKIY0qCJiHEoOCya7js3a+k+7//+z8WLFiAYRj89Kc/7bQIRAghjpXD359ACCGOstbWVq677jquvPJKTjvtNFatWiUBkxBiwEhPkxBiUPrXv/7F9ddfT0tLC//v//0/PvOZz0giUyHEgJKeJiHEoBKPx7n11lspLy9n9OjRrFq1iiuuuEICJiHEgJOeJjEoRZMZ3gw2s6ammUgiQ2Guk7MmFTJjYiGuHjJIi6HvjTfeYN68eezcuZM777yTz3/+86gH7tQshBADRIImMeg0R1P8+sUatuxtw2lTcdo1aurb2FQXYf2OFm746KRuM0iLoSudTnP33XezdOlSTj75ZFasWHHYCXWFEOJokW8eMej8ee1uNtVFGF+Ug11r72VwksoYvL2zhX++U8dnZ8rGycPFe++9x7x583jvvfe45ZZb+NKXvoTNJh9NQojBR/q9xaCyN5zgvd1hivOc+wVMWU67Rr7bzppgM9FkZoBaOPwk0jptiQymeWw3BzAMg/vvv5/p06fT1tbG73//e26++WYJmIQQg5Z8OolBZW9rklhSp7g4p9vjXredhkiKhkiKXJedSCLDxtoIsVQGFYVJI/IYVeBGU2XS8KFsqovw8qZGNtVFsCyLknwX551YzFmTCrFpR/f3qWAwyPz583n11Ve57rrr+OpXv4rT6TyqdQohxJGSoEkMKqoCigKmBVo3cY9hZo9jWfzj7Vqef38v25titCUy6KaFy65xWqmPz0wfy1mTCmXFVQ/eqGniqdd2EEvpeD12bKrC9sYYwYYowcYonztn/FEJnCzL4pFHHuGOO+6goKCAX//618yYMaPf6xFCiKNBgiYxqEwszqUg10EomqI439XleCiWYoTXxQe1Ef5avZvmaJpYSseuqbjsComMwbrtIfa2JmiJpbn0jNEDcBeDW0sszdNrdqEbFhOKcjoCS6/HQTSZ4dXNTZw0Op/pEwv7td7a2lpuuukm/vGPf3DVVVfxrW99i5yc7nsUhRBiMJI5TWJQyXPbOXdyMdGUTms8jWVl59lYlkVzNIVuWMwIFPKfTQ1kDJN4Wsft0PA4bTjtGl6PHU1RiCZ0Vr9Xx55QfIDvaPBZv6OFUDTNSK+rS09crsuOaVm8vqWpX+v84x//yKmnnsratWt58MEH+eEPfygBkxBiyJGeJjHoXHr6aKJJnddrmmiKplBQsIA8l41PnDEav8dBSyxNSjcBOk0YV1Bw2lVSukFLNM3bO1sY4/cM0J0MTs1tSVBA7WHeV67Txp6WBJZlHfHwZnNzM1/+8pdZsWIFl156Kd/5znfw+XxHVKYQQgwUCZrEoGO3qXxu1nhmTS7ivd2txFM6eW47Z4zzMcrn5uXNjQCkMga2bhIfaoqCgQUKNEfTx7r5g57dpmEdZKGcbpjkuW1HHDD9/e9/58YbbySZTHL//ffziU984ojKE0KIgSZBkxiUFEVhQnEuE4pzuxwryHGgqQqKomBYZpfjGcPCpqooCuQ4JXv4gaaMymf1u3XEUzqeA5KEmpZFLG1QPsF/2OW3tbVxxx138Oijj3Leeedx9913U1JScqTNFkKIASdBkxhypozMZ0yBh5ZoGtO0MC0LdV+viGlZpA2TEblO3HYbJ4/xDWxjB6HJI/M4ZayX6u0hSvJd5DqzvUop3aC2JcEon4uzTijqcl08pROOp7FrKkV5zm57ov7zn/8wf/58Ghoa+P73v8+cOXNkBaMQYtiQoEkMOXabypUzSwlFU7Qm0oTjaVx2DSxIGyZuu4aKwrTxBUwemTfQzR10NFXh2vMmYtNU3tsVpimSAiX7/ISiHD43awIl+61cbEtk+Nf7e/clFdXRVIWJxbl8/JQRnDrWB0AymeS73/0u//3f/820adN46KGHKC2VrO1CiOFFsayDzW4Q+4tEIni9XlpbW8nPzx/o5hz3aurb+Ntbe3hpYwPRlA4W5LpsjPV7OPuEIq6cMRa3Q34v6IllWexoilHTEMUwLUZ4XZw82ovd9uE8sVhSZ/kLW9iwO0Ke20aey0bGsAhF07idGp+fNQFb6w7mzZvH1q1b+epXv8r8+fPRNBkWFUIMHtFolFmzZh3x97cETX0gQdPRZZgWO5tjJNMGXo+DUb6uS+K7E46lqGmIEk3quOwaE0tyO/WUiMP33Lt1rHxjJ6V+D479ginLstjd3MZ7//xfXl31CCeccAL33HMPkydPHsDWCiFE9/oraJJfw8Wg8PbOFp5dX8u2xmyvR47TxtTR+Xxq2hjGFR48n48vx8n0ibIFx8HohtkRWOa6bEwqyT1kxm/dMHl1SyMeh9YpYAJo2rOdP/9sCbVbN3DFF67ne9/4Kna7/WjeghBCDDgJmsSAe31LEw9Wbaa5LYWyb26N067R2JZiTyjOzeUnMlZyLR229Tta+Pv6PexpSZAxTOyaSqnfwyfPHM3p4wp6vC6eNogmdHL2W2Fnmiav/e0P/OPxn5JXWMIlt/+ST144QwImIcRxQYImMaCiSZ0HqzZR25LA47DhsKlYVnallqoobN7bRtV7dVx/waSBbuqQ9M7OFn73nyDJjMGIfBdOu0YyY7CjOcbj/9nGDR9VOiZzH8hpU7HbsolCwU64sY6VP/8OwXffpKz8Ks6fs5CmlB2nTVbHCSGODxI0iQH1zFu7qW1JkO+y47R/OHnYYVOJp3ViKZ3qbS18ZnqaghzHALb08MVSOm9tD7F+RwvxlM5In5vpE/2cNNrbY1bu/mCYFv94u45ExmCc39MxP8xl1xjn97CjOcY/367l5B7a4bRrTBtfwHPv1rHjjWd55rH7cLg8XL34p4w/eTqtSQOPQ2Gif2i+L0II0VcSNIkBtX5HC0CngKmd267RmsgQiqZoS2aGZNDU1Jbi1y/WUNPQhqYq2DWVmoYobwabOX9KCXPOGod2lAKnHU0xdoVilHSTU0lRFIrzXOxojrMrFGd8Uffzxqb64XvLl7B57YtMPfcSLr7269jdOYQTBomMxTnjXfjcslJOCHF8kKBJDBjLsogkMthUBcO0ugQPiqJgWmCR3Q9tqLEsiz++tp0t9W2MK/R02iMvksjw4oZ6xhS4+ciUo5MtO57WyehmtwEpgNOukmkziaf0bo+vWrWKhQsXYpgmn/3aj8g7cRbNGVB0g1ynynkT3JwzXuaaCSGOH0Pvm0gMG4qiUJLvYmdTjETG6BIYmZaJbpiM9Xvw5w691XHbGmNs3tvGSK+rU8AEkO+2E0lkeGVzI+ecUHTIlWyHo33IM54yyHV1/aeeSBs47Rr57s6TuMPhMLfeeitPPPEEF154Id///vcp8PvZ06oTThjYNYWxPju5jv5vsxBCDGYSNIkBddakQjbVRYgmdaLJDC6HDU0B3bQ68i5dPn3MQDfzsOwOxUlmDEZ5u88Z5fXYqW9N0hrPUJjX/0FhaaGHQEku7+9uJceZ02mIzrIsGiMpzhjvY3SBu+P5qqoqrr/+elpbW/nRj37E5Zdf3nFdqc9OqU9WyQkhjl/yq6IYUGefUMTU0fnkue249q3saktmiKd17DaV8lNHcN7k4oFu5mFRFDjobKX2tLJHaS64oihcNm0MhXlOtjVGiSQypHWT1kSGYGOUojwnnzxzDIqiEI/H+epXv8rs2bMZO3Ysq1at4tOf/rTsGyeEEPuRniYxoApznXzpYyfwx9d3EGyI0pbMYJoW+W4H551YxGdnlg7ZL+7xRTm4HTaiSZ08d9cempZ4mkkj8ijw9H6Ce2s8TSiWxmlTGel1d1r1ZlkWrfEMpmXh9TjQVIVJI/JYeOEJ/POdOjbXRYgkMjhsKjMmFnLpGaMZX5TD66+/zrx589i9ezd33nknn//851FV+X1KCCEOJEGTGHBj/B5uv3QqNQ1t7G1NoqkKJ5TkUdLDsFZaN9mwp5XtjVEsK3v96aU+XI6uE54ty6IhkiSWMsh32yk6CsNgPSn1ezhlrJc3a5qw29TspsL72hSKpVEUhfOnlPQq7UAomuKf79RRvT1EIm2gaQrjC3O48JSRnDHOR/X2Fl7e1MDO5hiWBSO8Ls47sZhzTihiYnEuiy48gcZIimgqmxG8OM9JJpPh29/+Nvfddx+nnHIKK1asYOLEiUf7ZRFCiCFLgiYxKKiqwuSR+UweefA9gerCCf73P9vY1hTFMLLjW4oCY/0evnjeRAIluR3nbtnbxup369hS37ZvFZnKyWN8XHL6qGOSYVxRFK4+exyJtMEHe1oxLQubqpLWDXJcdj5xxihmBvyHLCccS7P8+a1srW/Dn+OgJN9JxrDYsreNnc1xThyZy4baCIZhUZDjQAF2Ncf5/Svb2ROKM/fs8aiqQonXRfs6vXfffZdrr72WDRs28JWvfIUbb7wRm00+DoQQ4mAG3adkMBiksrKSQCBAMBhk4cKF+Hy+bs+trq6mqqoKgDVr1vDII490nHuwcvpShxg8Emmd3/47SLChjbF+D05btucmY5jsDsX57b9r+PqlUynMdbKxNsJvXqqhJZamOM+J02MnnjZ4fUsj25uiLLpw8jEJnLweBzdfNJn3d4d5d1eYeDqbmXvahALGF+X0aujx3xsb2NrQxoSinI5Vdg4b5Dht1DS08ff1tZwwIo+xRR/eT96+1Xn/2dTIKWN9nFrqA8AwDH784x/zgx/8gPHjx/OHP/yBk0466ajcuxBCDDeDLmiaO3cu69atA7LBzYIFC1i5cmW351ZVVbF48WIA7r//fi666KKOaw9WTl/qEIPHOzvDbG+MMq4wB7umYlkWhpXN7zS+KIftjTGqt4W48JSR/PWt3YTjGSYWfxiYOGzZ5fXbGqP84+1avvTxE45Jux02lWkT/EybcOheJYDmaIr3d7cST+u47RqvbG4k32XvNi2BQnaPuO6mIOW77TRHU6wJNnNqqY+amhrmz5/Pa6+9xvXXX89XvvIVnM6hl8pBCCEGyqAKmoLBYKfHgUCgoyfpQNXV1SxdurQjaJozZw4VFRVdyjiwnL7UIQaXjbURFEBVFOrCCRoiSRJpA1Uhu2Tfgrd3tjDW72Z7Y5QR3q6ZsFVFoSjXyQe1rTRGkhTndz9v6mizLItdoTixpE6Oy0ap34NlwXPv1vGv9/fSGs+gKNletL2tScYUeCjO77rQLq2b+86zuq3H7dCobYnz8MMP881vfhO/389vfvMbpk+ffvRvUgghhplBFTRVVVXh93f+bdzv91NdXU1ZWVmn58vKynjkkUc6HofD4Y7zV6xY0WM5a9eu7XUdYnDJGCYosGVvhMa2FIqiYNcUdMMi2BAlo5vsCsXZVBthd0sCBQW7V+2SWNLtsBGJJIkkMr0OmhJpnZZYduVZYa7jiFb0bdkb4dn1tdQ0RklnTBw2lYkluRTmOnh1cxMep8aE4hxURSGVMagLJ9nZFCPPZaPkgPaqqoJlgdbDareWpnr++fN72bjuZebOncs3v/lNPB7J4i2EEIdjUAVN7YHPgUKhULfPz5kzp+P/n3rqKcrLy/H5fActpy91pFIpUqlUx+NIJNJ9wwcZM5Eg8/bbmC0tKB4PjtNPRy0oGOhmHbGxhR6ee7eOaErHY9ewaSqJtEFbKkMqY2JaoCcy7ArFSWUMtta30RJLMWWUF4ftw6AipRvYNRW349B//aPJDM+/X88bNc1Ek5nsMv6SXD5+ykhOHuPtOK8xkqSxLYVdUxhXmNPj1iVb9kZ49IUawvE0xXku3HnZ3FTv7wqztzXJCK+L4rwP94Fz2jXGFrgJNsbYE4pTlOdE3S9gU5XsfnaeA1YOWpbFWy/9jT8v+xEel5OHHnqI888/v9evtRBCiK4GVdDUk54Cnf2PV1ZWdsxTOpxyuju2dOlS7rrrrl60cPBIvf46sd8/ibFnD2CBZaEWFuK+7DLcn74cZQjn3zmjtIC0bpIxTDSXjWTGIBxPkTEsLEBVwLav58Uim1W8JZZhT0ucicXZVXXtmbBPK/UxynfwXqZYUufRF2t4f3eYPJcdr8eObli8sytMTUOUz587gUBxLn99azfv7goTSxloqkJJvpOPnzySj5xY3CWP0t/X19ISS3eaa5XjtFGQ4yDYGCWa1LGs7IrAdqN8bhrbUjRH0zS1pSjOc6KbFs1tKWyayiljvdmeNyDXZSPeFuZPD97NB6+vZurZF/GLpT9gVPHQD5qFEGKgDaqgyefzdenxCYVCh1zZVlFRwerVqzvOO1g5faljyZIl3HHHHR2PI5EIpaWlvb+hYyy9fj1tDz2MlUigjRuH4nBgGQZmQwOx3/8eNBXP5ZcPdDMPW47LRmGek0zYJBLPkMyYGKbVEWQ4bCqWBfZ9vUop3UAF9rYmGev3oBsW9ZEkXo+di08fdcghtmff2cPLmxpRsGiJpslx2SjOczG+0ENdOMnKN3aS57axszFGYZ6TUr8T3TRpbkvzx9e2E0/pXHrG6I7ydoXiBBuijPC6utRtAXZNJZrKEE3p5O23V5zHaePEkXm8uzvM1vo2NuxpBQVG5rv41LQxzD51FCvf3Mn7u8Ose/V5/v3bezCNDFd+5YfcNv8z+D2D6p+5EEIMWYOq26G8vLzb52fMmNHjNffffz8VFRUEAgHC4TDhcPig5fSlDqfTSX5+fqefwcqyLBJ/fQarLYI2YQKKI5tlWtE0tFGjUBxOkn97FjMaHeCW9p1lWexsivGPd2qJxLPzitwODcOyUBQFVQWnTcW2b0UdlkW+247Tpu3bsFZna30bzdEUE4tzuPGjk5gy6uDvZbC+jd+/sp1wLE0yY5IxLJraUmysbWVbU4ySfCfbGtp4f3cr44ty8O3LwO20aYwucGO3KfzjnVoa25IdZcaSOmnd7EhyuT+XXcOhqWQMKzt364D7r29NYFnZFXFj/G7GFnjQVIW1wRA7m2NcXVZM3T9/yT9/8Q1OnDKVx55YyQ8XfVYCJiGE6EeD6hM1EAh0ehwMBpkxY0ZHL1B1dTU+n6/jvMrKSsrKyjoCphUrVnSbc2n/cg52bCgz6/aS2bwZtWREtz0o6ogRGNu3kXn/fZxnnz0ALTw8lmVR9d5enn27lrZEdouV1ngGm6qgAjluO9GkDkAqbWBYFtFUNjixgHF+DynDZO5Z48hx2WiJpXlre4gte9s4ZayXQElul9dLN0yeeGU7sWS2x+fD+Ukaad2ktiVJjsNGW1KnKM/ZKRVAOJ5mbzhBOJ4hltL50f+9x2dnjuPcyUXkuGw4bCrJjEGOs/M/PY9DI8dpI96W4sAE4c3RFHtakhTnOzl1rK/Ta7O7Jc79j/2Jf//2vwg1N/GDH/yAq666ashuPSOEEIPZoAqaAFauXElFRQUzZ85kzZo1nfInLV26lJkzZ7J48WKCwSBz587tdK3P52PhwoWHLOdgx4YqK5mEjN7Rw3QgxWYDy8Lab2L7UPDurjB/rd6D3aYQKMmlOF9nw55WEhkd3bSIp3QsLFK6tW8VmYKiKCTSOiZQ0xBlyqg86loTvP1OmGgqg6oomBZUvb+XswKFXH3O+I6J4rph8sKGeoKNUZx2DfOA9jhs2Yzeda0JDNPqNOG7MZJka32UjGHitKkoCuwNJ/nDq9vY1hDlC+eOZ2JJLh/saWVCN4kt3Q6NwjwnTW0p0nq2jETGYFtjDIddZeoBvWN6Js36px/k1b/+L1NOOYNlD/9qUA8fCyHEUKdYltV9ghfRRSQSwev10traOuiG6szWVlru+CaWYaCVlHQ9HothNjXh+/73sJ9y8gC08OBSGaNjM1nvvg1sLcti2fNbWb8jxISiD7dHaY6mCDZGaYqkOvIUWVZ2IrjLoWFa2fLan/N67GRMi6JcJ6eM8XYM47UldZqiKT515hg+XTaGN2qaeXFDPe/uClPfmkRVQddNCvOcnZb0p3Ujmx9KVRhXlMP4whzSusFbO1rQDSu7kk2BtoTOCSPz8O5LMnnd+QF8OQ4ee7GG1niaknwXbodGIm3QGEmR57bx2ZmlNLQmWbMtRCpj4HHYqA3Hcdk1xhR8mCpgz9b3WfGzb9Nct5MzLruRz33+Wj5xsu+YvV9CCDGURKNRZs2adcTf34Oup0kcHtXrxXnuLOJ//jNqQQGK3d5xzDJNzNo92E8+GdtJUwewlV21JTK89EF2SX9bUseuKUwdlc/HTh7B6AI3wYYoXnfn3rPCXCf5bjt14QTv7W7FME3cdg3DtEhlDNqnBDls2eX4umFhUxVa4xm2NcY4YWQeiqKQ77aT0g1e29IIWDz37l4UwOPSsEUVbKpCMm3Q0JaiMNeBQ9MwLSs7Ad2yOGtiITub4+wOxWiOpokkMnjd2dc9uS//kj/Hgcuu0RRN8frWJr5+6VRu/Ogknn17D9saYzRGkjhsGpNH5vLJM8dw0r40Bp88cwzJjIHboXHvX9+nMZLtITT0DC9UPsoLKx6maGyA+Xc9Sjq3FLtd/ikLIcTRJp+0w4j7M58ms3kzmQ8+QPX6UHJzsVIpzKYmbKNGkTPv2kGVcqAtkeHRF7eyYU8ruU47eS4bGcPkjZomNu2NcM3Z43u81q6pjCvMYU8oTlI3cTs0MrpJLKWjKBa5Lhu5TjvxtE5bUqc4z5lNN9CWYnSBu2NOkT/HSU1DG39bX0ue00ZRnpO9rUnau199OQ5a4xnaEjp2WzYa002LM8cVMGtyEe/s2sqOpgymlZ3AbRjZbV1cdpUJJXkdk75znTbqwtkhvamj8zlxZB47m2NEUzq5ThvjCnM6pSew29SOVYCnlfp45q091O+sYeXPv01tcCPnXHYtsz49H1Ox0RwzGOv9MEgWQghxdEjQNIxoRUXkVywm8fdnSf/nZcy2NhSHHfell+D+xKXYJk4c6CZ28u+NDWzY00qpP6dT8kmv286uUJxn3trD2AI3G2ojFOR0nauVzBg47Rp5bjsnjsonlTZ4b3crikJHsGJZVsfWK6qmkEzohOPpjqBJVbKr2jRNpSTPyft7WmlNZEhlDKK6iU1TsMhuX+LPcaBg4fU4+ciUEv7xTh0jvW68bju14QQZ3cSwTAxdwZdjZ+R+2bt1w8LtsHVM8lZVhQnFufTGjIl+fvmLX/Dik78gv3AkX/zug4wKnEzGsGiI6oz12plU2P1cNiGEEP1HgqZhRvP7yb32i5hXfRartRXF40EdZPOvIDvn6I2aJnKdtk4BE4CiKIz0uqkLJzh5rJfN+9IF+HM+3L5EN0xqW+JMGpFLOJZdVedyaBiWSTptEE3pKFiYpoXTppDe1xuFAvuv6I8kMvtWv1lsqI2QSOl4nDb8OY59E7KziTMzuo5uJnA7ND520kh2NMVIZkwmFGWzd/tznbyzK4xpWuimRWNbmrXbQ4z0uhjlcxFN6XzspJI+r2rbsWMH1113HS+99BJnXDSHqZ+4EcvuZE+rjqZAqc/OJ6fmYddktZwQQhxtEjQNU6rbDW73QDejR9GkTjSpd1l6385hUzEti8JcJ588YzTPvVtHsDGG266hmya6aTGhOJd5H5nIn9bs4v1dYVTFIhLPkDGyvUsm2R4il10lk0iTNjR0w0JVsoNvGcOkLpxAUxV2NsXIGFZ2nzrLwiB7scOenROlAJNKcrFpKtU7WtANk8JcZ0d7NSWbiTylm9hVBdPKzq/a0RRjdyjOqWN9nDO5qNM9tsbTrN0WYv2OFpJpg7F+DzMCfk4a7UVR4Le//S1f//rXyc3N5dFHH+W0aTPZ0pSiOWagKDDGa2ei3yEBkxBCHCMSNIkB4bRnk1GmjQMX9WeZ+xZ1uhwaHz95BFNG5bN2W4g9oexKstPG+Zg2voBcl535H5nIL/65iZc21qObVsd8JHXffxKZbB2pjImiKmytj9IQSeG2a8TSOsmUQUrPXpXSTZJ69nyHTUEDDLIZx8PxNOMKc2iKpoim9I7Ncw3TYntTLJtgU4WUnu3hMkwLu5ZNb3DiyDxGeD8MYveE4jz2Ug27mmM4bRo2TWFnc4y125qZNkJj1YM/4G/PPMNnPvMZKioqyMvLA+CM0YM3EBZCiOFOgiYxIHJddk4Z4+XlzY0UeBxdhq1C0TT5bjtTR+WjKAqTRuQxaURet2X5c534c7Mb2eY4beimRUY3ME0w94vJFBW8bhuqqhBLZnDZVZJpE92yUNXOw3YAad0izYdzokKxNPF0drPfjG7SEsvOjWqJpYmns71mqqqQyhjEUzpjCz0U5jrJGCbbmmIkMwYuu4ZumPz+1e3sbo4zoSgXbb8J4G+88CyPPvojnHaVn//851x44YX99ZILIYQ4QhI0iQFzwUklbNjTyo7mOKN8Lpy27JL+UDRNWzLDp84cg3+/ITCAlliatdua+WBPKy2xNArgtGu8trkJ04LCHHt2y5OoiUnnFGQKCpqqMmlEHhndYNPeNlQF8tx20rpJIm3QU9IyRclurOu0abQmMiiQ7aXKGNns4/sSa1qWRVo3KcpzMnlEPoqSHYqMpbLDkS67xsa6CNsbY4wucHcETIlohL8sv4f1Lz1D6ekfYc6ixXz8/An9/poLIYQ4fBI0iQEzsTiX6y8IsGrNLva0xDFNsMjuG/epM8fwyTM/3OzWMC3+8XYtf1u/h2BDlGTGQDeys5Y0VenYry0US6MoCgqwb343ipKdY9S+pH93KEapP4dk2sDt1LCr2ezdAJqS3TzX3Bc9KWQDJovsfCdNzeZvUrAYV5hDXThBPJXNTh5LZTDM7Aa7gRF5HWWmDQPbvjQEALUtCXTjwz3oNr/1Cn/6xfdIJeN8csF3GDe9nJilkNQt3HaZrySEEIOFBE1iQJ00xsviEXlsrIsQiqZw2jWmjMrvSDFgmNn8Ry9u2MvTa3exN5zAsrJzhkyL7NYw+4bQDAuSaQOT9l4fOgIXa99zbodGLKWTyGT3q1PIzp8yLVCzc8DZv7upPd2AqijohgVkM5DnuhycOtbLRaeM5MUNewnF0tm97opyGOF14d4v5UFLLM35U0rIdWVzKSlKttB0Ms7ff/vfvPHsHxl/ygwuvbGC/MIRtCWzE71l+zghhBhcJGgSA85uUzmt1NfpuYbWJK9sbmTd9hCxlM72xhhgkTJM0hkzu0JOAdTO85b2zefGMrITwrML5bLn5jg0FLLJKVNpA03N5k8yLQssC6emYVhWtgfrgHE6w7RoS2ZwOzRGeF2oanao74KpJZw/pZi/Vu/h7+v34HFo2FSFllh2iLE1nmGUz8VHTxrRUdaEolxC29+j8tG7aAs1cNG1tzHtwis6Eo9G0xYnFtlxyqo4IYQYVCRoEoPO9sYov36phrpwkjyXjVhSpy2RIW0YGMaH0Uz7cJulWBgHBDnWAX+2ByDN0XQ2FYAex2HTSGUMYkkd9g3h2bVsqoP2emz70gdYVjZwGuF1MaEohz0tCUYXZFeyKYrCWScUsrW+jde3NvHOzhbMfcOCTruKz2PnvV1hxhS4MfQMj/3sHlb9+H7846bwhR8sZcSYcdm2WhYtCROHpnD6aHefczoJIYQ4uiRoGsYsyxpyX7y6YbLyjZ3UtyaZWJyDqihYVgKHTUU3TdKWhapkV8K1M3uavb2ftG5lh9Cs7Fwnj8PGSJ+LHU0xYil9X9LLbC+TaWYzhauKgt2mdmQVz3HZCEXTgEJpoYfTSn1YlsU/36njX+/vpb41SUs8TcawcNpVRnrdnDAij9ZEmr++tYfg5g088qNvsHHjRhbc/GUKz7qK3RGLulYdZd/qvVyHykcCHgJ+2RZFCCEGGwmahhkrmST1yqskX3oJY+9e1Px8nOd/BOf5F6D5Cwa6eYe0tT7KjqYYI71u1H0Bn9OuoapKx2OgowspO6PpQ+0Ttw8MpMz9rmmfGB5L6Uwqyc0muNSyG/omMwaKCvn75h9FUzqWlQ2YFKA1kaEgx84Xzp1AjtPGy5sa+Gv1blwODU1VsKsqBV47ad2iOZoi321ntNfJm3/5LY/86WEmTJjAH/7wB6ZOnUrGsNgWSrMtlA20/B6NKcVOCnPkn6UQQgxG8uk8jJjxOG2/+CXpN98EzYaSk4O+ew+ZX/+G1H9eIf+O29FGjxroZh5UY1uSjLFvy5N98t12chwabYkM8GFAZFldu5gUZV/gtO9xd51QGSM7Pymjm7TG0zg0jfGFOXz8/BH88bUdNLQlyWRnmZPrspHjtKGgoKoKHqeNU8b6mDIqn4xu8uKGelRVwedxUFMfxWlTURUVlz07wXzL1i38pfLH7Nr8NidfeA0Vt9/K1PHZbW3smsKJxU5OLHZ200ohhBCDjQRNw0jimWdIv/Ya2rjxKPttoWLpOpnNm4k+/jj5d1YM6iE72755SmndIJrUMSwL276eobTeOftkt6NyFlj7oial/XE3p2UMC93QUTMAGaIpHdPKbgLcPoSnoKKgYJowvsjNCK+b7U0xfJ7syr7doTh7I0mKcp0YZnbek7Zv7pRlWex+/S+88+dfkeMr5PPf/h+0ESdhaTLsJoQQQ5UETcOEGY+TeuFFlLz8TgETgGKzoY0eTea999CD27BPCgxQKw9t0og8kmmDNcFQxwTsVMYgqRtoqoK+r5tJoWswpCnZ3pvkviV0h5rqZJGdR5Qd0rNoaE2wN5zEJBu82bVshvG0blDTEM3ma7Ispo7O9hTppolpWmj7hg5tWjZfVCbSxJtP3kv9xjWMPesyLv7Cl/Hm5dAUM8hzqgdrkhBCiEFMgqZhwqyvxwyHUQqLuj2u5OVh7K3D2LNnUAdNb20PEU/rJNIGuS6tY8uTbHBj4bCp2FQl27MDGIbZsXLOtOgImPrCIjsBfWdznPa+LH3f3nEpPY3HoWHXVDbXtXHWpELOHJ+dG1ac5yLHaaMtkcGf66Q4z8FrVX/hgz//Es3uZOYN91B04gxychw0xw0KczQm+h398joJIYQ49iRoGi5stuySMsPo/rhpZjNl2wbvWx6OpXn+/XrG+D14PToNkRSxhL5vflGWw6ZSmOsgpZukdRPDyGbi1rumVuqTlJ5NcKntN4m8fUJ5NGXgtJnkexxcXja2I0mlL8dB2QQ/z2/Yi5KO8p9H/4sNr69m5Bkf5+RPfxXFmYvTphKKm+Q4VC4I5GCX3EtCCDFkDd5vUNEn2ujRaOPGodfUoOZ13djWbG5GLfBjmzplAFrXOxtqWwnH04wvzGGEV2GUz82Ophg7mqIY+wKajG6STBs4bRoul4ZumiTSOu0hU3fDdr1hWfuG6VQFzfpw2xTTyvZmaarKaJ+borzOk7Y/eeZoVv/jb/zy59/HNHQu/NL3yZ9yPpGUiV1T8LlVJhU6mD7WQ6lP5jMJIcRQJkHTMKFoGu5PXELbg7/KphooKUFRszmGrNZWrHALrqs+i+b3D3RTe5RIG2BZxNM6Kd1EUxVK/R72tiaIJvV9aQMsWuIZbKqeXWFnWR3znKB3AVN3gVXHdiv7hv0sC0xl3351SjZzuKoonTYQjkQi3H7bbfzmN7/h9Jnncc7nv4Hq8eOyK5xY5GRCgR2vWyPPqQ7qyfdCCCF6R4KmYcR5wQWYLWES//d/GFu2YCkKWCZqTg6uSy4hZ+7cgW7iQSXTBrXhJLXhJIaZTWKpqfv2k9svytEAwzRpS1hYdB2X2z88OTA4UpV9+8u1Pyabw8myssfa50e1b7fCvlVxqmoydXQ+Oc7sP5kXX3yR6667jubmZu666y6uvPJKAHQTbCoSJAkhxDAkQdMwoigKnis+g/Oss0iteROzpQXFk4Nj2pnYTjhhUH+R17YkeHlzA2ndRFUh12EjkszQHNW7BD5JPbtpbnazXrp0HbX/74EBUvvda/sWsOkmHRO/Lei0FYuqkk03sK8OTVG46OQRJBIJlixZws9//nOmT5/OsmXLGDt2bMd19g/TSwkhhBhmJGgahrTRo/B85jMD3Yw+eXHDXhrbUpw8Jp+t9VEaoylSGbPb4bb24TMVsGkKdlUhnsmGP/vHTwdmBXfa1ezk8UNMGtf2BUztucY1BbweB6+/uYY53/0a27Zt45vf/Cbz5s1DVSWFgBBCHC8kaBqGzHiczFvr9/U0ebCfecagm8sUiqZ4a0cLu5vjmJbJq1uayXfZKcpzsqclQXM0dcj5SSZgGRYeh4aqm5g9JLKEfcNthtnpcXsCTOuA6wwTNNVCQUHTFIpzbGx74QkWVfyWqVOnsGLFCiZNmnQEdy+EEGIokqBpmEm98iqxP/wBo24v2XTYFqrfj+uTn8Rz5RUog6Bn5K3tIVa8sZOmtiSaqpLKGOwOxcl12WiMJGloTaL0ch2cBUST2Unhad1EN6wee6cOSCiOYoGqKhj7xvAc+zbnzRgWNlXFn+vAk9jLiw/dTd22TXzsyuv4yXe+it0uq+CEEOJ4JEHTMJKufou2hx/GSqXRxo9HsduxDAOzsZH4H55EsWkDPmy3sznGH17dTiJtMLE4F1XJZtEOxdKEY2lC0TT7BuB6XaZhQTyVzU9lUyFjHuKCfbKBlNUx1ymjm7jsKpYFXpeN9Ht/56//+zO8RSO55LZfMLd8hgRMQghxHJOgaZiwLIvEM89gtrWh5HvJbNiAFY+jOByoI0aA3U7y7//AdeGF3eZxOlbe3NpMOJ4hUJzTMTHdrqkU5zloiaaymb6VrvORDqX99N4GTPtT96svpZskW/ay8X9/SnPN20y/eC5TL70Rb46bKbKxrhBCHNckaBomjNo60h9sxGyNYO3YiZVdJw/RKGZzM4rXixWLktmwAefZZw9YO9/bHSbXaeuykq8k382WvW3ZFWxHktq7j7JzmxRUJdvjVLfuH2z/5zKcnjwu/fpP8AfOJM+pUX5iLl6XLI0TQojjmQRNw0UqhVlf///bu/P4qOp7b+Cfc2Ymk0lIMhn2TchgUaAo2SziDonWbkpNtMoiJTKxwuUpvGwibawvrtzLA6K1t9q+AsXeovYREojtVVubecJ97KtaJTOhCr11yQkSRBYzmSQkmf08f4wzZLLOyTJbPu/XK8rM/HLO9/fLmcw3v/Nb4L140b9SY2cn4PMBggA5JQVoaYHc1QWfwxHVML2y/OVSADI6nR54fTKS1CroklRI1Wrg9LgiGo9/Jp4MT2crpP96Fi0fvospS27HLd/bhDlT9Zhr0GDh1GRMTuVbhYhovOMnQYIQUlPgtduBjg7//nM9FyhyuQCVCj6PB4JngL3pIuQrU9Pw5w8+x+f2blxyeuDzyVCJIjJS1HD3iK3nGkv9LVCp9PbdYL44+Rc0vf4LCKKIa1Zvx/ycG5AzU4dvLUwfvZMQEVHcY9KUIOTubsjd3YDH038Brxfo7oYc5dlz6ToNvuhwwivLSE/WQKUW4PZ6cbqlC84eay3594G7vCdczyRptPIlT3cHmt/8JS68fxTTvnoTbrh/C2ZPm4iLl7xQc2NdIiLqhUlTgvB2dvpvyQ3G44GnqQm47dZIhNSH0+3F30+3IjM1CZccHnS7/MmJ+8ulAgTh8qrd8pf/CfQ2adUCfD4Zbt/wN+Xtyf5JPZr+61n43N34pqkCC64vhCAIcH8Zx5zMpBGegYiIEk3MJU2SJKG6uhpGoxGSJMFkMkGv1w9Y3mq1YsOGDbBYLGEfR+k54oHv88/9vUlD8HzySQSi6d9H5zpwrs2Bq2dkwOH24mK7A+3dbnh9MrQaESpBQKfTA1EUIMsyBEGAKAjBcUcqUYBWo0Jykgh7p6vPukvh8LocOG3+NS7Uv4YMYw7yv/coFs73b4Pi8si4eMmD2ZlJMBq4tAAREYWKuaSpuLg4mABJkoQNGzagqqqq37KBxMdqtSo6jpJzxAtfe3t45dyRHWjdU4fDDZ9PhlYtQqsWkaHzJyaN5ztwxtYFQbg8MNsnA7JPRs+lKgUAuiQBM/QpUIsCzrU5lZ3/9Ek0/n4P3Jds+Mq3NmJSzregSVHhbJsbAKASBcwxJOHOq9OgVUd/EVAiIootMZU0SZIU8thoNMJsNg9YvqioSPFxlJ4jXoiTp4RXTh29H3mqVh1czFKjupyUyJDR5fLA67t8e87/fCgZQIfDg39+3g6NGP6YI5/HhTP//RI+f6caE2Zehasf2IHMqTMhCgJuykqFXqeCAGB6ugZzMjVQKzg2ERGNHzGVNJnNZhh67ZFmMBhgtVqRk5MzKsepr68flXPEHNm/vEDIrLl+iIaJEQqor6umpWNyuhanWzohQkDLJSc6HG443T44Pf641aIAUQC8/UyPUwv+Fbzhk+ENM6/pPCeh8dXdcHxxBrNvexDTlxVBJaqQpBYwdYIGN2alIlPH9ZeIiGhoMZU02e32fp+32Wyjdhwl53A6nXA6L98Cag/zFlg0iMkpgEo18Oy5QLnMzAhF1Fdykgrzp6fjvcYWuDxe+GTA45WDe78B/mRpoBp4euRR3iFGgss+L86+XYXP/vsl6CbPxqKH/gOp04wQBSBNKyBTp8bi6clMmIiIKGwxlTQNZKBEZzSP099rO3fuxPbt20fl3GNNteCqsAaCi3PmRCCaUE63F+832/HXDy/irX+ehygI0KhEdDq9/jWXfP5bb6N1U8zR8hkaX30Kl85+hOnLijDrltUQ1UkQAIgAJiSp8JXJWtxsTB2lMxIR0XgQU0mTXq/v0+Njs9kUz2wb7DhKzrFt2zZs3bo1+Li9vR2zZ89WFEukuP/27pC35gDAWVeH1MKCCETk1+nw4Ld/kfB+sx32Thfau91IUotweXxQiQIyUjSwdbogf9l1pFaJ8Hh9w1pSQJZ9OF//GprN+6GZYMDCdXuQNnth8HVBAOYaNPjmgjTMn6zlYG8iIlIkpj41Cgr6/zDPy8sbteMoOYdWq0V6enrIV6xyN4a3lID71KmxDaSX1xrOoOHTVkzLSEZKkgpajQrpuiSIogCvT4bD5Q32MAlfbq8yHM72i/jnyxX49I+/xKRrC7G49FchCZNGBPJm6bDl5klYPF3HhImIiBSLqZ4mo9EY8liSJOTl5QV7gaxWK/R6fZ9ygP/2WqDcYMfp3aPU+xzxSkhLC6+ge/AxT6PJdsmJ+iYbMlM0SNaoIAhCsDNMoxLh9PjQ7fJCEAG1SoDH61/+W0naJMsyvvjg/+LTP/4KYpIOV636N+jn5YaUUQnAomlaFF2TwWSJiIiGLaaSJgCoqqpCeXk58vPzcezYsZD1k3bu3In8/HyUlZUB8M+Sq62tDXktsAzBYMcZ7LW45QtzpUdV5JKGs63d6Oh2Y/ZE/9ihjBQNPm/rhs8nQ6dRodvlhdvng1oWkKQW4fV54VOwqZy7046m13+B1n/+FRMX34a5X38Eat3l5NE/6FvETcZUfHtBGlRcSoCI4ligJ364PfKJThCEkP+PyTlktn7Y2tvbkZGRgba2tpi7Vdf+/C/R8e87hywn5udh+qs1EYgIOHHGjuf+/BFmGXRQi/6xSh8029Hh8CA1SYV2hwcdDjcEARAF/1ID/tl0Qx+79cN3IL32c8Dnw9xv/gsmLbwJKtGfOwoCoNOIuGpKElZcOQHzJ2vHvrJERGNIlmV4vd4xTQgSgSzLUKlUfdrp0qVLuP7660f8+R1zPU00PB6HI6xyvnPnxziSy66YmAp9igatnS5MTkuGWiVi/vR0fPR5Oy45PfB6vUhSi/B4/AO/k9QiXEPMAPQ4O3H6zUpcPP5n6Od/DVnf+l9ImmBAslqAIABJScCCKcm47godFk1LhshfMEQU52RZhsfjgU6nw8SJE6FWq5k89RJoo5aWFnR3d49ZGzFpShDdf3s3vILnI5c0pes0+NqVk/DH42eRkuRBqlaNVK0aC2dl4OPP23HO7YVep0GyRkR7t8efMA3Sy9TW9HdIf3ganu5LyPr2FkxecjtUgoC0ZBFLpidj7sQkXD1Fi8mpvKyJKHHIsgxRFDF16lQkJydHO5yYplarcfr06bE7/pgdmSLrszPhlXNFdu+5O6+dAXunC5YmG861daPb5d+ot8vl9Xc3+2Q4NCJUoohOh7ffnMnndqK57jc49+6rSJuzGAsf3A2dfhpEAUjWiCi+JgNL56REtF5ERJHG3qWhBdoosOn7aGPSlCiSddGOoF/JGhXW3mTE0isn4Q/WM3j3kxaoRAFqUYAMAS6vjO5BZvRd+uxDNP5+D5yt53DF7aWY9rW7IAoiRBFI14qYk5mE3FmxWXciIkosnH+dKMIc0xQNKlFAuk6DT7/ohFYtwOOT4fb64PL4BpwtJ3s9OHP0AE6+sAWqpGQsNj2P6UtXQiWKSE0SMHWCCpNS1Vg2NwUaFf/6IqLxp6GhAZs2bUJKSgoqKiqwf/9+PPPMM9i0aRNqavpO+Fm2bFm/z0dDLMWiBGfPKRDLs+c+W/hVoK0trLIzP2se42gAt8eLv378BT44bUfjhQ6cb3PgQrsDKgjocHqC26YIAtA7b+q6cAqNv9+DrnMSZt78AGbc+D2IKjUEABO0AiYkqTAxVYWcmTrcmJXCwd5ElNB8Ph9kWcacOXOg1YbOBrbb7ZgxYwbOnj0bst7gqlWrkJubG7KrRV1dHXJycmJiXcKxisXpdOLTTz+FIAgQxcv9Qpw9R6HCXacpAk5+Zsf//sNJfN7aDYfbvzFvYLBSuk4THLckAyEDv2WfF+fefRXNdf+J5MzpuOahZ5E6Yz5kGZiZoUbuLB10agGpWhWunJiESal9p5USERHw/PPPY8aMGVi/fn0wMVm+fHl0g+ohlmJRgklToujqinYEAIB66QtUVL2P9m43VIIAT69czt7tDnkcyJkcrecg/f5pdJw+gWlLV2LuigeRnqqD98tuqG9cnYbrruBgbyKicOj1eixZsgQvvPBCSG8TjQyTpkQxxPpGkfDJ+Q489fr/oL3bDbUowBvGnV9ZlnGx4U/49M97odalYcHaXciYew3UIqASZLh8MiZPUOOqKVygkohIiaysLFgsFgD+8U8bN25ESUkJSkpKUFdXh4qKCpSUlCArKwtNTU2oq6vDjh07YLfbcfToUUiShOeeey54vLq6Ohw/fjx43B07dgx4nJdffhmA//bh4cOHkZWVhba2NlgsFtxzzz0hsQTiO3r0aPAYK1euRFZW1pDHjzQmTTQqfD4ZNceacaHNAUEAVCoRLtfgiZyrowVNr/0c9o/fw+TsO3DF7SaotakQAMgy0OUGtGoR31iQhoxkVWQqQkSUQNq+HOuanZ0d3GYM8N8eW758eUgCUlNTg5qaGmzduhXZ2dlYtGhRcF/XpqYmVFRU4O233wYA2Gw2PPPMM9i6dWu/x2loaEB2djZeeOEFLFmyJHg7zmaz9YmlqakJjz/+OF577bXgc8uWLcMbb7wxYJyB40cakyYaMYfLizf+fhZ//egi3F4fZBlwuQdPmFpOvoVTb/wCgqjGgvu3I3P+1y4PCBcAjUrAlDQVvrkgHTkzuaQAEZFSTU1Ng44dMhgMMBgMwccZGRnIysoKedza2gq9Xo/9+/fDYDCgrq4u+HqgF6u/47S2tgIAVq5ciRtuuAFz585FUVER1q9f3yeO/fv3Y8mSJSHPZWVl4fDhwygpKRn0+JHGpIlGpK3Lhd+8JeFYYwvau90QBGHQTXc93R049cZzaDn5/2BYcCPmfetfkJqmByBDLQrQaQRckZmE/Nk6XDVZiwla9jAREQ3HqVOngre/wpWRkTHgaz17jACEdezMzEycPXsWDQ0NOHz4MFavXh3SoxRvmDTRsMmyjMPvNePkGTsMqUk43+6A6BMw0F4o9k/qIf3hGfg8LsxbWY7Ji29F/hU6GA1ayDIwMVUFoyEJeh0TJSKikdi0aRPWr18f0nMEXL5dN5CBXg+MQ+qprq5uyFlwe/bsQUlJCbKzs5GdnY1Vq1b1OVd/xz5+/Dief/75QY8dDUyaaNg+tztw4owdE7RqnGnthsvt3wZF7LX2ktfVjdO1+3DB8gYy5uXiyu9sgSZtErRqAdnTdcjnrDgiIsUaGhqwf/9+AP7kJDDYWpIkrFixAitXrgwpW11dDYPBgJUrV8Jut6O6uhoAcNttt+HUqVM4fvw4AH+PUl1dHU6dOoWnn34aO3bsQHZ2Nnbs2IGKigrk5uYGvy9w3N7H2b9/P7KysoK39AwGA2w2G4qKivrEEjj2M888Exxk/tJLL0Gv1w95/N5J4Vjj4pYKxPTiljNnh112tBa3fK+xBfuOfoxLDg/autxQiUCHw78liscrw+OT0XH6BBp//zTcl2yYe7sJs677Bryyf22lGelqbLl5EtJ4C46IaECDLW5Jobi4JcW0bpcXHd1upCSpoFKJAAR0Oj0QfC40m3+Ls29XY8KsBbh61b8hZeIMuL3+VcANKSrceXUaEyYiIoobTJpo2OZMSoFKFODy+jAhWQMASNWq4bwgof7FHbh08QyMhd/H3JuKIIgqyACS1SKyDBrclJWKhVP5FxMREcUPJk00bFMzdJg7KRXNLV1we31QwYf/Mf8OJ//4AiZMmYOlj/wCc+d9BWlaFe69Nh0eH6ASgcmpaqhEbn9CRETxhUkTjci9S+fg/WY7LpxpwgeHdqHtzIfIuvk+XLliNaZk6CAIMqalqTFlgpr7xBERUVxj0kQjcvX0NGg+MeOdfU9Bp5+EWzc9ixlXfhXpWgFeH+D2Cbh2RjITJiIiintMmmjYmpubsW7dOtTV1SGv4Lu48o4SqLU6iALQ7vQhVSPipqwUfGVSUrRDJSIiGjEmTaSYLMt48cUXsXnzZiQnJ6OyshL5X7seTTYXmmwuOD0yDCkqzJ+sxZQJvMSIiCgx8BONFLl48SJMJhNeffVVfPvb38Zjjz0WXPNi/mQt5k/mjDgioljhPXsWsi1y+7QJhkyoZsyI2PkijUkThe3VV1/Fhg0b4PV68bOf/QwFBQXRDomIiAbgPXsWbYW3A05X5E6qTUJG7Z8TNnFi0kRDamtrw+bNm3HgwAHceuuteOKJJzBp0qRoh0VERIOQba2RTZgAwOnynzfMpKmpqQk1NTXIyspCU1MT1q9fD71eP7YxjgCTJhpUXV0dHnzwQbS2tuLJJ5/EXXfdxZlwREQ0KlatWoW3334bgD+B2rhxI15++eUoRzUwcegiFBdGeT+irq4ubN68GStWrMCMGTNw5MgR3H333UyYiIhoVDQ1NYU8zsrKwtGjR6MUTXjY05Qo0tIAp3NUDvXee+9h9erVOH36NMrLy/HAAw+EbHxIREQ0UnV1dTAYDCHPZWZmoqGhAdnZ2VGKanD8JEwQQmZmeAUHSX5cLhcqKiqwbNkyaLVaHDp0CKtXr2bCREREo66tra3f51tbIzfbTyn2NCUI9Ve/CvfHHw9dMC2136dPnDiBNWvW4MSJE3j44Yfx0EMPQa3m5UFERJE1UDIVC9iFkCCSFi4Mq5xq5uyQx16vF7t370Zubi46Ojrw0ksv4eGHH2bCREREYyojIwM2my3kudbWVmRkZEQpoqExaUoQmsnhLQGgWXQ5uZIkCbfccgsee+wx3H///Th48CAWLVo0ViESEREFLV++vN/nc3JyIhxJ+NidkCCScrKBpCTANciaHKIIbX4eZFnGvn37sHXrVuj1erzwwgvIy8uLXLBERDTuZWVlhTxuampCTk4O12misaeZNw+aRYvgPn4ckOW+BQQB4qSJaLv+ehR/4xv405/+hHvuuQc/+tGPkJra/zgnIiKKX4IhE9AmRXxFcMEQ5sQkAC+//DIqKiqQm5sLi8WCl156aQyDGzlBlvv7hI0eSZJQXV0No9EISZJgMpkGzDoHKzvc1wbT3t6OjIwMtLW1BfdbiyWu9z9Ay9oH4WtpAXqupyTLEFJSUPv1O7DlxQNQqVTYvn07br755ugFS0REYfH5fJBlGXPmzIFW4Zp8423vOafTiU8//RSCIITM/L506RKuv/76EX9+x1xPU3FxMSwWCwB/crNhwwZUVVUpLjvc1+JZ0jWLYXjxt2jf8e9wnzgB2emEoFajbeZMPO524fB//Bx33HEHKioqYrr7k4iIRodqxoywtzShocVU0iRJUshjo9EIs9msuOxwX0sE2sWLMen/vAxPYyN8NhvetFpR+q//iu7ubuzevRt33nlntEMkIiKKSzE1e85sNvdZHdRgMMBqtSoqO9zXenM6nWhvbw/5igeCKMIxbRo2/frXuOuRRzBv3jwcOXKECRMREdEIxFRPk91u7/f53us4DFV2uK/1tnPnTmzfvr3f8rHsL3/5C9auXYsLFy7g8ccfR3FxMfeMIyIiGqGY6mkayECJjtKySl/btm0b2tragl/Nzc1hxxENDocDjz76KG655RZkZmaiuroa9957LxMmIiKiURBTPU16vb5Pj4/NZut30PJgZYf7Wm9arVbxTIVoaWhowOrVq/Hxxx9jy5YtWLt2LVQqVbTDIiIiShgx1dNUUFDQ7/P9Lbw4WNnhvhaPPB4PnnzySVx33XXw+Xx45ZVX8P3vf58JExER0SiLqZ4mo9EY8liSJOTl5QV7gaxWK/R6PYxG46Ble/cahftavPnwww+xZs0aWCwWlJSU4Ac/+AE0Gk20wyIiohhxvs2Btm53xM6XodNgakZyxM4XaTGVNAFAVVUVysvLkZ+fj2PHjoWsn7Rz507k5+ejrKxsyLLDfS0e+Hw+PPfccygvL8fUqVNx4MABXHvttdEOi4iIYsj5NgfW7j0Glzdya1gnqQQcMOWHnTg1NDRg48aNePvtt8c4stERcyuCx7JYWBH89OnTWLduHY4ePYoHHngAP/zhD6HT6aISCxERjb3hrgj+0bkOlP5nwxhG1r/KddmYPy1tyHI1NTWYO3cubrjhBnR1dY3KucfdiuDUP1mWceDAAWzevBkpKSnYt28fli5dGu2wiIiIhmXlypXRDkGxmBoITv27cOEC7r77bqxbtw633norDh8+zISJiIgowtjTFONqampgMpng8/nw7LPPYsWKFdEOiYiIaFxiT1OMstvtWLt2Lb773e9i8eLFOHLkCBMmIiKiKGJPUwwym81Yt24d2trasGPHDnznO9/hqt5ERERRxp6mGNLV1YVNmzahsLAQs2bNwpEjR3DXXXcxYSIiIooB7GmKEX/729+wdu1anD59Go899hjuv//+kOmSREREicput8fFItP8VI4yl8uFn/zkJ7jhhhuQnJyMqqoqrFq1igkTEREltLq6OlRUVAAA9uzZg5qamihHNDT2NEXRBx98gDVr1uDkyZN45JFHUFJSArWaPxIiIhq5DJ0GSSoh4iuCZ+jC285r+fLlWL58OXbs2DHGUY0efkJHgdfrxZ49e/DTn/4UV1xxBX73u99hwYIF0Q6LiIgSyNSMZBww5XPvuVHEpCnCGhsbsXbtWrzzzjtYt24dNm7cqGhZfCIionBNzUhO6CQm0pg0RYgsy6isrMSjjz6KzMxM/OY3v0Fubm60wyIiIqIwMWmKgM8++wwlJSV48803UVRUhEcffRSpqanRDouIiIgUYNI0xl555RU88sgjUKvVeP7553HzzTdHOyQiIopDshy5Ad3xaqzbiPPax0hLSwvuvfde3H///Vi6dClqamqYMBERkWKCIECWZTgcjmiHEvMcDgdkWR6zRaHZ0zQGXn/9dZSUlMDhcOCpp57C17/+9WiHREREcSqQAFy8eBEAkJyczJ0iegkklYE2YtIUBzo6OrBlyxbs378fN954I7Zv344pU6ZEOywiIopzKpUKXq8X58+fZ8I0gMCtOZVKNWbnYNI0St566y2sXbsWFy9exBNPPIF77rmHFzYREY0KQRCgVqshyzLHNg1AFMUx/9xl0jRCDocDP/7xj/Hss88iOzsbv/rVrzB79uxoh0VERAlIEAT+QR5FTJpGwGKxYM2aNfjkk0+wdetWrFmzZky7BYmIiCh6OHtuGNxuN7Zv346lS5cCAA4ePIh169YxYSIiIkpg7GkahsLCQrz//vt46KGHUFpaCo0mvM0JiYiIKH4xaVIgMPju4sWLqKysxKJFi+B0OuF0OqMcGREREQ2ks7MTwMgXvxRkDsMP25kzZzjIm4iIKE41Nzdj1qxZw/5+Jk0K+Hw+nD17FmlpaXExe6G9vR2zZ89Gc3Mz0tPTox1OxI33+gNsg/Fef4BtMN7rD7ANAvX/xz/+gauuugqiOPzh3Lw9p4AoiiPKUKMlPT19XL5RAsZ7/QG2wXivP8A2GO/1B9gGM2fOHFHCBHD2HBEREVFYmDQRERERhYFJUwLTarV44oknoNVqox1KVIz3+gNsg/Fef4BtMN7rD7ANRrP+HAhOREREFAb2NBERERGFgUkTERERURiYNBERERGFges0xTlJklBdXQ2j0QhJkmAymaDX60dcNl4orZPVasWGDRtgsVgiF+QYU9IGVqsVZrMZAHDs2DHs27dvXF0Dgbrb7XYcO3YM9913H3JyciIY7dgY7nu7vLwc27ZtG1fXgNVqBQDk5ORAkiTY7fZxeQ2YzWZIkgSj0QgAKCgoiFCkY0NJ/aurq4P1VXztyxTXcnJygv9ubGyUi4qKRqVsvFBSp6qqKtlisciJdtkraYNdu3aF/Lvn98YrJfXX6/WyxWKRZVmWKysrZaPROObxRcJw3tuB90Jra+sYRhYZSupvMplkADIAuaCgICHqL8vK2qC2tlY2mUzBsonwPlBS/8DPv+dXz9+Ng0msT49xprGxsc+Hnl6vH3HZeDHcOiVS0qSkDSwWS8hrjY2NMgC5sbFxTGMcS0qvgdra2uC/KysrEyJpHO77oKqqSjYajXGfNCitf2Vlpdza2hr39e5JaRv0/rnH8+8AWVZW/9bWVrmqqirkuXATJlmWZY5pimNmsxkGgyHkOYPBEOx+Hm7ZeJGIdVJKSRvk5ORg3759wcd2uz1YPl4pvQZ63oKoqqpCaWnpmMYXCcN5H1RXV6OoqGisQ4uI4dRfr9fH/S3JnpS0gSRJsNls0Ov1sFqtsNvtwVt08UrpNdDz2lf6XuCYpjgW+NDrzWazjahsvEjEOimltA16/nI4ePAgCgoK4vrDYzjXgNVqxcGDB1FYWAiTyTRGkUWO0jaw2+1x/TPvbTj1r66uBuAf11daWhr3SYOSNrBarTAYDMFxPXv37oXRaIzrJFpJ/Xte+3a7HTabTdHPn0lTAhroAhpp2XiRiHVSaqg2CHxwJNKA+J4Gq39OTg6MRiPKy8sTqselt4Ha4NChQwmRLA5loPr3HCBsNBpRWFiIxsbGyAUWQf21gc1mgyRJwT+YTCYTMjMzISfgOtdD/R4sLy/Hrl27FB2Tt+fimF6v75NJB7pdR1I2XiRinZQabhuUl5ejtrY27ttquPXX6/UoLi5GcXFx3CfZStrAbDbj3nvvjVBkkaH0GpAkKfjvwEyrns/FIyVtYDQaQ25PBv4fz8MahvN7wG63w2w2K/4dyKQpjg00RTQvL29EZeNFItZJqeG0we7du1FeXg6j0Qi73R7XSYOS+pvNZmRmZgYfB7rk4/0DU+k1cOjQIezduxd79+6FJEnYuXNnXH9gKqm/1WrFihUr+jwfz+P6AGVtEO+3IvsznN+D9fX1w/qjkUlTHOt98UuShLy8vJC/HAIfCEOVjUdK6t9bPCcKPSltg+rq6uDtKbvdjkOHDo2ba8BgMIT8crVardDr9XG/Ro+SNigoKIDJZAp+AUBpaWlct4HS34M9b8eYzWYUFRXF9XsAUN4GeXl5wd+BgbWaxss1EBAY26WY4rl9FFMaGxvlsrIyuaqqSi4rKwuZRlpUVBQylXKwsvFKSf1ra2vlsrIyGUDwexJBuG0QWGKg51e8Lzshy8qugaqqKrmyslKurKyUi4qK4n6qdYCSNpBl/7TrXbt2yQBkk8kUXLsqXimpv8VikXft2iVXVlbKZWVlUYh2bChpg9bWVtlkMsmVlZWyyWRKiPeB0vfArl27gmtVKSHIcgKO/iIiIiIaZbw9R0RERBQGJk1EREREYWDSRERERBQGJk1EREREYWDSRERERBQGJk1EREREYWDSRERERBQGJk1EFDeKi4uRm5sLQRAgCEJw/7jAV2FhIYqLi/vdFsRut2PevHnYvXv3qMVjtVqRm5uLzMxMFBYWjtpxiSg2qaMdABFRuKqqqgAAgiCgoKAg+Lin3bt3Izc3F5WVlcGtQoDLu7sfO3ZsWOfub0f0nJwcWCwWFBYW9tkwlIgSD3uaiCihlJWVIScnB6WlpX12tJdlud9EKxyDbeybiJugElFfTJqIKOEENuY1m82jcrzq6uqE2eSZiIaPSRMRJZyeO7qPxrE2bNgw4uMQUfzjmCYiSiiSJKG6uhoFBQXBHidJklBaWor6+noYjUZYLBYA/p6o8vJySJIEk8mE++67D2azGbW1tSgtLQUAHDx4EABQX1+P4uJiAP5krPf4JsA/2Hzv3r0AgGPHjg1YjojikyDLshztIIiIlAgMBK+trQ0+Z7fbg0lQUVFRv8lKYMB2IGkKmDdvHgoKCjBv3jyUlZVh3rx5yMnJCY5/CsyM63m+ngIJ2X333YeysrLg85mZmdi2bVvIc0QUv9jTRERxSZKkPssHNDY2oqCgAPn5+f1+j9Fo7HeWm9FoxKFDh9DU1AQAsFgs0Ov1iuKxWq19Bpnn5eXh4MGDTJqIEgSTJiKKS0ajsd9kxG63Izc3Fzt37uzTozTU8QKJktKEKfA9vcdQDZSkEVF84kBwIkooer0elZWVsFqtwXFJ4TAYDCM670i/n4hiH5MmIko4gQHggUHZ4VDSu9Tf8gPD6Z0iovjCpImISKH6+vpBF7skosTEpImIEk51dTUAoKioaFSO17sXyW6383Yc0TjEpImIEorVasWGDRtgNBqxb9++Pq8PtLL3YCt+FxYWor6+PvhYkqSQRMpms/X7/QM9T0Txies0EVHcKC4uhiRJsFqtAPw9SYEen8CGvAD6rJckSRLKy8thNptht9tRVFSEbdu2AQB27twZ0jOVn5/f76y88vJyWK1WFBYWIicnBwUFBf0et7S0FEajMeT5goIClJaWjlrPFxFFB5MmIiIiojDw9hwRERFRGJg0EREREYWBSRMRERFRGJg0EREREYWBSRMRERFRGJg0EREREYWBSRMRERFRGJg0EREREYWBSRMRERFRGJg0EREREYWBSRMRERFRGJg0EREREYWBSRMRERFRGP4/9qqF+/eFEVEAAAAASUVORK5CYII=", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -783,7 +799,7 @@ { "data": { "text/plain": [ - "0.05061900451758505" + "0.04995895755237128" ] }, "execution_count": 12, @@ -812,7 +828,13 @@ { "cell_type": "code", "execution_count": 13, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -863,7 +885,13 @@ { "cell_type": "code", "execution_count": 14, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "l = len(files_list)\n", @@ -874,7 +902,13 @@ { "cell_type": "code", "execution_count": 15, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "for i in range(l):\n", @@ -886,7 +920,13 @@ { "cell_type": "code", "execution_count": 16, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "B0 = B0 + B0.transpose()\n", @@ -903,7 +943,13 @@ { "cell_type": "code", "execution_count": 17, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "mds = manifold.MDS(\n", @@ -919,18 +965,22 @@ { "cell_type": "code", "execution_count": 18, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -952,18 +1002,22 @@ { "cell_type": "code", "execution_count": 20, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -977,7 +1031,7 @@ "metadata": { "anaconda-cloud": {}, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -991,7 +1045,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.11.0" }, "toc": { "base_numbering": 1, @@ -1008,5 +1062,5 @@ } }, "nbformat": 4, - "nbformat_minor": 1 + "nbformat_minor": 4 } diff --git a/Tuto-GUDHI-simplicial-complexes-from-data-points.ipynb b/Tuto-GUDHI-simplicial-complexes-from-data-points.ipynb index 2fdbaa4..76c147e 100644 --- a/Tuto-GUDHI-simplicial-complexes-from-data-points.ipynb +++ b/Tuto-GUDHI-simplicial-complexes-from-data-points.ipynb @@ -3,7 +3,15 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true + "collapsed": true, + "editable": true, + "jupyter": { + "outputs_hidden": true + }, + "slideshow": { + "slide_type": "" + }, + "tags": [] }, "source": [ "# TDA with Python using the Gudhi Library \n", @@ -21,15 +29,20 @@ { "cell_type": "code", "execution_count": 1, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", "import pickle as pickle\n", "import gudhi as gd \n", "from pylab import *\n", - "from mpl_toolkits.mplot3d import Axes3D\n", - "%matplotlib inline" + "from mpl_toolkits.mplot3d import Axes3D" ] }, { @@ -147,14 +160,12 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZ4AAAGRCAYAAABVKtXaAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs/Xl8JHd9548/q6pvqXVfo2Pu+/J4ZjwzGmMuOx4DWfBCEsgmX0yyMWGJd5d4d1nIj2MXkxBiQkwIi7MEE9hAICyEhHViMAZzeWzjmdE5M5rRjDS6r+6W+u7qOn5/tKqmu9UtdUstjTTU6/HwIalVVV3q+rw+7/f79X69BV3XdSxYsGDBgoU1gnirL8CCBQsWLPxywSIeCxYsWLCwprCIx4IFCxYsrCks4rFgwYIFC2sKi3gsWLBgwcKawiIeCxYsWLCwprCIx4IFCxYsrCks4rFgwYIFC2sKi3gsWLBgwcKawiIeCxYsWLCwprCIx4IFCxYsrCks4rFgwYIFC2sKi3gsWLBgwcKawiIeCxYsWLCwprCIx4IFCxYsrCks4rFgwYIFC2sKi3gsWLBgwcKawiIeCxYsWLCwprCIx4IFCxYsrCks4rFgwYIFC2sKi3gsWLBgwcKawiIeCxYsWLCwprCIx4IFCxYsrCks4rFgwYIFC2sKi3gsWLBgwcKawiIeCxYsWLCwprCIx4IFCxYsrCks4rFgwYIFC2sKi3gsWLBgwcKawiIeCxYsWLCwprCIx4IFCxYsrCks4rFgwYIFC2sKi3gsWLBgwcKawiIeCxYsWLCwprCIx4IFCxYsrCks4rFgwYIFC2sKi3gsrDl0XUdVVXRdv9WXYsGChVsA262+AAu/XNA0jWQySTQaRRRFJEnCbrcjSRKSJCEIwq2+RAsWLKwyBN3adlpYAxhRjqIoaJqGLMvm93VdRxAERFHEZrNhs9ksIrJg4TaGRTwWVh26rpNMJlFV1fyeLMuIomj+HFLRkEVEFizc/rCIx8KqQlVVkskkmqYhiiKCIJjptnwkYhGRBQu3NyzisbAq0HUdRVFQFAVd103SAZiYmGB4eJiKigqqq6upqKgwo598xzL+0TTNPE4ikcDpdOLxeCwismBhA8EiHgslh6ZpKIpiptYEQUAQBFRVpa+vj7GxMVpaWojFYgQCAVRVpaqqiqqqKqqrq/F6vQURUW9vL+Xl5bS2tpoRkSFUsNlsGWRnwYKF9QNL1WahZDAikmAwyNmzZ3n9619vLvzhcJjOzk5EUeTUqVPYbDbzZ5FIhEAgwOzsLENDQ+i6bpJQdXU15eXlGQRiEFl6+s0go3g8br7GICIjNWcRkQUL6wMW8VgoCbJTa0YNR9d1RkdHuXTpEps3b2bXrl0ApqpNEATKy8spLy+nra0NXdcJh8MEAgECgQADAwMIgpBBRGVlZTmJCECSpIzUXDoRGZGQRUQWLNxaWMRjYcUwxAKqqpoLPEAymeTixYv4fD6OHDlCfX29+fp8EAQBr9eL1+tl8+bNaJpmEpHP5+P69euIokhVVRXxeByHw2GKD9KPkYuINE0ziUgUxQViBYuILFhYG1g1HgvLRnZvjrFwJxIJfvSjH+HxeHC73Rw6dAiXy5Xxe4lEIoMgCoWmaYRCIQKBACMjIySTSex2O9XV1WZU5Ha7Fz1uekRk/GMRkQULawcr4rGwLGT35hiLtK7rDA8PA9Dc3MyOHTtyLt7LXdBFUaSyspLKykqi0Shut5uqqioCgQCTk5NcuXIFh8NhpuWqqqpwu90Lzp1+foN8VFVFVVWTFLPFCsshSgsWLCyERTwWiobhPJAe5UCqbtPd3U0oFAJg69ata7JQGyQDqb6hubk5AoEAo6OjXL58GafTab6muroap9OZ8fvpQgXIJCJFUcyfZ9eILCKyYGF5sIjHQsEwFuNkMrmgN8fn89HV1UVVVRUnT57kxz/+8S0xAZUkiZqaGmpqagBQFMUkouHhYS5evIjH48kQKzgcjoxj5CMiRVFM0UQ+sYIFCxaWhkU8FgpCvtSapmlcu3aNwcFB9uzZQ1tbmykeWG3iMVJ7i8Fms1FbW0ttbS2QIqLZ2VkCgQA3btygt7eXsrKyjBqR3W5fcJ5CiSjd8NQiIgsWcsMiHgtLIpftDUAsFqOrq4tkMsmpU6fwer3AzfrNetSt2Gw26urqqKurA1LKO6OHaGBggJ6eHsrLy00iqqqqKpqIgJz2PhYRWbCQgkU8FvIivTcHyCCdyclJenp6aGxsZN++faaEGtaOeAqJeJaC3W6noaGBhoYGIFWnMojo2rVrRKNRvF6vmZarrKzEZst8bPIRUTKZRJZl834oikJ5ebmVmrPwSw+LeCzkhNGbY6TNjEUy3fbmwIEDbNq0Ke8x1mPEsxQcDgeNjY00NjYCKT84o5m1r6+PRCKxgIjSSRdyE1EymeSFF16gvb0du92OIAgZEVG6k4MFC7c7LOKxkAGj0TJXai3d9ub06dN4PJ6cxzAW3rWIeFYbTqeTpqYmmpqagFR60agRXbp0CVmWTbNTg4iyI5l0EjKIxrjHRkRkEZGFXyZYxGPBxGK9Odm2N0ulidaCeIxrXku43W7cbjebNm1C13XT6HR2dpaxsTEURaGystIUKmQ7b6cLEdLfQzYRWdNZLdzOsIjHApBpe5Me5SiKQm9v7wLbm6Vwu0Q8S53f4/Hg8XhoaWlB13Wi0ahJRCMjI6bzdkVFBZCbKAslImsWkYXbBRbx/JIjn+0NwNzcHJ2dnbjdbu6+++4FjZeL4XaNeBaDIAiUlZVRVlZGa2sruq6bztt+vx+AF154YVHnbeM4BhGlD8WTZTnDVcEiIgsbFRbx/BJjsdTa4OAg/f397Nixg23bthW9qC1FPKUgpvW+0KY7bzc1NfHTn/6UO+64g2AwWJTzNmARkYXbChbx/JIiX2+OLMt0dXURDoc5fvy4aUVTLH4ZI57FYFyn1+ulqqoqp/P2tWvXkCQpo5nV4/EUTESJRMIcN2ERkYX1DIt4fslg9OZcvnyZyspKGhoaFtjeVFdXc/fddy9onCwGa0U8Gw3pi78oilRUVFBRUcGWLVvMIXqBQIDp6Wn6+/ux2WwLDE/zEVH2LKJEIpHX8NRy3rZwK2ERzy8R0mXSwWAQp9Np2t709/dz48YN9u7da46SXgkWI554PM61a9dwu90500ulOMdGhDFnqKqqCkhFpQYRjY+P09fXV5Tz9mJD8azprBZuJSzi+SVAukrKGJpmLEqxWIzOzk4URcmwvSnVebMxPT1Nd3c3FRUVRKNRrl27lrGrN+bprOQc6xHLuU4j7VYK523jeBYRWVgPsIjnNke2gMBYiARBIBgMcu3atZy2NyuFKIoZi216VLVv3z4aGhrMBTAYDOL3+81d/VKLqYGNuDCu5JoLdd5OrxHlc942jmeNCbdwK2ARz22MfL05RgonHo9z+PBhsyu/1DCIJx6P09nZSTKZpL29nbKysgwzzez0kuEMYCymhnu0saCm1542SsSzGsh23k4mk8zOzjI7O1u08zYsHBN+48YNotEoO3bssKazWigpLOK5DbFYb044HKajo4NkMklbW9uqkY4R8UxPT9PV1UVDQwP79u3DZrMtShaSJOVcTP1+/wLTTqNwvhGwFgRpt9upr683m3wN521Dup3uvG2QUT7DUyBj7EOu6awWEVlYLiziuc1QqO2NLMslTa3luo6RkRFmZmbYv38/LS0tyzpO9mKabto5MzODqqrE43FzMc22qFlvWMvFOZ/zdiAQ4OrVq8RisUWdt416oCiKBU9ntcaEWygEFvHcRsjXm5Nue3PnnXdSV1fHxYsXV20XHovFiMfjqKpKe3s75eXlOV9nLGzFIN200+FwEI1GqampIRAIMDIygqZpVFZWUl1dTU1NTU5ngFuB9ZASLNZ5W1XVnK4Ky5nOahGRhXRYxHMbIH1uTvZI6rm5OTo6OvB4PBm2N4aMutSYmpqiu7sbURTZvXt3XtIpBQwjzZaWFtMrzbCoCQQCDA4OIghChlAhuyFzLbHeFt5cztuGz9ylS5dIJBI4HA6uX7++qPO2NZ3VQrGwiGeDQ9M0FEUp2vZGFEXzd0p1HVevXmVoaIgDBw5w48aNNV9o0y1qjBHc4XAYv9+fsyGzpqYGl8u1pte4nmE4bzc3N6PrOpcvXyYWixGLxTKct4375/V6iyYisKazWrCIZ8MiV2+OsdAnEgm6u7uJRCLcddddpmIsHaWMeNJ7gYzU2vDw8C13p053Bti6dWvOhkyXy5UREWXLj0uF9ZBqKwbGfCCv18uuXbsynLcNxWF6WtMwPC2UiAznbbCI6JcRFvFsQGSPpE4nnXTbm9OnT+e1vcnus1kujNRarl6g9ebVlt2QqSiKKd3Olh/X1NTkVH2tBOst1bYUjLQtLO68bdw/XdcLct7OJiJjA2VERNlD8Swiuv1gEc8GQ3pvTvoDXKztzUojHk3TuHLlCsPDwxw4cIDm5uaMn5eK2FYVokTCVo6rrow7tu1A0G4SUX9/f07V12oqAdcbNE3L+36z05q6rpuGp+nO2+k9RLmskRabRZSPiKzprBsfFvFsECzWm7Mc25uVEEMsFqOjowNN0zh9+jRlZWV5r3k1sZhXW1LVmA7L6Do0eB3Ypcwd83Agxo+v+pgIyui6Tm25nfZtNexruik/jsfj5kJ66dIlksmkOea6pqYmZ40jH9Y9CedAMapDQRDwer14vV7TeTsUCuV03jbIKJfQo9CheLlUcxY2Dizi2QDI15sDMDExQU9PD5s2bWLv3r0F78iXa7A5OTlJT08PTU1Ni55vLSKefIvNgC/Ky4OzzIRTNYTaMjsnt1WzrdYDwGw0yb9enCIQUWiudCKKMBmUefbyNOVOibbqlFecy+Vi06ZNC8Zcp0u3l0otFXK96xXpqbZiIYoilZWVVFZWAmQ4b09OTnL16tUlnbfBms56u8IinnUOY+BXdpSjqiqXL19mfHycgwcPFu1AIIpiUak2TdPo6+tjdHSUAwcOsGnTpiV/Jx/xlHJRUDWNyxNhrkyFicoqVW47g/4omg6bKlPS8clggh9d8eE9ZKOu3MF1X5TpkMzO+ps77tZqF/3TEfomwybxZF9z9pjr7NSSYf9TU1Njmp0ax7/dI56lkG6NtG3btiWdt6urq3MqDtOJKN9QvFAoREVFBW632yKidQqLeNYpjNSaoVrLZXtjs9k4ffo0Ho+n6OMXE/FEo1E6OzvRdd30WlsKS0U8pVoILkwmGRkdR9N17JLIcMBPLKlyZl+9mV5rrXZzbTrCgC9KXbmDcEJBEBZeg9suEYgmCzpvvtSS3+83d/R2u31Jo9P1jFISTzZK5bxtHMu4XoBLly6xe/duNE2zIqJ1Cot41iEWs70ZGRnh8uXLbNmyhZ07d64oFVJIxDM5OUl3dzfNzc3s2bOnqOL6UsQ2G01yzRdjOixT4bKxq76MxorCF+iZqMrFGYXWJhs1ZSkZdFRWuTQRZtAf48Cmm7UuuyQSjKdUgJVuO+gCmqYjijcjkqis0uBdHkGkp5aMHX36QhoMBgHo6+szU0urJd0uFYyFey2Qy3nbMDzNdt7Od/+Ma9U0DYfDYSoSrems6w8W8awzqKpKOBzmhRde4LWvfa1JLMlkkt7eXvx+v2l7sxIsFfGkp9aWk8pb6vjjc3H+uWuCqZCMQxJIajodw0Hu31/P7oalIyqAybBCLKmbpANQ7rJhlwTG5uLsb0rVXDRdR1Y1aj0pafmOOg8tVU6u+6I0eJ2IAkyHktSUOdjbWBqnheyFNBAI0NnZiSiKDAwMEIlEljTsvNVYzYhnKdhsNurq6szPuWEWazhShMPhvK7l2WnpfNNZ04nIms66tlhfn/RfYmTb3hgPBcDs7CydnZ2UlZVl2N6sBItFPNFolI6ODoBlpfJGZ2N0TMpoMyH80iy7GspSUcY8dF3n7ECAqZDMrrQ6y1Agxs/6/WypceO0LR3JpUcrxjFqPHbcdolgXCGUUBGA6bBMo9fJtrrU+yh32njjgQZ+fj3AcCCGpsPWWjentlUXFXEVA2N3vWvXLmChYWc8Hsfr9Zr1oYqKilsu3V6JuKDUyDaLlWXZJCLDtdwgclVVc362raF46wcW8awDpI+kBsydr6qq3Lhxg/7+fnbu3MnWrVtL9gDki0gMlVxzczN79+4teuHpHQvyo75prk8l8Thh4uIkPWNu3nSwkfr5NNZcTGE4EKfB68h4P5sqnIzMxpkMJthcs/QU0havnTIHTIZkmuYJQxQEasvsNFe5iCVTqcrdDWUc21yZQX71XidvOdzIXExB03WqPHbENVxcsg070xVzhdrTrDZuZcSzFBwOR4bzdiKRMIlI13VeeeWVRZ23wSKiWwmLeG4h0qWh6ekBgxAuXLhALBbLa3uzEmQ3kGqaxuXLlxkbG1tWag0gklD4+XU/mg6bK+2pXWpDGdemI7xyI8AbDqaOmUzKzMzM4JJAqvbi9niwLWN3X+2xcWeDnSFV58pkGEEUEICjbZX8m0MNaKTuZYUrd8OhIAhUeXI7O5QaS9W7sn3S0u1phoaG0HU9o9CeqxlzNa55oyywTqeTxsZG6uvrGRsb46677iIcDjM7O2s6b1dUVJjy91zNwIUSkTWddeWwiOcWYbHenEAgAKQ+/IvZ3qwE6aqzlabWDEwEEwQiMltrPUxEAHREQaCu3MGgP0ZUVpGjIXouXKDe5WA4DNLMDAlZxuV0Mqc7aaoqo66s8I/lnhqJe7a1cH0miqxoNHqd7GwoKyhVt9Yophkz257GkG7nasbMlm6XCmspLigVjM2U2+3G6/Wasv/0iPLSpUvIsmxGlFVVVYs6b8PC6ayJRIJ4PG7OKrKIqDhYxHMLkG8kdbrtDcDevXtXhXTgZsRjpNZaWlrYs2dPydI5AjcjN10HdBgeHmLoeiptuONQLd/tmmQyJGMv15mLxrCTpFGd4aUXxqmsrDTrHUulmZorXTRX3r4u07mk2+nNmFeuXFlSerwcbKSIx4BBPNmfl+yIMp2IRkdHi3LeNpA+FM+azlocLOJZQyxmexONRunq6jIdns+ePbvqTYeyLNPT08OhQ4fMWsNKsKnSRW25g/G5eKpeooOq6UwF49QRZGwoyrFjx6ipqSGZTPK2I01pcuo6dtWX0eB1EI5E6RuZ5pVBP6HuIaqcsK2xkrra2oyZOst1X7gVKOV15mrGNOob2dJjw+x0ORuYjUw8SzlIZDcDL+W87fV6CzI8zUVE1nTWhbCIZ41QrO1Nsc4CxSASidDb24umadxzzz3LTq1lw+OQeNWOWp67PM3AXBKbKOBTA+ihGXZu8XD6rtMZO/Eqj527yjN35oqmc3FGpm/Ohu6qR3TVMyMncCRU1Kkpc6ZOTU1NSUc7rAVWsxmztraW2tpaIFN6fP36dSKRSEahvaqqqiDF3HpStRWK7A1dISjEeRswyb4Y521rOmtuWMSzBsg3knox25vVIp7x8XF6e3upr69HluWSkY6BvU1eqj0OfkwQXzCClJzg5JHNHN6/u6CHa2w2Tt9khPpyB257anGMyk58EZkj27dwxGs3GzMnJyeJx+O89NJLGWmm9dYPs9bIlh7nGnFtmJ3mmywKGzfiWSlZ5nLeDoVCJpmnO28bRJ7PebtQIvplm876y/2ErjKy5+akk04oFKKzsxObzcbdd9+N250pHy418RgkNzExweHDh3G73UxNTZXs+OmoK7PRbAtT5YpyZ/ud5gJYCCaCcQRS9jXhhMLYXBxfJEkwnqTCZeNXDzWajZkej4fR0VG2bNmC3+/n2rVr5igDoz6Ub1Fda9zKlGC+Edfp0u10s1MjrbRRxQWl/nsLgmAOFMx23jYm2xbqvL0YERm9Xa2trbc9EVnEs0rI7s1Jr0kUYntTSuKJRCJ0dHQgiiKnT5/G7XYTiURWZTE0zpVMJmloaMhLOvkWNOOKQnGFrtEgc3EFj10kGFM4PzxHY6WTk1uqMh7i9N29McrA7/dnLKoGES3lIL2aWC+LeHahPV9aSVEU4vH4hop8VoN4spFuj7R169YlnbcNw9OliCgUCjE0NERTU9OCMeHPP/88e/bsMRuQNzos4ikxFhtJbdjeBAIBjh49aubkc6FUxDM2NkZvby9tbW3s3r07Y6JkqYknXSEnSRKJRKLoYzRVuOibjDDgixBMKDR5HSS1VINnS5WLyxMRdtaVUVeessnJfg/ZowyMRdXv95sO0sZiUFNTsyDSXC2sVxFEvrSSId2+fPky165dWyDdXq9YC+LJRqmctzVNM2s/kDkm/LHHHuORRx6xiMfCQmQLCNJJJ9325vTp00vKXVdKPKqqcunSJSYnJ7njjjvMDu/04xsf7JXuZnP5uvX39y9rsW2udLK9zs23O4Jouo5v3i26udJFW7WbG/4YvohMtcfOjUCCrkmF2b4ZWqtcbK/zZAx8y15U03emExMTpgzZiIaqq6vXvXHnaiM9rTQ0NMThw4fRNC1jEU2XbtfU1Kyre3YriCcbuZy3DcNTw3nb5XJlpDedTqfZXmEgPSIyvP1uF1jEUyLk683RdZ2BgQGuXbtWlO3NSognHA7T2dlpNqDm2qGmX99KiCd9Gmn6yISlIqp857RLIie2VNE3GWFsLkGNx06Vx06Nxw7zvyIKAj/p9/Gzq0HmQipzw3NcGJ5j/yYv9+2pw5GneTR7Z2o4IBsppt7eXsrLy00iKlT9VSg2SrrKgK7rSJJkyooh5RptiDsM6XY+s85bgfVAPNnIVh2mf+7S5e8OhwNVVZFlOYPMDbl3IZOFNwos4lkhFuvNSSQSdHV1EY1Gi7a9WS7xGKm1zZs3s2vXrrwPofH9lTyo09PTdHV10djYyL59+zIW6ZWk8hw2iZNbq/lpv59NVU7cdglN1xmfS1DtsaNoGheGg9R4JMo0ka11HmJJld6xEFtr3OzfVNgDmu2ALMsyfr+fQCDA5cuXze72QhtZF8N6TbUthlybEpvNtkC6bdSHDLPObHHHWpqdZkcN6xH5nLeHh4eJx+P87Gc/M8l8dnaWrVu3EolECpqDlY6f/OQnPP7445w7d47x8XH+8R//kQcffHDR33n++ed59NFHzfT8hz70Id71rndlvOZzn/scjz/+OBMTE9xxxx189rOf5cSJE0Vdm0U8K8BivTkzMzN0dXVRU1PD3XffXbTEt1jiSU+tHTlyZEklWXrEUyx0Xae/v5/BwUH2799PS0tLzuOvZLHd3VDGTFimfzqCounoOtSU2Tm1rZrR2RiKqlHjsmFUkdx2CUkUGPTHCiaebDgcDlP9ld7d7vf7M/zSjEU1l3JpMWy0iKcQVZvdbl9g1mncs2xrGsN1ezWJYT1GPEvBkL9HIhGcTie7du0yI6LHH3+cZ599Fl3XefLJJ/H7/dxzzz1UVFQsedxIJMIdd9zB7/7u7/LWt751ydcPDAzwpje9ife85z189atf5bnnnuP3fu/32LRpE2fOnAHgG9/4Bo8++ihPPvkkJ0+e5IknnuDMmTP09fUtSOcvBot4lol8vTmapnH16lWGhobYt28fLS0ty1pwiiGe7ImkhRR/0yOeYmBEcfF4nFOnTuUN/5d6z0Z9KR8cNpF7dtawq6GM2ViqGbW50oXXZWM4EIMcxFnKdT1Xd3u2hNZoZDXIaCNOGV0My0nDpku3s61pRkZG0DQto7ZRapXhRmx6NaCqKpIkZThvf/Ob32RwcJDDhw+TTCZ53/vex8DAAB/84Ad57LHHFj3eG97wBt7whjcUfP4nn3ySbdu28ed//ucA7Nu3j5/97Gf8xV/8hUk8n/70p3n44Yf5nd/5HfN3nn76aZ566ik+8IEPFHwui3iKRPbcnGzbm87OTlRVpb29fUXFwEK78kdHR7l48eKSqbVcxzfeT6Hw+/10dnZSXV3NnXfeuWgUVwpXAUkUaKly0VKVqQBqqXJhEwWiyZvHjydVFFVnawHjFJaD9KL7li1bFkwYvXTpEh6PJ0OokH5/NlqqzbjelSziucg7Xbqd3Yi5nCgyGxsx4jFgEE82jLTmZz7zGerr682UXKlx9uxZ7rvvvozvnTlzhve9731AKhV97tw5PvjBD5o/F0WR++67j7NnzxZ1Lot4ioCh7pmbm2PTpk05bW+WMyI6F5aKeFRV5eLFi0xNTRWUWsuGoZgphBzSBRK7d+9m8+bNSy4Oq5lW2lzt5khrBWevTuAPq+gzUXQdDmwqZ2d9cXnwbGi6zpA/xlxcobbMTkvlwv4LWDhh1MjT52tk3WjNmAbxlPKac6kMs6NIu92+pOx4MWyEGk8+qKqaM2qORCIA5ka2ra1tVc4/MTGxwLOxsbGRYDBoRq6qquZ8zeXLl4s6l0U8BSC9N8eQRBp1jXRHgOXOscmFxYjHSK3Z7Xbuvvvuoh9OA4XUYZLJJF1dXYRCIU6cOEFlZWXBx14tHzVJFHjNrlq8QpzzV4LsaK2gtcrNjvpMOXWxmI0m+fq5MS5NhIknNTwOicMtXt5+rBmPY/GNRLZNTXYjazKZRBRFhoaGbnkjayFYDeLJRnYjptH/4vf7M2TH6US0lHR7I0c8mqbl3LBGIhHsdvttlcq1iGcJZNveSJJkLqjptjeF1lYKRT7iGRkZ4dKlS4u6HhSKpchhbm6Ojo4OysvLOX36dFH9Gqu9qEqiwLYaF1q9xMm9xUV7uaDrOv9wfoxXhuZoqXJS5kiNz37hegCPQ+Ltx5qLOl52I+vo6CiDg4NmiulWNbIWikJcnkuN7P6XfHL3dOl2drp3IxNPvlRbOBxek8F/TU1NTE5OZnxvcnKSiooK3G63aeGT6zXFbrgt4lkE6b056XM2FEVheHh4SdublSCbeBRF4eLFi8zMzHDnnXeaUsyVniNXxKPrOsPDw/T19bFjxw62bdtW9Id+ozlHj87FuTQRZlOlk3Jn6rGodNtRNJ1zw3M8sL8+Y3R2MRAEAZfLhcPh4I477jBTTH6/f902sq5FxLMUcsndjXTm1atXicfjC8Zb54saNgLypQkjkUjJzXxzob29nX/5l3/J+N6zzz5Le3s7kFJ9Hjt2jOeee86UZWuaxnPPPccjjzxS1Lks4smBxXpzNE0jHo/T39+/pO3NSiCKohllhUIhOjo6cDgcnD59etmptWzkSrUpikJvby9+v9+cnbPcYy8GI325kkWilItiOK4SVzQas1JqHruEL5IklFCWTTyQKS5ITzEZjaxzc3P4/f41aWQt5nrXUzowXe0FN9OZxlTRZDKJzWbD4/EwNze3or6rWwFVVXMKdpbrWhAOh+nv7ze/HhgYoKOjg5qaGjZv3swHP/hBRkdH+cpXvgLAe97zHv7qr/6K97///fzu7/4uP/zhD/mHf/gHnn76afMYjz76KA899BDHjx/nxIkTPPHEE0QiEVPlVigs4snCYr05s7OzXLx4EV3XC7K9WQlEUURVVTO1tnXrVnbs2FHSByk7qjIIzul0rvj9LRbxRCIRLly4QDQaNQ08a2pqlpVOKJVarK7cQbnTxmwsSW3ZzWhjNqZQ4bJR41m9CCS7KdNwKfb7/eYYA6MXpqamZk0W1PVIPNnITmfGYjF6e3vNumS6dHu5n6+1xGIRz3Ku/ZVXXuF1r3ud+fWjjz4KwEMPPcTf/u3fMj4+ztDQkPnzbdu28fTTT/OHf/iHfOYzn6G1tZW/+Zu/MaXUAG9/+9uZnp7mIx/5CBMTExw5coRnnnmm6EGSFvGkQdM0ZFleEOWkq7ra2toYGRlZk0KfYdRYqtRaNtLJwZBlb9myhV27dq34Ac33+5OTk3R3d9PS0sLevXvNnf7AwICZ4zeIaKl7XMpFpK7cwYktlTx7eQZF1Slzpmo8cVnjDfvrlxQXFIJCr9fhcNDY2EhjY+OCRtbh4WGzkdW4VyuVIOdCtsHteoch3Xa5XFRWVtLW1kY4HM6QbqfX1Qyz0/X0/vLVeJYb8bz2ta9ddGP2t3/7tzl/58KFC4se95FHHik6tZYNi3i4mVozHKXz2d6cOHECSZIydgmrAcMeXdf1FanWloIRVfX09BTseFAostN46Y21hw4dMgfRVVRUmNLa9L6Yy5cvLxjfnCsNUcr+mLccbsLjkDg7MEsorlLpsvOrB6p57e6Vk/5yrzNXL0w4HMbv9zMzM8O1a9dWpZF1I41CSEf6ptHr9eL1ejNm6Pj9fiYnJ7ly5UqGY/R6aABejHjWosazlvilJ55CbG9qa2vNhslYLIamaavyYKbP6jGUPatFOsb5Ll26ZNaOSqmsSieeRCJBZ2cnsiybjbXZabj03ej27dszPMCMQnJ6uqmioqLk999hE3nTwUZet7uOSEKhwm3HmcdwdDkoxfWmL6jLaWQtFBut78hAPlVbdl0t331Lj4jW2ux0MVXb7eRMDb/kxLMc2xvjg1Fq9YxR1Pf5fBw9epRYLMb4+HjJjp+NyclJotEo9fX13HnnnasytVHXdQKBAB0dHVRXV3P06NGCF8FsD7BYLIbf7zfTTQBlZWUkk0mi0WhJd4Qeh1SS1NpaoNhG1kInsm70iGcpZN83RVEy0nI9PT2mdLumpobKyspVHam+mNjmdhuJAL+kxLPYSGrD9saw+c/+g6d7nJWKeILBIB0dHbjdbu6++26cTidjY2OrIkfWNI0rV64wMjJipm9Wq1AtyzKvvPIKu3btYsuWLTknMBYKt9tNS0tLhm/a6OgooVCIl156yZQjGwvsrbTmz4W1ssxZqpG10ImsG9XzbLl9PDabLeO+GQKPQCBgCjwqKioypNulvD/Gs55rTSn1xmo94JeOeLJHUqd/eMbHx+nt7V3U9sb4nqqqK17c0lNr27ZtY8eOHeYiUMrR1wbi8TgdHR0oikJ7ezs9PT2rQm6KojAwMEAymeTEiRNm2rBUMHzTNE3D7/dz8uRJs9HQ2K0au3xjt7oeFtFbEUHkm8i6VCPr7R7xLIV0gQeQYXZqEHi20nAl98tI9eeLeEpVe10v+KUhnnTbm+zUWvpIgUOHDi0qDSzG42wxKIpCT09P3jHYpSaemZkZOjs7aWhoYP/+/UiStCrjrw07H0EQzEmVqwXj75fdaJhIJMy0XG9vL4qiZCyut0JWux5MQvN5paUX3I3I8VYX2peL1XIucLvduN1umpubzcFsBhEZYqN01+1iP2NGk3qu3wmHw2zfvr1k72U94JeCeBYTECzH9kaSJPNYy0F6ai1fv0ypiCd9ds6+fftobW01f1ZqdwHDKLWtrY36+nq6urpKduxi4HQ6F+zyDSK6fv26qQIz0k0bdZFdKRZrZB0fHyeRSPDyyy/f0kbWYrEWzgWCIFBWVkZZWRmtra0ZIzN8Ph/Xrl3LaA0wpNuLwRAW5CKeWCxW9BC49Y7bnngWG0lt2MIU25y5XFJIP+f27dvZvn173l1RKYjHkILHYrGcs3PyWeYUi/S6kWGUOjs7uya7/KXOkb7LN2S1xuKaPrrZIKLVXFzXe+oqvZG1pqaGK1eusGXLllvayFosboVXW/bIDE3TCAaDBAIBxsfH6evrM6N/45/szc5irtqGV9vthNuWeBazvUkmk/T09DA7O7ss2xuj/6UYpKfWCrGiWSnxGGqyqqoqTp8+nVORUypy6+joIJlM0t7ebj4gq5HGy8ZyB+wZD/+OHTtM2Xb24moQ0XJz97KicXUqQiih0OB14txAvnWQen4kSbrljazFYj2YhIqiSFVVFVVVVaZ026hBpm920s1O80mpIVXjyTdwcaPitiSexVJrgUCAzs5OvF4vd99997LMGNMdqgvB3NwcnZ2di6bWsrGSqGpwcJD+/v68ajIDKyUHg9xqamo4duxYBrmtBfHAymsn6bJtY3H1+/0Zufv05ky3200orhCVVao9dhw5+nxGZ+P8/SujDAXiqJqOyyayuVznePWtr/MUimxxwa1qZC0W64F4siFJUoYlkiF5DwQCXLt2jWg0itvtRlEUfD7fgqjbsMy5nXDbEU++3px025ulFuSlUGiNR9d1hoaGuHLlypKptWwsh3iSySTd3d0Eg0HuuusuqqqqFn39cms8uq5z48YNrl69mncwXEGzflSNS2Mh+qejSILAvqZy9jQWXpQt9e46fXFtbW1d4CLdfekKF4N2RhNOBJuDhkoPr95Vx8mtVTejaVXjH86PMeCLsaXGjcMmEk4odE7MIcgqd5f0ilcPS6nacjWyps/SKVUja7HXvBFk4NmS90QiweDgIFNTUxlR98DAAGVlZcvu4/nc5z7H448/zsTEBHfccQef/exnOXHiRM7Xvva1r+XHP/7xgu+/8Y1vNE1C3/Wud/HlL3854+dnzpzhmWeeKfrabhviWaw3J73WUcwws3wohBTS03nLcXkulniM2TllZWUFz85ZTo0nPWV4/PjxvKq1pYhHVjSeOjvCK0NzJFUdHfBckrh/Xx1vvaOpYFJZzagqe1DZ3708Qv/kDB5JQY+F6AsEuDoyxeS+al6zr5mKigoGfDFu+GO0VbvMaKjcaaPSKdLnl4nK6oZoTi3WuSB7lk6+Rtb0hsxSE0SuFomNAKfTSXl5ObFYjDvuuMPsvfr617/O17/+dWZnZ/nQhz7EuXPnuPfeezly5MiSdchvfOMbPProozz55JOcPHmSJ554gjNnztDX12c2Zafj29/+NrIsm1/7fD7uuOMOfv3Xfz3jdQ888ABf+tKXMq59ObgtiEfTNGZmZlBVlaqqqgxZ4vT0NN3d3Rm2NyvFUhFPOgksN51nkMJSO8/0XqBio6pi02HhcJgLFy4U5F691LFfuO7npcFZGr1Oyubn3/ijMt+/OMP+Ji/7mpbe4ZU64lE1nf7pCLOxJI1eJ1tqbppIjszG6ZuKsLWhAq8rdb2KonB9MsgrI2Eqk10Ius6MXk4wrNFcbgNdhPnfd0oCUQ3iyY1BPCvt41mskdWQuKc7R5diIutGJR7IVLUZ0u0/+7M/4xOf+ARNTU289rWv5ec//zl//Md/zG/8xm/whS98YdHjffrTn+bhhx82xxU8+eSTPP300zz11FN84AMfWPD67I3x17/+dTwezwLicTqdJZmyvKGJJ703Z3x8HFVVzRu4mO3NSpEvGklPrS13gFr6OWBxeWj6cLjliiQKjaomJibo7u5m8+bN7Nq1a8mHeyniOT80m5KlOm9+BGs8Dq5GIlwcDy1JPFFZZdAfJ5AoTbPjVCjB3/x8mCtTYeKKRplD4khrJb/b3kqZ04Y/miQqa7RU3bxem81GY42XeFLjzuNbEdUEV0emsQ9McHV4gkqXiMvlwu1yEYipVLvEFc30WUuUuoE0u5E1Go2atbTBwcGSTGS9FVNTS4V84gJd10kkErznPe9hy5YtKIpCMBhc9FiyLHPu3Dk++MEPmt8TRZH77ruPs2fPFnQ9X/ziF3nHO96xoLb0/PPP09DQQHV1Na9//ev5+Mc/vqyZZBuWeLIFBDabzQwVl7K9WSlyqdqM1Nrc3NyiKahizgH5icdo1LTb7cseDldIjSddKn348OGC524smWpTdaQc3CWQqpPkg67r/LDPxzOXppkJxYmGdW7YB3nHsWYavMsL+3Vd56mzw3SNBtlU5cJtFwklVH5+3Y/XJfGuU214nTYcNpGYrOJOi1iiskqFy4bHacMuOTi6z8v9cTc/vDJDUldRkkmGAnOgKZxsFhi4fm1D9MSsZq0kvQ9mqUbWYiayGunBjRjxLObTBphrmCHgWAxG9if7WW1sbOTy5ctLXsvLL79MT08PX/ziFzO+/8ADD/DWt76Vbdu2ce3aNf7oj/6IN7zhDZw9e7boz/KGJJ5cvTlG+qsQ25uVIlvVZqTWysvLC66vLIV04snG2NgYvb29BUcfi51jsZRhPB6ns7NzgVS6EKSLOnLtQA81e+kcniWpatjnGSgqq0iiwI76/Oc5OxDg78+NIYlQV2ZnMgYvD84Siiv8t/t25FSZLYUBX4wrUxEaK51mGqzCZSOparw8OMu/vaOJLTVudtR5uDgeornKhdsuMRtLEkmo3LunznwPAG8+3EhNmYMXBwJEEio7mp3sKpepVgMkk0kuX75MMpnMkG2XItVUSqylZU4u52ijPlTMRNb1qGgrFIuNRADW1CT0i1/8IocOHVogRHjHO95h/v+hQ4c4fPgwO3bs4Pnnn+fee+8t6hwbingW680RBMH8sC5le7NSGAt2urpr586dbN26tWQPa7pTtgFVVbl8+bKpUslVJCz2HPmiEr/fT2dnJ7W1tQuk0oUeG/IvYK/aWcvLg36uTEVx2UQ0HRRN48SWKo60VuQ8pq7r/OiKD03Taat2oyQVPBLU1Ljpn45ycSLEkdbihSPBeJJ4UqPRm/ngu+0Sc7GbY6/feqQJSRC4NhNhUklQ4bJx7946Tm/PjG7tksjrdtfy6p01JBQNt11kbGyMmZkY+/bty7Bc8fv9Gakmg4hWcxxGIbiVXm3Z8uNCJ7JudOLJN/ba6XQW5QtZV1eHJElMTk5mfH9ycnLJ+kwkEuHrX/86H/vYx5Y8z/bt26mrq6O/v//2JZ6lbG8GBgZQVZW77767pHNlckGSJJLJJBcuXCAYDJYktZYNI2VgEE80GqWjowOA9vb2krjV5qrxpJPpnj17aGtrW9YClE48uaDGQryhVWVnZRnXZnVcDomjbZWc3l6dET2kI6nqTIdkyl3zBDF/WU6biKbrzISTRV8nQFOFk3KnxFxcodpz8wGfiyWpctvNUdi1ZQ5+p72Vkdk4UVmlvtxBTVn+6FYSBTOCSr8P2ZYrRqe7YVXT19eH2+1eUylyNtbTPJ58E1mNhkyjkXUjG5wuRjzF+r45HA6OHTvGc889x4MPPgik/p7PPffckpNDv/nNb5JIJPjt3/7tJc8zMjKCz+dj06ZNBV+bgQ1BPIv15hgWNHV1dWYj1mpDlmWmpqaoqakpWWotFwximJqaoquri+bmZvbu3VuyXV12xGNIpWdnZwvqA1rq2LCQeAxiu3LlCvX19WyX/DS5o3i9XmodIomoHcf8DtYfkRn0x6j22Nla48YuCdSWOxj0Ramdz8bp6MiKhgDUlC2vcN9U4aJ9WzXfvzRNUtXwOFJjrxVF4749tbjtNyMhQRBoq17eZ2wxeySj0x1uzoZJlyJXVFRkuCms9s5+vS7eizWyTk1NkUwm+fnPf37LG1mLRT7LnHA4vKxN5qOPPspDDz3E8ePHOXHiBE888QSRSMRUub3zne+kpaWFT3ziExm/98UvfpEHH3xwgWAgHA7zP//n/+Rtb3sbTU1NXLt2jfe///3s3LmTM2fOFH1965p4FhtJnW17o2laQYWzlV7P4OAgExMTeL1ejh49uqoPpyAIDAwMMDk5ycGDB5e1s1gM6RGPIZV2uVwlIdNcxGMMu/P7/Rw/fhyPx4MoisTjcdPEc2RkBEXT+eGkk5+OKsgq2CSRQ81ePvyGnbx2Vy1f8kWZCCaocArEFBgKxNlV7+HApuXbivy7u1ood0r89FqqLlPrcXDf3jp+Ze/Kx15Dcf1G2bNhsu+PpmkZaTm3213yz+F6JZ5spDeylpeXm5H6rWxkXQ4Wq/Esp/739re/nenpaT7ykY8wMTHBkSNHeOaZZ8wSxNDQ0AKi6+vr42c/+xnf//73FxxPkiS6urr48pe/zOzsLM3Nzdx///089thjyyL29fcXmIemaSiKUrDtTSAQWJFj9FKQZZmenh6CwSCtra0kk8lVfTDj8bi5810NZR7cjHjGx8fp6elhy5Yt7Nq1q2QjmuHmghuNRrlw4YLpAm63200Vosvlorm52bScf/LH13h2cBxN19E0nZgs8MJ1Pw//XSff+N0jhO/cxLOXZ5gMJoipcLLFywP767k6FaHKY6Ol0lX0e3DaRH79aDNvOthIeL6mU8qx1ytB9v0xdvjT09P09/djt9sz3LZLEYFvBAeAbBjKsFyNrIY9zVo0si4HixHPcu1yHnnkkbypteeff37B9/bs2ZN3g+R2u/ne9763rOvIhXVHPOm9OcauK30Ru379OtevX19ge7Mc485CYRBdRUUFp0+fZnx8HJ/PtyrngpQcsqurC1EU2bdv36oqWoLBoNmlvFKxQjrS/2bT09N0dnbS0tLCnj17Fu0fSqo6/++iHx0BVQcEAUlINXcOBRJ85Osv8O8OV/LvD1UR0rxc6w8gl9n5qx/fICKruGwih1sqeOfJlmX1zKzm2OtSEXq2VY2xsBoKsOyFdTnKzo0S8aQjV7oqXyNrIBBYtUbW5V57qYlnPWNdEU+27U066cTjcbq7u/Pa3qx0Rk6+68lluLlaJKfrOteuXWNgYIC9e/cyODi4ag9BPB5naGgIWZY5ffp0yT/cxnUPDAwwPDzMgQMHaG5uXvL3ZmNJQgkVRdMRhFSBHkCSBBJJjQG5HG9NPfHQLAm/n6tzAh03hqn1OtnkdZNQU64Iuq7zH1+bUhmqmk73WIjusSDxpMbO+jKOtlWsaTPnaln75FKAGWm5S5cukUwmCxp1nY31JC4oFIWo2taikXU5sIjnFiG9Nye7Ccywvamrq8tre2Oz2dA0rWQ7NVmW6e7uJhwOLyi0F+tOXej5urq6iEajnDx5koqKCoaHh1dlNLXf76ejowOPx4PT6VyVD7axeZiYmDDfTyEwUlzBmI5dEtH1lOuMNv93VXUBzV3Noa1tTAVCfL7nHJUuGw4tgd8XxibZ8Ah2zt/wc8NXz5baMr7bPclP+v1ouo4kCnSOBukYmeOhk62LqtI2IhwOB01NTTQ1NWUsrH6/3xx1baTlFiu8b8SIp9j0YKGNrOkD3VZLSLRUjed2wy0nnsV6c4yu+eHhYfbv309LS0ve4xh/tHyyxGJgpNYqKyvNekQ6Sh3xpJ+vvb3dPF+pJ4SmR3BGc+3IyEjJjm8gHA5z/vx5AO688868pJNrYRMF2FrjZiKYQFMM7y0QEPA4RKrdNlzzKrOQrCFr0FLlxeOQ0HQNOSETi8cZno3wo7Ov0Fjl5dkbOjVeN/UVHhBAUTWuTUd5cXCWNx4oXXpxKaz1Qp5rYU13kL58+bIp2zaG4BnPzkat8azkmgttZDWIqJTuE4s5F1jEU2Is1ptTrO1NKYin0NEJpYp40qXFu3fvXnC+Uo2/hlQE0t3dzdzcnBnBjY+PlzyiMjzdtmzZwsDAwKJ/CyP9lP6ev9s9SVRWKHOIROXUtWkauOwCDeVOdjaUsbk61VxZ7bHjkiCUSOJxSIhCyhstrkk01rp59V1tXBiYIhz34VIjDAfnDRhdbsrsIj1joTUjnrWYTbQU0mXb27dvz3CQvnr1KvF43JRtJxKJDZfiWWyK53Kw3EbWYmHUtfMRTyl69tYbbhnxaJqGLMsLohzAtL1paWlh9+7dBe0qjHrQciMRI9UViUSWHJ1Qiogn3dvtrrvuytmAWiriCYVCdHR0LJBKl2r0NaQeHiM6NTzdbty4UdTxIwmFn/T7qXTbuWdHDd1jIeZiSTQ91Su6ucbNO0+2mp+VcqeNA9U6FxMaU6GUk0BEVglEk7xuTx07mqoZDWlUVCTZXOchISeIx+IEg0EmgzJq1E5/v76iInwxWG+pq+zCuzEEz+/34/P58Pv9RKNRM8203hfA1XYuSG9kBTKGBqbL3IudyGqsJfmIp9RtFOsBt4R4jEgnm3QUReHy5ctMTk5y+PDholRW6X5txSJ7TPRS9hQrjXiCwaBZY1msZ6YUxGNIpbdu3crOnTsXTJUsBbHJskxnZyfxeJxTp06Z0Wk+S55EUuUXNwL0jc/htEkcaqlgb2MZ/mjK+6zaY8fjkNha6+HaTJSorKBqOltqXNSXZ96ru+p1dtc08NP+WXyRJC67yAP76/n1oykhw476MrxOG9MRmQavK+UW7a1gToxwaqubZDJpFuHTe2NKPcZ5PUQ8S8HtdtPS0kJLSws9PT3YbDZcLtcC406DiIqxcVkLrLVlTvr9Spe5+3y+BRNZq6ur89ogpWd8smGl2koIQzyQXsA0duUOh4O77757WV5VxRJPemot3yTNXFjJWGpjds62bdvYsWPHoudbCfFomkZfXx+jo6N5pdKliHjm5ua4cOGCWZ9aavx1JKHwuecHOD8cQJmv4Xz/8gxvPFDPfXvq8DgkIgmFiKxydSqCquk4JJEkOi9cn6XMOcq7724zI1ybCG+9o4kH9jfii8hUuu0ZtjfNlU7u21vH9y5Nc2UykvrsCXCktYo33NlMmdNmFuF9Pp+5aKT3xtTU1Ky7RXYt4Ha72bJlC1u3bs2odwwMDNDT04PX6zXvz3roh7mVXm3ZMndN05ibm8vbyFpVVWV+pnIJqgxEo9ENl/IsBLcs1WYsHOm2N1u3bmXHjh3L/vAUQzzpKrJip5IuJ7Jazuyc5RJPPB6no6MDVVU5ffp03hRJsYPgsjE6OsrFixfzDqDLdfwfXZnhlaEAzZUunJKAIMBMWOaZi9Pc0VLB3Tuq+efOSabCMoqm4bRJxJMqmyqdbKpw8osbs9y/r45ttZnvyeuymQPasq/hdbtr2Vrr4fJEiISi01bj4uAmrylSSC/Cb968GVVVzUUjvTdmpYvseku1LYZsVVt2vSORSJhpJqMfJj3NVKy/WCmgadq62SCky7Jh8UZWl8uV9/MUDoetiKfUyLa9Wc5AoXQUSgiG83J1dXWGiqxQGIRQqOR0ubNzlkM8Pp+Pzs5O6uvr2b9//6J1i+USm2FPND4+zp133kldXW5bmVzE89KAH6ct1aSpzs/dqS2zc20mRu94mLccbiIUV/jyiyNoOqi6TmOlkx21ZdhEmInEGAnEM4hnKfIUBIHtdR621xVWo5AkySQZuLnI+v1+enp6lmVZsxFSbelYStXmdDoz+mEikYhJRNevX89IM62VX9p6dqfOrqelE/fY2BiqqtLR0bGgkTUSieD1Fm8F9bnPfY7HH3/cdLL/7Gc/u2DMgYG//du/NT3cDDidTuLxuPm1rut89KMf5Qtf+AKzs7PcfffdfP7zn2fXrl1FXxvcQuIJBAKcP38+w/ZmpViKeNKdD1bivGws5otNBzVg1FiWMzunGGJITxvu3buX1tbWJd/bciKeRCJBR0cHiqIs6ZKd6/hJVWe+JxRBuPk6Yd6dwGkT+e0TrZwbmmMuprCp0mmadMqKhiQKlDtvRiprgexFNt2y5urVq+u+9rEcFNPHIwgC5eXllJeXs3nz5ow008jICJcuXaKsrCxDtr0aQo71TDzZSP9MzczMcOXKFWpra81G1n/6p3/i+vXrjIyMEAqFijr2N77xDR599FGefPJJTp48yRNPPMGZM2fo6+vLWzevqKigr6/P/Dr7b/9nf/Zn/OVf/iVf/vKX2bZtGx/+8Ic5c+YMFy9eXFZZ5JYRTzweZ+vWrXkly8vBYsSTSCTo6uoiFosV1dCYC8aHO1/TF9yMCsbGxpZtR1Mo8aQr5IpJGxYb8RgijNraWg4cOLDk4pGLeI62VfLN6QiKqpkEFIorOCSR3Q2pXLbTJvLa3bV8p3MCVdNTjhaazshsnM017gVjsdcymshnWWPUPnp7e/M6SW/kVFsxSE8z7dixg2QymVOGnH6PSnFvNhLxpMNIEba1tZn9Vk6nk+985zv87Gc/473vfS9/8id/wn333cev/dqvLekG/elPf5qHH37YjGKefPJJnn76aZ566ik+8IEP5PwdQRDyzurRdZ0nnniCD33oQ7zlLW8B4Ctf+QqNjY185zvfyRgQVyhuGfE0Nzeb3e2lQj7i8fl8dHV1UV1dndf5oNjzQO7poHCzB0nX9UVrLEuhENl2KBTiwoULSyrkcqHQiCe9DleMCCPX8e/d20DHyBxXpyI4JFA0HRB49c4a9qYRyq8ebGQyKHNhZI7JkIwkCrTVuPj3p9syajO3Gtm1j3Qn6eHhYQCqq6s33KJYSsscu91OQ0ODuflKH4I3NDQEsCB1udxr3kj32ED2BlYURU6dOsXJkyf5+te/zre//W1isRg/+MEP6OnpWZR4ZFnm3LlzfPCDH8w43n333cfZs2fz/l44HDZFEUePHuVP/uRPOHDgAJCyvZqYmOC+++4zX19ZWcnJkyc5e/bsxiKe1Vg0sokn3ftsJam1bBjCiFzEMzU1RXd3N01NTezdu3dFKQVRFEkm8w83M0Zg55JKF4JC5NSqqnLx4kWmp6c5duzYkvPes4+fTTy15Q7+66/s4sdXZugaDuC0SxzfUkX7tirTlw1SZp2PvGYLV6ejjM3GKXNKNHod+KNJ+qcjGfWa9VQ/yXaSNixYRkdHSSQSvPjiizmdAtYbVtMyJ32eTi6bGpfLlSFDLjR1uVGJZ7GUfSQSoaGhgX379vHAAw8seayZmRlUVV0wgbmxsTHv2Jg9e/bw1FNPcfjwYebm5vjUpz7F6dOn6e3tpbW1lYmJCfMY2cc0flYs1uenfplIJ55SptaWOhekPjxXr15laGioYEPMpZAvFZZe3D9y5IhZsFzO8RdbtGOxGBcuXEAQhKJEEQbyRVQ1ZQ4ePLKJN+6vNV+X7/d3N5SxrdbN378yxud/6iOcUHFIArsbyvm9061FXc9aQxAEKioqqKioQNM04vE49fX1GU4Bq5FyKgXWyjIn26ZGUZQFqUtDUVhdXb2oonCjEk++lL2iKGviINHe3k57e7v59enTp9m3bx9//dd/zWOPPbYq57ztiEdRFDO1VlNTU5LUWi6kk0I8Hqezs5NkMlnS2Tm5iMeQShtWQivpJjeIIdfu1ufz0dHRQVNTE/v27Vu2fDgfsRmTVb1e75Lv4emeKf5f9yRel422KhfxpErnaJD/9ZMbvGZ9N9ObMBbyfE4BQ0NDCIKQkXJaTtG2lNd7K0jQZrNRV1dnKiXTFYWjo6Nomma6bWc3+m5k4sk3fRQoStVWV1eHJElMTk5mfH9ycjJvDScbdrudO++8k/7+fgDz9yYnJzNcFCYnJzly5EjB15aO24p4RFHE5/MxMjJSsLJrJedSVdWUL9fV1XHs2LGSklw28RjnMkLvlSqDjA97+iKTbiS6b98+WluXH1XkI554PM6FCxeIx+PIsmymVmpraxekn2RF44dXfLjsErXzTtJlThvNosC1mSjba9dXqm0xZH8W0zvfjZSTz+djbGyMvr4+s+FwNZVg+bBe3KlzKQoDgUBGo69B1qX2alsr5POXjEQiAEVtZB0OB8eOHeO5557jwQcfBFKE/Nxzz+UdCpfrerq7u3njG98IwLZt22hqauK5554ziSYYDPLSSy/xH/7Dfyj42tJx29R4EokEExMTJJNJTp06tSztezEQRZGRkREmJydXjeTS+4UMqfRKySAd2TtFRVHMvqpim2rzHd8gBV3X6RkL8ZNLowwMj7GnycuDp47jcYim9NZIPxk72traWmTBQTiuLBjO5rZLKJpOWLn1i2MpkJ5yMgw805VgsixnpOVWe2DZeiGedKQrCrMbfYeHh4nFYly5coX6+nrTHWAtyXq5WGwkgtvtLvo9PProozz00EMcP36cEydO8MQTTxCJREyV2zvf+U5aWlr4xCc+AcDHPvYxTp06xc6dO5mdneXxxx/nxo0b/N7v/R6Quu/ve9/7+PjHP86uXbtMOXVzc7NJbsXitoh4jEjA5XJRXl6+6qQjyzKyLDMzM1OSBTofDDK4cOECoVCo5OdKj3gikQgXLlzA4XDQ3t5esoY/I5X3zXOjfO2lQebCMVxOJ1djGv3RQR59/baM1Er6/JjBwUEQRCTFjj8mUu4oM685klBw2ESqHPqGiHiKvcZ0JZiu6xlpucHBwYwm15qampLPidkIg+CyG31/+tOfsmnTJmKxGJcvXyaZTK4pWS8Xqqrm/PsZztTFXvPb3/52pqen+chHPsLExARHjhzhmWeeMcUBQ0NDGZFhIBDg4YcfZmJigurqao4dO8YLL7zA/v37zde8//3vJxKJ8O53v5vZ2Vle9apX8cwzzyw7HbyhiUfXdfr7+xkcHGTfvn1omrYgt1lqzM7O0tHRkSp87969aqQDqSguGAxSU1NDe3t7yRcX4wM9PT3NxYsXaW1tZffu3SVLVxjihevTYb529hrJZJJ9LdU4HE5kRaV3PMQzF6f5zbtuzlkyFE+tra1mI+I96gjf7JnlykiUSrcNXbQRVkRObq2m2R4oybWuBZa76AmCkPO+GDv9ixcvUl5enmHps9Kd/nqMeJaCruvU1dVRXl6ek6yN/qL1UENLR76IJxwOL1tY8Mgjj+RNrT3//PMZX//FX/wFf/EXf7Ho8QRB4GMf+xgf+9jHlnU92diwqbZ4PE5XVxeJRMJMrRnWE6sBY3bO1atX2blzJ9PT06tyHgNjY2P09/djt9s5duzYqiwCxjF7e3s5ePDgqtivy7LMd852Eoor7GupwWZLSWMdNhGPQ+LsYCCDeNJhLBS//doqauqn+NeeSWZCcVAV9pbLHLGPIwqpGUBNTU3rZiFZbWQ3aKbPibl48aLpm7YSp+2NOgjOeJ+5yNqQbY+Pj9PX14fb7c6YLnqrpO1LTR/daBuAQrAhI56ZmRm6urqoq6vj6NGj5gdmNUZSA2btIxAIcPz4caqrq/H7/atyLk3TuHTpEhMTE2zfvp2JiYlV+eAlk0m6uroAViTJXgyaptHf34/N7qWszIYkZX7cBEFA1ZZOQYmCwK8ebOTePXVMhWTKnRI1HjuhUIhXXnmF6elpBgYGzGJ8bW3tmszXKQarmQ5MnxOT7pu2EqftjRbxGMPU8pFlLtl2IBDIMO2sqKgwiaiiomLNiDcf8dyuztRwi4mnWK8wYyG7ceNGziK7IacuJQxnALfbneEpV+rx15CS13Z0dKDrOu3t7cRiMcbGxkp6Drj5ngwH4dUY8DU6Osrc3ByNjY2cObCDFyb7mIspVM2PLFA0nUhC4d7dhRvDuu0SW2pudrVXVFQgCAIHDhzAbrebaqe1mK+zHKzF+bN905brtL0RiQdyD1PLBZvNliFtT3ecMGTb6dHQan5+ViPVtt6xYSKe9F6ZfKq15Q6CywfD4DCXM0Cpo6uZmRk6OztpbGw0pdKJRKLkUVX2YLgf/OAHJd2NG3OAxsbGqKyspLa2lrYmL/fureeZ3klmYzKSKCIrKtvqPDxwYGWRlvE3yS7GZ8/XcTgcZjSUK60yF0vyytAcN3xRyl02jrRWsqu+dIvNrVrIl+u0vRHEBekwnpPlRinZjhPpRrBGyjvdCLaU9dbFxl5bxHMLMT09TVdXl9m/ki8XWyriMWxipqam8tr+lyriSXfMzo7iSjX6GlIf7itXrjAyMpJhWlrKc8iyTEdHB7Is097ezqVLl8wF99/fvYV9m7ycveYjIqscbK7gVdsrqfGs3Mk5mzhzzdcxuuGNtIqhdqqtrSWGg7/+2RDXZ6KIgoCm6/yk389b72ji9Xtyj3zYqCjUaVvTtFWrl64GVko86chlBJsdNZZSzLFUjed2xLpOtaWn1vbv309LS+4itIFSEI8hK7bZbItOQi1FxGPUWcLhcE5bn1KRQjYhpO+iVjoMzkAwGOT8+fNUVlZy9OhROkZD/J+eKDF9nGPbNd58xybu2VnLPTtTqTVj/PlaSKHTjTx37dqVoXa6ceMGPx4T6J61sb3eQ7nHhShKTATjfLd7isMtFdSVl2Z3u94iiMWctnVd59y5cwssfdar4MB4TlbLAzI9apRl2ZylY6R1jd6z6urqogUBVo1nHWE5NjSSJC1ZZFwMExMTdHd309bWtqSs2OixWS6CwSAdHR2UlZVx+vTpnAXfQkw8l0L6aOp0IYaBUpCbkb4zJpH+/S9G+eufDhCNy4hiku7JIZ7umeRTbzvI7sbS7uCWs9CkOwYkkgrf/nYvVZ4E8WiE0Owsdocdt9PJeEjg0kTIJMuVYCP0GqUT9PDwMMeOHTOFCulO2yt1kV4NGM/8WpC7w+GgqamJpqYmM61rbGQGBgYQRTFDzLFUT9xiljlWxLOGMFJr6fWOQmAsqsVaZ6TPzjl8+PACF9ZckCQJWZYLPkc6lhoZbWClpGDUqHbu3MnWrVtznmclEY+u61y5coXh4WEzfTcZjPPUCzfQgWq3iCRK2Bx2pkIJnvzJAJ/+9UOLHtMXkRnwRSl32NjdWIZYwEKykkVdFEXsdgdlko36cieaphKPx4nH40QiCXp6eqiMVlNbW7vuFtvVgnE/XS4XlZWVC5y2JyYmuHLlCm63e904bd8qn7b0tK4xSycYDJoihcuXLy96nwxnknyptmLc4DcSbnmqLR0rdXhOH9BWqJV6upKsmNk5y0nrpUulFxsZbcB4P8U+VMWcZ7lRVTKZpLOzk1gsxqlTp8yd2cuDs0RkhbpyB4l4KiIUBYEyp0TnyByz0aSpbAO4OhXm/16YZCwYJ5JQmI0qJBQNm5QaV/2fX7ctY8x1rutfCeySyOEWLz/sm6HG40ASJTyeMsKqjbbGcs6cbEJMhEzLfmMRMXzl0hcMWdH4ab+fXwzNEk9qHGr28ppdtWaqbr2l2vIhV9oq3Wl769atphx5vThtrxeDUFEUqaqqoqqqyrQ+MtKXxn1KHxRobGTypdqsiGeVEYvF6OzsNEcqL+eGG6F2oYSw3MjKOFcxC3Y2wRWyc14O8aS7VxdynqVGI+RCuhz71KlTGSSvk34sIevrzJ9/q2Ocx5+9TjypoumgA6IA2+s8eOwSlybC/On3+3ni1w6Y469zYaVprPv31XFtJsJ1XwSHJJJUdVx2kbccamT7plqg1lxsr45M8fLANL7eS1RICgeaK2hqqKOiqpqvXvBxdiCAJAhIokDfZIQLw3O87/XbN0SqzYBxrYsRR7YcObtulu4SUFtbWzILpnxYL8STDbvdnvM+BQIBhoeHzXs9MTGRoSqE5YsLPve5z/H4448zMTHBHXfcwWc/+1lOnDiR87Vf+MIX+MpXvkJPTw8Ax44d40/+5E8yXv+ud72LL3/5yxm/d+bMGZ555pmir83AuiAeY3jacgggGzabbUniSRctLHd2TjGqNkMqXeyIgXTiKQTFjqY2zlEMgRp1sHzD5+7aUk2Zw0YwpuCa/5Gm60QSKqe311DtSe3+J4NxnvjhAPGkil0SSKo6qg6aDkP+GIdbKmiqcDLkj/OLG3O8emfulEMpdtVNFS7+82u38dLgLNdnolS4bRxtrWT/psyHvnMswjc7ggSiAlABus7EuMBr8fODjuv8YEiktsxBdZkbh9NBUoXO0SCf/+kNjlcn2VW/cgXfWqAQ4snGYk7bly9fpqysbFWdttcr8WQj/T7pus7U1JSpoDVUhRMTE2a6rlhxwTe+8Q0effRRnnzySU6ePMkTTzzBmTNn6OvrM5Ws6Xj++ef5zd/8TXPe1ic/+Unuv/9+ent7M8RcDzzwAF/60pfMr1e6kbilxKPrOn19fSUdnrZUCiyRSNDZ2ZlhtbPc8yy1YKdLpQtR5WWjUOLRdZ2hoSGuXLlS9KTVYsZfG754i9XBNlW6eFf7Zr7ws0H8MRVRFBATMvXlDt59z1bzdT/pTw11s4lCqq9HVREF0HVIqjrBeNIkqZlwoqD3shLUlDl4w4GFD6aB2WiSb3eME5VVdtanGm/jSZWBQIyDWzfh3lSHbWKMMqdAKBQiOKMwHpUIK/BM7xQdZQIHGpL891aFMue62O/lhfF5WO5CvpjTdrZ5Z21trdnIvBJsFOJJhyAIuN1ubDYbR48eNVWFHR0d/PVf/zUDAwNmH9qv/MqvcPr06SUX/E9/+tM8/PDDphP1k08+ydNPP81TTz3FBz7wgQWv/+pXv5rx9d/8zd/wrW99i+eee453vvOd5vedTmfB83wKwS19Aq5fv87MzAynT58umWxwMeLx+/10dnZSU1OTU+FVDJaKeJaSShd6DliceFRVpbe3F5/PZ9r5FINCajyKotDZ2UkkEimIrH/rRCu7Gsr42k8vM5fQObm7mX9zuInW6ptpv2hCRQeM9UYQQNNAIJVyU1WdhKIhCKmIZDGsRRqrbyqML5Jke+3NplKXXcIpifzDuTGSms5YKIkguthUWY0vEiKhKdgFDQcqdk3jlRGVL//0Cv/+nh2rnnpaCZYT8SyGfE7bPp+vZE7bG5F4IFNKbagK3/ve9/Le976XI0eO8OCDDzIyMsJv/dZvcfz4cf75n/8577FkWebcuXN88IMfNL8niiL33XcfZ8+eLeh6otEoyWRygajh+eefp6Ghgerqal7/+tfz8Y9/nNra5as9bynxbNu2jba2tpKG3bmIJ32eTbERwWLnybdgB4NBLly4QHl5eV6pdKFYLBUWjUbp6OhAFEXa29uXZZK5VI0nHA6blkHt7e0FvRdBEDi5rQZvrApRFNm7d9uC15zaVo1dFFA0DUkCmyiS0DSzzqMLApPBBHubyjm+Ob8D+GoVsGfCMp2jQaaCCcKySiiuEIor8zWq1DmTqsaAP0YonmR7nQdJFBiZizMdlpFVDbfDhqxqtNa6cWtxlJjKz6/52cEk1RWZqaf1tGiuZk9MsU7bhd6bjToELp9rga7rJBIJ3vzmN/Oa17wGXdeZm5tb9FgzMzOoqrogG9HY2Mjly5cLup7//t//O83Nzdx3333m9x544AHe+ta3sm3bNq5du8Yf/dEf8YY3vIGzZ88ue+2+pcRjs9lKvlvNJh5Zlunu7iYcDpd0nk2+iMeQMC8llS7mPLnukVE32rRpE3v37l32Q7dYqm1qaoquri6zr6nY95Lr2JPBODNhmfpyO6e2lPPT60HisoooCIhCqsbjsktIApzeXs177tmCw7b4e1vJZ2h0Nk7fZBiPQ+JIawUuu8SVqQj/56URBv0xJoJxEkkNmySiahpxReVoWyVOm8RkKIEvLNPgdVDjsaPXehgOxJmLJVF1EIHacicNXieRkEyZS0JyOLnzrl3o8ZDpJq2qKlVVVaZkezFl5VwsyY+u+Dg3NIeOzrG2Sl63uy5DKbhSrKW9Ty6nbUOkUIzT9kZ004b8zaOQaZkjCAJVVVWrei1/+qd/yte//nWef/75jE3sO97xDvP/Dx06xOHDh9mxYwfPP/88995777LOtb6TzctAOvEYzZNer3fFkUeu86RHIqqqcunSJSYnJwuSSheK7IgnPXpbTt1oqeMb5zBqUysZl5CexgvFFf73Twd4cSBAPKmCKrO7LMmrmzQu+ETiqk6128b9++t5w4FG6ssdbKpcOoJb7gKpaDp/8/MhvndpmkhCRRIFmiqcPPKaLfygz8fIbIzpUIKYrOFxiGi6jt0mMh2SOTc8x9ZqN91jIRRNI6FoXJmK4rYL7G4oY8gfwxdL0lrtprXabaYTgwmV/XVOar1upEpPhpu0z+czbWvyjQKPJBT+6seDXBwP43ZICMA3L0zQMx7mfa/bhtdVmsf5VhqEZjdnFuq0fTuk2rIRiUSKqkHX1dUhSdKCmWSTk5NL1mc+9alP8ad/+qf84Ac/4PDhw4u+dvv27dTV1dHf328RjwHDofrGjRtcuXKFHTt2sG3btlUZS20QXCwW48KFCwiCULBUupjzGIu3oih0d3czNzdXsugtu8aTfo7l1qbSj21EI//rx9f5Ud8MlW4JhxYjpuj0hF38m4MNfOTN5QxPzBAOBlASIyiTIWSllrBUWOF5ORHPv/RM8U9dk7gdIi1VThRNZ2wuzie+dw2PXWAilMQfkbFJInNxBUkQKHdIbK/zEEqoJDUdl01EddpSfnMChBMqvohMTZmNSo+NUFxlNBCj3G1jMqzisku86WAjkpjZH2O4SRu2Nbn6Y2pra+kOiFyaCLO52m1GgUlVo28yzIuDAX5lb2lGW6yX6KEYp21FUTZMn1Q68hGPLMskk8mi5NQOh4Njx47x3HPPmSOpNU3jueeeyzsUDuDP/uzP+OM//mO+973vcfz48SXPMzIygs/nW9H8rnXVQFqqY46OjpJMJjl27Niqdf4aEY/RC1SsVLpQGMRj1FpcLhenT58umTtueiovGo1y/vx5HA5HSc5hEM+wP8ovBgNUuES0eBinzUZddQW+SIKfXg/wG8dauPNgKkKMxWKmq/TAwIC5wzXSUNmCkOV+hv714hSCAFXu1I7ZLqUinuFAnCnTcFJAElJiB0XVCMvQ4HXQVCmwudqN0ybSPx0hlFCocNkoc0hMhVJuFptrXCRsGlNhmbCssrlC5Fd2VdK+rWrR65IkKe8o8J91BwiFBCI2GdXpwul0YpdEJEHg8kS4pMSzHhfxxZy2p6en0XWdrq6uBU7b6xn5alORSASg6D6eRx99lIceeojjx49z4sQJnnjiCSKRiKlye+c730lLSwuf+MQnAPjkJz/JRz7yEb72ta+xdetWJiYmzPOWl5cTDof5n//zf/K2t72NpqYmrl27xvvf/3527tzJmTNnlv2+b6uIJxQKMTMzg81mK0h6uBIYkUJHR0dJUl75IIqiucNra2tj165dJSU3gxyMmlFzczN79uwpmcuvrutMhmRCMRkPccrLPJR5ykCAModEIKrgi8hmjcLtdtPa2kpra6u5w/X5fFy/fp3e3t4MGa7xUBYb8ei6ji8i48qqHUmigCCk0nC6ppNUNWQFs/YEOpPBBA1eJ5cnQoiCyL6mcvomI/iiSdAhKqtUuCS21Xood9oIRGWmwkkOViW4o8lV9EKYXoh/JTzE4MVJJFEgHA4TmA1gt9uJJCQEzVOydNN6JZ5spDtt9/f3m8Pcsp22843CWA9YbBYPULTa9+1vfzvT09N85CMfYWJigiNHjvDMM8+YgoOhoaGMz8jnP/95ZFnm137t1zKO89GPfpT/8T/+B5Ik0dXVxZe//GVmZ2dpbm7m/vvv57HHHlvR+rr+/hLLhOF/Vl5eTmVl5aqSjizL9Pb2AnDXXXetWtFP13VkWWZgYIDDhw+XVEefDiN/XmoCNcg55h9HS8aRvGWUld0snEdkDbcj1XSZC+k73HRXaZ/Px40bN8x6XiAQoLy8PG8NT9d14oqGTRSwSyl3i+21Hi6MBKl028xFVk5qKKqOqurEkymFnY5BOpBQNa5ORfFHk4iiQFRW2VLj4eTWKmJJDV9Y5tJkmAPNXirnI6m6cieqDpd8UV6rrExIc3RzJT+9FkCx2ajzelE1lelgDFFPUBad4Gc/m6C6+qav3HJHgW8U4kmHrus4nU62bNmyIGWZPmF0vTltL+VMvZxrfOSRR/Km1p5//vmMrwcHBxc9ltvt5nvf+17R17AUNjzxpBf1jxw5wuzsLInE6jUczs3N0dHRYe62V2N6J9z0QlMUhV27dq0K6RgNa7Isl1TxZ0DXdQKBAACv3ruJnw8EsUWTeBwS4YRCOKHw5kMNBSuysrvjZ2dn6enpYWJighs3blBRUWG6KxvW9COzMS6Nh/FFZBw2kZ31ZexrKuffHmni8mSE8WCCSpcdRdPwRZKIAtjEVF+REUgZdKHroGoqdslJIqkiKxo9Y0Guz0TYWuNG18HrstFclbnglzskfIpONFm4Q8SAL0rHcJBwQqG12s3xzZUcbqnggf31/ODyDNeiqZSex27nwWNNvP3YJiLhMD6fj/Hxcfr6+pY9CnyjDYGDhbLk7JRl+oTR9eS0nc9XMhwOr4upuauFDV3jiUQiZh+LUdQPhUKrNsDKkErv2LGDrVu38v3vf7/kE0IhlTI8f/485eXlVFRUlHTaoYFYLMb58+fRNI2WlpaSk04sFmNkZARN07jnnns4qgq4fzrIS4MBpkMJPA6JNx1s4DePL8+twrCet9vt7NmzB4/Hg8/nM9OSkiShOCu5HLKRwIEoSmi6zkQwQSiucHp7NY/eu52/f2WU8bkEkijQVuXCIYn4ozIDvhiCAJKRZpv3knPaU2KC8TmVSEJFEAXCCZVrMzEavQ4avU4iCZUq982d6lxcocwu4HUWtvD/5KqPr58bYy6mmIq4H18t45HXbOU3jm7iaFsllyfD6DrsbSo3J6UaJp7btm3LcAtInxmTLtnO9/ytF3FBMdA0bVHVavaEUcPS51Y7bauqmjMyvZ2nj8I6iHiWa8s/MTFBT08PLS0tGTWJUo+/hptR1dTUFEePHjU7dosxJC0UY2Nj9Pb2sm3bNnbs2MG5c+dKTm4+n4+Ojg5TlVLqRcbv99PR0YHH40G02fnxtVnOXvOTUDUeONDAvqYKdjWUUeVa+RRX00XA5VoQDf2/zhFeuT6DP6aiIOGw26gucyEnVfY0lvPqnTWc3l7NTDiB2y7x589dJ5pUSWoakihgE0FHQFY0RCnlrKBoOrGkxlxcxSaJeBwiHoeN3Q1lTAQTiAJMhWQUVcfjkJiLJYklNY422HAu0Y8EqbEQ/+elEabCMuVOCY/DRpXbxpWpCE/3TPLQqTZ2NZSxq2HxRWklo8A3YqqtmPpWNknfSqftxWo8pbASWq+45cRTLDRNo6+vj9HRUQ4ePLggBVVq4jHcAQypdPrupBRTSA2kv68jR46YbralHE2d7um2d+9e2trauHz5ckmJbXh4mMuXL7Nnzx6Sisr/+vkol+euoek6kiBw7sYse5tCfORNe0r2UGVvXERRxFtZxYTiJygkqawUcQoq4XiC4ZkQ4/4Q250hTuxsoqamxrTkaapw0j0WotrjwC6JgI5dEFDF1ObILqWuNyorqJqOKOgkVZ1yp0S5U6LGY0fTdV6zq4busRD+qEyFy879+6qpTYwV9F6+fWGcixNhJFFgNqYACSpcNhq9Di6MBPlNRVuyoTYbhYwCN9KUxtjrjbbgrURYUajTtnF/Slk//mWcPgobjHiM0Qmqqi4Y4WyglMRjSKXzuQOUihQSiQQdHR3mtNX091Wqc6iqysWLF5mZmcnwdCvGZXsxGMP0xsfHTRn7P714iY5JmU01FZTPG2MmVY1LEyG+d3GKXzuy9MC9pZBvgZREgZFAHF2DCreDiWAcX0xCRkBOaJwdU6i33eDixYtm0flQg4tLEwKKplPtsRGOqyTUVPQj6CCIIqIIMxGZWDJ1zyrdEg1eJwICqqbjtIn82zuaeGB/A5GEQqXbjsch0d09vuRiPhdL8ny/H1WHKpeEKKQaV+fiqdqTx5FKF64US40CN+6rYdW/GqneUqOUDaTZtcT0wW6XLl0qqdN2PsscI+K5XXHLiafQVFuhs3NKQTzpTsyLuWaX4lyGG21VVRXHjh1bldHU8XicCxcuACzwdCvFeG1Zluno6ECWZdrb203BxdWZBKqGSTqQGrzmtIm8NOA3iefKVISzAwHG5+I0ep2c2lbNvqbF+xd8EZmZsMx0VGd7jusXSNVmwgmFztEgUTnlhC0KAghwKQD37N/KvXdWmUo5zTfCPgdcDDlwiRAVwYGIzQaJpEZSUZGV1HE1HSQRNF1jIpjAbUs1mr7xQAN2ScQuiVS4MtNXS+HSRBhF1SlziMgquGypIXoOSWQmLHPf3jpci8wlWi6yF9rBwUHGxsZM7zSjSbOmpobKysp1Wf9ZLeeCXIPdcjltG9FQsemxfBHPcmfxbBTccuJZCukkUIjcd6VkIMsyXV1dRKPRJZ2YVxotGGmpxUZTr5R4AoEAFy5coL6+ngMHDuSM2lbidWYIISoqKhY4fouCQK4j67qONH8d54fn+Oor44TiCmUOif6pCL+4McvbjzXzml0L3W+Tqsazl2c4NzRHKKEQ9CvcUH28o73SlGUnVY0fXfEx4IsyHU6Q1FKKNEEAm5hayO2iwI+u+nnt7jqzF0TTNI6EQgxPTNM3MsNPhxJcmpUoc9iprvYwMiczGZYRBPDYRVRNJ6nCkD9KUtU41lbJGw8sv4lT1VLpvNYqF0OzcUJxDVGEeFLDZZdK1iC6GERRxOPx4Ha7OXbsWIZ3Wk9PD5qmZaSd1sso8LWyzMlVOzPuz8DAQNFO2/kaSG/n6aOwzoknkUjQ1dVljlcuxLdoJcRjeLtVVFQU5MS83BqPpmnm8Kd0sUIurIR4hoaG6OvrY/fu3WzevDknsa0k4pmcnKSrqyvvULgDTW7+9XIqhWT0tcSTKklVp317NUlV4196p4nLKjvrPIzOxRkKxAlEk1wYCfLAvnr+4DVbqCu/mVN/4XqAH13xUeOxs73Ww/Wwn0vTMb7TOcG7TrWh6Tr/cH6c73ROEE4o6Ahouo6A0Qiqo+o6E8E4kaTKz675uXdPHZIoZMyRObhnJ8PPXWNOCOC1KYSiYQIRsAuAIOCyidhFkaSeSq/dtbmS971+Ox5H/ohkqZ3wjvoyKlw2dGB/k5fpsEwiqeKw6bxmZw17Gtcm9ZIuLsj2TgvPS7azR4HX1NRQXV1d8gFvheJWeLWl187a2tqW5bStqmpOBZ2lartFMGbnVFdXc+eddxYsbzS82oqFEX0U4+22nIjHSHvpuk57e3tBo6mLJYZ0YlvKNsiIeEJxhWA8SYPXOV9Yz490E9FDhw7R1NTEoC9Kz1gQuyRwfHM1teUO9jd6uKvRRndQwR9Nzi/+Akc3V/HAgUbGZ6NMhVJOAOPBOL+4MUtS1REFSCg6/3Jxihv+GP/rHQdx2SWSqsYrQ3OUOyQzunHZBKrKHVyfiXLDHyOSUHhxIICsaNhEEfTUZ0EHVO3m/J+YokFc4V97p0goGr96sCHjb/7d7kn+qXuKiJwyENV0EVXXUPXU+1e1JHZRwCYKeB0OdjeWLUo6hUSVTRVOzuyv55+6JkmqOhVOG1FRYGeFk7cfa16zgn8+ObUgCHi9XrxerzkK3Eg7XblyBVmWV5R2WgnWg0nocpy280U84XDYinhWE9kfTMN9ub+/nz179uTdqeeDEYUUKgk1iu7T09NLRh/5zlUoDJlxfX09+/fvL3g0dTKZLPgc8Xicjo4ONE0riNjCssbfdoXpef5FkqpOXbmD/+9UGw/esSnn/VNVle7ubmZnZzl58iTl5V7++icDfLd7gqisIgCVbju//+qtHKoS+Tc7HbylcTev3JhFVjQOtVRw945a3A4J33zNRVE1+iYjJFUdt0OaX9h1vC47V6cjfO/SNG853EQsqRFNKJkLvABuu0ggqhFJKFz3RVG01KjtiKygpq33OvMpt9Sv0eB1sKnSyUuDsxxuqWBLTepevTI0y+d/egNNB5sk4JREAtEk2ny6ThLB47ChaqmmUHc8QWK8n26bzyzaL1f59OZDjbRUuXh5cJZANMmO+jLu2VFDS9XyXAiWg0KfnXQ1mDHgzeilun79eobPXnV1dUnd4bOxHognG4U4bRsOC06nM+P+RCKRnKOql8LnPvc5Hn/8cSYmJrjjjjv47Gc/y4kTJ/K+/pvf/CYf/vCHGRwcZNeuXXzyk5/kjW98o/lzXdf56Ec/yhe+8AVmZ2e5++67+fznP8+uXbuKvrZ03HLiSUcymaS7u5tgMMiJEyeWZUUjSamFq5CHJ32QWrZUuhAUGo3ous6NGze4evUqe/fupbW1tWAyLSbimZ2d5cKFC9TW1nLgwIEliU3TdP78Z1N0jcmUux3YbQLjwTiferYfSRR48+FM91nDhVuSJNrb23E6nTx7aYpvXRjDZZdoqXKh6zAVTvC55wf4o9c2Mh1RuaPCxXtevS3DlRmgqdLJ9joPXaMh5uIKYqruj6ym0ldep0QkoXBxPMxbDqdUXdUeBxOhhJm6g5SAwG13UF1mR/ALJJSU3Y2ipaIndEiPSxOKhtsusq3GTaXbzmRQZjgQM4nnmd5pEopGc6WTyVCCqJy6/zqpGTuiKJLU9Pm6kcCBtmp+9e42/H5/hmuAQUJGc24hf3NBEDi+uYrjm6uWfO1qYTly6vQBb21tbRlO0gMDA6aTtBENVVRUlDQayqcOWy/I5bTt9/vp7u5mdHSUq1ev4vV6kWWZcDhMKBQqOtX2jW98g0cffZQnn3ySkydP8sQTT3DmzBn6+vpyktgLL7zAb/7mb/KJT3yCX/3VX+VrX/saDz74IOfPn+fgwYNAyrn6L//yL/nyl7/Mtm3b+PCHP8yZM2e4ePHisi2ZYB0RT7oVzUqckY0Pn6Ioix5jamqK7u7uFZliFlJPUlWVnp4e/H7/snzdCiUew1Vh165dbNmypaCH+vzwLJemYnjsmLNc3HYJX1jmqy8N86sHmxDnycIQKTQ0NLB//37zfj17aTol/523vREEaPQ6GfRF+fhzo8QSCTyXO2mr9vBQextbaz3IikaD14kkijx4uJFANEnveAhFS427tksCVW57avMAlM13/NtEgVPbq/j2hQlGZmNUue3MJUBVFV61p5aWShfBmIIIZloPAdQsiYOR9fJFk2yel0WLafdrKBAjqWjc8MeIK5rpWgCpaKfaY0NWNECgrEzk7u3VZm3IcA0wdra9vb1mOsVms1FbW7uiB3YpXJuO8NLgLFNhmeZKJ6e2VrO5pjgBQCkaSNOL7Dt37sxpWZPuOr7S3piN1nskSZK5IbnrrrtQFAW/388//uM/8olPfIJQKMTg4CCVlZXcf//97Ny5c8ljfvrTn+bhhx82naiffPJJnn76aZ566ik+8IEPLHj9Zz7zGR544AH+23/7bwA89thjPPvss/zVX/0VTz75JLqu88QTT/ChD32It7zlLQB85StfobGxke985zsZA+KKxbogHqMIXorZOQbx5COEQqXShWApUohGo1y4cGFFbtlLnSO9f6bYAXTXp6OpdFIW57odEhPBBLOxJDVlDpPUco0N90dks7HSWLCSqs5sNEk0IdDgTkUqlydD/Ldv9bBvkxeP3Ua918HrdtdypLmM33/VZqZDMi/fmMUuCTgkgYiskEhq2CURmwj/1DXBtloPBzd50TR4YSBAIJpSmJ3eUs6bDzUiCAJ7Gsu5e0cNNwKphk1JSpFPUp1nDwGcNoGmShczkSS942FaqlzsqEtJwENxhUAkyVxcSaXWsu6ZXRKpdNspd0hUeWwkFJ0ttZl+fXa7ncbGRnPQWzgcpqenh2AwyNmzZzM81Eo59voXN2b5Py+PEoorOGwCF4aDvDgwy79vb+NAc+EDxVbDuSDbsiYYDOLz+czemOWMu07Heky1LQVjjRJF0XTafu9738vv//7v8+pXv5o9e/bwrW99iz/8wz/k/vvv57vf/W7eY8myzLlz5/jgBz9ofk8URe677z7Onj2b83fOnj3Lo48+mvG9M2fO8J3vfAeAgYEBJiYmMsZgV1ZWcvLkSc6ePbuxiceo5xRbX8kHQRDyFv1lWaazs7MoldxiWExcYPQdrXTMwGLEk69/plDUlNtRNB1/Umc6HkUShPnIR6fcacdjF7l06RJjY2N5/z57G8vpGpljJpRA0XQ8DhuSkCrk11facQtJXPZU+nMupjAdSnB8i4fpcIKv/PwaP6+2M52QEMSUlDicSN1PYf5fTS4bc9EkobhKz1iI/Zu8vOlAA9vrPPSMh7jWP8vuOpdpRyOJAu882UosqfKPHRPEFRWX00YwnkQSQFZTJDQ6G0MQBATgoVOtNFakNgU/v+5HnY+0IKWE03XQ5q9J1XQ8dok6r4NwXOVgs5fDLfmH5RkFeZfLRWNjI/X19QQCAXw+nzn22ig419bWLlueHE+q/FPXJPGkyvY6t9kfN+CL8U9dE+xpKscmFkYmq+3VJgiCGSEavTHpRfhiRoEb2KjEI0nSApKXJAlRFPmN3/gNfv3Xf51IJMLIyMiix5qZmUFVVXP8gYHGxkYuX76c83cmJiZyvt6YyWP8d7HXLBe3nHhaW1tpbGwsqQ1FrhSYIZWurKzk9OnTJTEBzHWedMXXSiMqyE88wWCQ8+fPU1VVtaB/plB4nTYSioaigSToaKTm1NhEgbcdaaK78wKJRCIvqem6znQ4QURW0XQdmygwG5PRtFRarNptIx5LEk6oxJMaTrtILKnhtAnYkxEuTUXomxRocqkgSNgFKLOLOO0SlW4bkbiSKu7bbbRUuYgnVS6Nh3DbRa5ORZgOy8zMKPRH/QzHbLzhQAMuu4QkCjx892a8Lht/99IIU+EkmnYz3Wa3pVwGFE1nKpQgmtRQNR1JFOgcCeKyp5pc4/O1IgSQgAqXbd45QKfabef1u2p51c5a3EU0dWb3gRhjr6emprh69Sput9tccIvpir/hjzEVStBY4TQXMkEQaPQ6GJmNMxGM01pVGKmthVdbOKHw0uAs3aNBdOBQs5eT23axd+/evKPADcl29mfdqOmu5xpPLuSrSxn9QUaNp6ysjD179qz15a0qbjnxOJ3Oku9U0glB13VGRkaWbNRcDkRRzJBuK4pCV1cXoVBoxWOj08+RTTyGkehKU5NffWkk5fuVNnsG5gvFkTGk2kpOnTqVl9SuTEU4PzzHpkonEVklJquIOqhCqmYyn4BDUeeL83qq2P987yihhEooKWCTBPZta6FreBZRjFMhaMQVDVFNNU0aI6lbqlzm189cnKauzMGOOg+uhITDY+P8cJDGChdH2yroGg3ROx7imYvTJBQdl10kKqtoekocoGk6mp6KZKKyxmP/cpWhk1F+60Qrkiig6qlalwDYbCIiEFe0edcAnd++q4Vf2Ve/rAJ89tfpY68NebLP5zO74tObNRfb+adqVAtdQLR5AYRYxLWudr0kllT5Py+N0DMexmNPzUe6Nh2lbzLCu0615h0F3t/fnzEKvKamhvLycvP52KgRTy6Ew+GiMjJ1dXVIksTk5GTG9ycnJ/OOVGlqalr09cZ/JycnM8ZcGyNoVoJbTjyrAYN4VFWlt7eXmZmZVRmDLUkSspyai5I+mrq9vb2ko6mNB0vTNK5cucLIyEiGkehykEiqdI8FKXOIVNp1sDnRNB0RjWAsSUhK9U8ttgBdmgiRSGpsqnRSV56KIgDmokkmQgnGQzLlYops4oqGJEAgGEUUQZTsRJJJBEXnmYsz1HjsOB0OKtx21EgCXYCknCSRVJnxJZkpUygrK2MiGGfYH2fGIzPoj+JRNXZVQLlN4sWBAD/sm+b8cJCJYCoSS8m7beh2kYisoZFymYb5uTtAJJHkX3qnkMSU1U3KKUAkqaYiIXW+1pNQVLbWemjfXl30wlxIH0+2PNmQ36bv/A2lXHY0tLXWTXNlanT31trUpFNN15kKyezfVE5TReEZhdWOeDpHglycCLO1xm2mSGVF49JEmM7RIKe333xOs+fqpEu2BwcHkSTJFOzkm22zXrEY8RTbQOpwODh27BjPPfccDz74IJBaL5577rm8Q+Ha29t57rnneN/73md+79lnn6W9vR2Abdu20dTUxHPPPWcSTTAY5KWXXuI//If/UPC15cJtSzzRaJQrV64gSdKypNKFnkdVVSYnJ+nu7mbz5s3s2rWrpA+tQTxGfSoej+c1SC0GkihglwQSScwx1LIsk5BlJMnGluamJd+Hxy7B/LwaScCUS+vzxxMEmIqBPZlAUzUSmk5SBIdNIhxLmn01M5FkyjLHKeG2i0iSSEOVh/FgHCSV1lo3sixzZWyWnhlI6gKapqILErKskhRj1FSIXBwPE5E1U5YtzS++oYSKfZ5kzKhu/h4kFR0NuD4T46kXhmitdhNNKESTGjo6qpZaiF321Djrd79qC17X6i9u2fLbXNGQUQcxakO/ducmvvTiMP3T0VTkpuk0V7p46x1NRUU8q008A74YoiBkjIlw2ERsYirySSeebKSPRjecAqampoCUPDhbsr2eo6B8zaNGqq3YGvSjjz7KQw89xPHjxzlx4gRPPPEEkUjEVLm9853vpKWlhU984hMA/Of//J95zWtew5//+Z/zpje9ia9//eu88sor/O///b+B1Gfwfe97Hx//+MfZtWuXKadubm42yW25uOXEsxofcFVV6evro62tbUWF/aUgCALBYJDp6WkOHz68oAhXqnMoisLZs2fxer20t7eXpD5lk0Tu39fAN86NIKITj8dRFBUZO163jXt2Li30OLWtmroyR6q24HUiigKz0STjs3EcNgFNFwjLoMtJnGJqMZM1iKcJCAwiSKg6ekJBVnWq3HY0TUdRdERBZDwCMY+HGUHE7UpQjgZqkoQiE5LhxaEodimKjoCu3yRVYT7lhw5JlQxRtU7KHcGAqumEZZUKl41NlU6uTEZw20WaKpw47RKHmss5ua2G3UvMwVkMK/msZ0dDxnydmZkZ+vv7cTqd1NbW8rt3VnMtCLNxlQavg6NtlaiaTvdoEK/LxuYa95IktNriAqdNzOmyrel6USMfDKcAl8vF2NgYp0+fNkUK3d3d6LpeklHgq4V8EU8ikUBRlKKdC97+9rczPT3NRz7yESYmJjhy5AjPPPOMuS4NDQ1l/F1Pnz7N1772NT70oQ/xR3/0R+zatYvvfOc7Zg8PwPvf/34ikQjvfve7mZ2d5VWvehXPPPPMiu+loK/EIbIE0HXdTFeV4lhXr15lYGCA5uZmDh06VJLj5oIsy7z00kvEYjFOnz69avYWV69e5dq1a+zcuZMdO3aUlKgDUZlHvnqeSxMhBEHAZrPhdtj4L/ft5N8cLmzU9gvXfHzy+1cJRFPuCrPRJOjgsAvEkxpJNaUHE4WUS7WspGo4kCrYI5DhLlDhFKktd1DlshNJqinxg6rhtkuoOmypcRGTVbrHQsSSehqZ6NgQsEnAfE1DnXdA0OfrOUZ0lg92SaCh3MHxzVVEZZWwrPDhN+yirTp3UV7RdK5MhpkIJvC6bBzY5M1rm3Pu3DlaWlpWbYS5EQ35fD7TuqasspoXxnV6p2JEEiouu8Su+jJ+49gm03IoF/r6+rDZbOzYsaPk1wpwcTzEF18YxuuUqPbYEQSBQDQlYf+dU60cWkQlmAuRSIRXXnmF17zmNeb30qeM+v1+gsGgKWMvxTiDUmB4eJhAIMDhw4czvj8zM8P27dsJBoMrVt6uV9zyiKdUSE9F1dbWrqrPUTAY5MKFC9jtdioqKlblXAaJDg4OYrPZCmogKxaCHOX/2xqmq0zD0biDSred1+2pZ2tt4bLs0ztq+eL/V85Prvq4NB7iX3onEdFTQ8zSVnlNh0gi5U5w8wIgmwd0wB9JMjGXWsztUqr4HE6ohBMqXqdtvmaU+ZsCAiqgqymFnqprOO0poYA238JjF8AmgKyl/968I4EAAvr8eRTcdolATCcq55bLh+IKT50dpnc8hKxqiAi0Vrt416k2ttcVJ2tfKdLrIOnWNf/UOc5PbkSpdovUlbtBcNIxMgfA79+zOeUerusM+mP0jIVQVJ3t9R4kZXVrJXubynnd7lp+0u9nejoKpHq9XrOrlv2bil9oc0mpFxsFnp2qXGoU+GphsemjhhPE7YpbTjyl+GMbM20qKytpb283ewFWA4aibPv27Xg8HgYGBkp+jmQySVdXF5FIhEOHDnHx4sWSn2N0dJSLFy+ybfNmJIb4lXuXT2x15U7eemczL1T4+MHlqZSv2XxRPr0FU9WZ7yVJkYbhfWZAACpcdqIJlbii49J0GitSO/OEohKIJemfiZizdtKhp/1XmT9aUgWXBKqukVDnFyZBQEDPIDxJBNt8PUibr28EokkqXDaaK3OnFL7bM8m54TlaK114HCkD0xv+GP/n5RH+6MzOnEarq72wabqOaCxYNieTepRtzV4qHRqxWJxYJIiQUPjF1TBHahQObmngJ4NR/rlninBcASHVILvdI/P2O1YvLSUKAm862MCBZi/Xp6PowPY6D1trl04D5kIhPTxLjQK32+1mvSyXZHs1sNT00Y3kxFAsbjnxrAS6rjM8PExfX1+GVNpms5WceIzR1GNjY6aibHp6uqRjoyG12zl//jwej4f29nbi8XhJz2Eo40ZHR7nzzjtxuVwMDQ2V5Ng7G8pxSfMFe31hNAMp8hFJNWTCTfsawHQtCKgpeXcoruCPyJQ5pVRj6bzmO5pcxMmBVC9QPKlhs4lUeVJNssGYgqJqqKo+Tzuph9plE/A4bYRiyRQxSgKzURkN+NVDDaaVUDqissq5G3NUz08XTV27SFu1m+FAnCuTkQVOAauV0dZ1nZdvzPLspRlGZuM0eJ3cu6eWvY1lxJIqFW4bLqcTl9tNNdUk5SSXJ4KM+2a5MTTMPw6KOBx2WirdOF0uorJG51SEXeNx9pQ+yDYhCALbaj1sKyK6zodim0eLHQXu9XpXrRa92PRRi3hWGYVOIU2HIZX2+XwLpNKlHH8NN0dTK4qS0UxZqrHRBqampujq6spQx8myXDLiSSaTdHR0EI/HOXXqFGVlZUSj0ZIdPx6Y5KA3xlhQIG62N91c5AFUXae23I4kCATjCrKSGjVgFwWq3DbCslEXSkU1c3GFUEIxU2J2USC6xHVE5dS46hqPHaddYDaq0VTpZGQ2jiSAoMN8mSllKKqnFHZ2SWBzlYu2Gjev213Ha3blVlfFkiryfN0pHQ5JIKlqRJO5PxOrsZA8f9XPl84OI6sa5U6J/ukI/dMR3nakiSq3nUAsmTEBNqJAfWU5p+/cxtnrAfTREWrcOqFwmMDsbKoNQFPpGIvyjjVoJC0FVupakD0KPB6Pm7WhGzduIIqiWRuqra0tWauEqqo5G+dv91k8sE6Ip1hEIhE6Ojqw2WwLRjlDZn/NShEIBOjo6KCmpoaDBw9m7FCWOwguG7quc+3aNQYGBjh48GBGs5YxL2elElcjkiorK8tQxhmkv5Ljp/vFvf/NR9naPcdf/fi66XVm1HUckoBNEnnoZBund9TwdM8kP7nqZ9AXSU3aVLT5eTypdJg4r0qLyQqalpJpywUQvSikmkSHZxOpJlAxNQnVY5ewzTeIRhLKvE9dKspqKpO4v0Vha1mQhlqRek+MRDye08Kmym2nqcLJwEw0Y7y1kZ5rq14b9VRC0fjn7kk0XTedtWvLYDKU4NnLMzx4uJGne6cYnY1T6bYRlVXmYgqv2VlLo9eJooHdbqOqMrXIKapCIpFACIcIBMO88MILGUaea5F+Wg5KbZfjcrkyRoEbvnKGZ2F5ebl5T1YyCjyfc4FBPBuB9JeL9flJWgRGVNDa2sru3btz/tFLEfGkp/HyOT6XIuJRFMUcBZHLP854fyshhunpaTo7O3P2Ga30+EYUlW6t8wevq2XAF+EHl6dRVRWXw0al25aagyMIvHZ3nTlt88LQHJIoIisaCSV1L+2SgMueItxEUk0JBEgJAwQhPVGXG6IgoKIjzKf7NF1nLpbEYZPwzM/7SaoitWV23HaJo22V/JtDDUQSKqKWxCtGzaZNw8Im3dBTEgXu31fPl86OcN0XpdJlI5bUSCga9++ro6liIfGsRqptfC7OTFimxpMpBKjx2BmfS7CpysWvH23mJ/0+ZqNJ3HaJN+xv4P59dQiCwPY6TyqClFU8DgmbZENwSShEOb6thn37mvH5fOZYAyP9ZIh31svCmK8fphQQRZGqqiqqqqoWDHcznMeXOwo8X6rNinjWCIWk2jRNo7+/nxs3bphTL/NhpcSjqiqXLl1acoLnSiOeSCTChQsXcDqded0OjAdqObs6XdcZHBykv78/r2+csXgsZ2GMRCJmPSrbWuc/vX4HN3wRBqdT3mqJpIZNEvn1o03sqE89VP/7Zze44Y+xudpNWE7Vc2QlJYH2OAQkIVW0V5IpBql0p+o1oqItKotW50MtQbgpo1Y1iMkqkhl9ieyoKyOhaCDAl18cIZZMpehaq1y8/dheDh2yEwgEmJmZMQUrRgRwuKmWd7+qjR/2+RiejdPodXLPzpq86bn0e10quOYjOFnVcHNzAUuqOjZJxGOXuKOlglNbq5iLJSlz2jLk3odbvBzdXMnLg7M4pBShRmSVTeUi7Vu8ZnoJUo4BxqiHGzdumGMPjAX3VjoGrHbfUTpKOQp8semjFvGsAyQSCTo7O81d9VLy5ZUQjzHsTBCEJR0PDFeB5UQLRhSyWORmnAMomuDSa2AnTpwwZ38sdvxi+hp8Ph8dHR20tLSwZ8+eBe+/rdrNn79tP3/z/Qv0zcSpctt5zc5KzhyuTj2wCZWXB2cpc9pw2ERqbA4cNpEhXwxNh1BMQ5J07KKAJKQKM4qqmR5ri0FjXsCQJnWziam6TlRWcdlFHJLAgC9Kk9fJDV+U1io3LVUSSU3nhj/GN86N8Z9fty2jadNYZIxhb2VlZbx5Sw3eO5qora7EtsZ9IY1eBwc2lfPiwCxuu4TDlrL5mQgm2NdUbsq6HTaReq+T6VCCn/T7iMop65/DLRU8fPdm9jSW8/LgLAlF43CLl/rEOLVlmUTidrsz0k9zc3P4fD4GBwe5ePEiFRUVJhGtVjE+H26VM/VKR4GrqpozfRmJRG7rsdewAYjHkEoX48K8XOIxFtPGxsaMYWeLnQeKW7SN0d7Xrl0ryL16OcQTj8e5cOECQM4aWDqWE/EY85P27dtHa2vrgp/ruo6qqjRVuPjIb9yNLMtml/2F8+dT80e8NSQVBdv8xNipYAJfNGkq4TQAVTddo41IxSZkOh5AilRULdMOJ0MtJ4KqC9gEnTKnRELRSKgayHBpMkyj18mexlTqyCEJbKl2MzIbp386YvaVZC8y6cPerlzqRdd1c+HNVYBejVSbIAj89olWAtEk12ai5nveUuPmd9vbMia+nh0I8DcvDBOIpGqfNknkztYK/tNrt3JmXz1n9t30/Tt/fmJR4jAcA6qrqzOGvPl8PrM73lhsa2trF42GdF1ndC5OVNZoqnBm1MwKxXoZiVDsKPB8EU+6M/XtinVBPLk+5LquMzQ0xJUrV4qaqgnFE096Smrv3r20tbUV9HvGh2Yxs790KIpCT08Ps7Ozi0Yh6RAEIWX4WOT467q6Og4cOLDkA1kMsaWLCI4fP051dXXO12iahqKqXJxIuVeLgsBdW6o4dGgTuq4zOzvL9PQ0jU6Vq7My4aiAP5HjfEC5XURWU6kUSYBgTEEgq9YmCFSX2fBFk2aUYyzzLpuIKAroWkq0EJE1asts7G4oR9N1Lk6EmQglmAwm2DTfs2OXUj5n+dRpsHDYm9Elbww2MzzDamtrTZfy1YgCmiqcfOSNu7kwPMd0WKbaY+doW2VGSs0XkfniC8OE4oppmROVVX5xY5bvdk/yjuMtGccsNoJPH/JmREN+v5+hoaEF9yI9GpoKJfiH8+NcmYqQVDQq3DZet6uW+/fXF9XPs5o1nuWikFHgkKpZG43oxn0Jh8MliXj8fj//8T/+R7773e8iiiJve9vb+MxnPpP32H6/n49+9KN8//vfZ2hoiPr6eh588EEee+yxjLUq12fj7//+74saDLcuiCcbiqJw8eJFfD5f3gVuMRRDPOlkUOxo6vSIZymkTyNtb28vav5QoeOvjebWYoi60Ignl4ggHYYyTlVVVE3nMz8a5PuXplMOz7rOF39+g1Pbq/ngmV1mDvz9ZU184B97GQoYrJMpvYaU0k0UBNw20BQVYX4XL6RFOLKackqodNnY21SOQxJ5cTAw37OTurYKl0QiqSErGg5bamaPSGom0XRYZmwuRrXbxlxcYS6moOpQ7SlMNpvdJW9EeIYSytg4BAIBKisrS14PcdpETm3L/4x0DAcJRGXaqm42aHocEm67xE+vBfiNY80ZC/1Kaibp0dCOHTtIJBLmrn94eBhBEFIGnlU1fK0nzJXpKJsqXDjLRPzRJN/pmqTMaeOenYU7ya+XiGcxZI8CTyQSvPjii2YZAVJrUW9vLxMTEzkzCcXit37rtxgfH+fZZ58lmUzyO7/zO7z73e/ma1/7Ws7Xj42NMTY2xqc+9Sn279/PjRs3eM973sPY2Bj/9//+34zXfulLX+KBBx4wvy5m3YR1SDxGwd1uty97XHShxJN+rmLJAG5GI0udy0jhbdq0ib179xb9kCxFPLquc+XKFYaHh4sefw0sGVFFIhHOnTtHWVlZzvk8BuEY5PXjfj//2jtl7rpnQwmSms6/9ExxfmiOR+/dwRsPNnJHayV/9m8P8O++dH6By8H8kVE0Abuoc6RWZyjuIhGUEQVIqpo5ZlvTU+4Dd26u5JMP7mdkNs6Hv3uZYCzl/6WqqZpSIqmhC1Dhtpt/g3qvk5lIkqmQTFyZIxRTUTSdpgoHP7kyTZWridry4j4XDoeDTZs2sWnTJlOO293dzfT0NCMjI2uuDovNqwWzT2OXBOLJ1EZBlDKJp1TX5HQ6M6IhQ5p89tIQr1yN0VBuQ0uo6KKLxgoHw4E4P+n3c/eO6oKjno1APNlwOp3ous7u3bvxeDwEg0F+/OMf89WvfpWLFy/S0NCAJEmcOXOGV73qVUWvTZcuXeKZZ57hF7/4BcePHwfgs5/9LG984xv51Kc+lTPFf/DgQb71rW+ZX+/YsYM//uM/5rd/+7dRFCXjua+qqlqR7+C6+mtNTk5y9uxZ6urquOuuu5Y9lbQQ4pmamirZufIt2kYK7/z58+zZs6egulEuLEY8yWSSc+fOMTU1RXt7e9GkYxw/X8Tj8/l48cUXaWhoyFlj03XdTK8ZY8d/fHUGdf54k6EEmp7q4RFI9bo88cPr9I6F5s8tLOQbE6kflNl0Xt+kEI3FkYTUce2ShMsuUeYQsYuwo96DroMvkmRnfRnbaz0omk5cVonOm41qAHpqXpABp02k2mPH67ITS+rUe520b6vinp3VXJ+J8uMrM8iyjKIoqKpatMjDkOM6HA727NnD6dOn2bRpE6FQiPPnz/Pzn//cVFCmDxUsJXbUleGwieZYcUj93ebiCnubyhfY+6zWIDjjXuzYsYPmbbuoqKyitrKCpJJkZnqGsdExlFiIcX+QUCRe8HE3IvEYz40x+rqyspI3v/nNvPjii5w5c4b77ruPmZkZ3vnOd3Ly5Mmij3/27FmqqqpM0gG47777EEWRl156qeDjzM3NUVFRseC5/4M/+APq6uo4ceIETz31VNE1zHUR8ei6Tl9fH8PDwxw8eHDFDr4G8eTauaU3a5ZqNHUukktXlRWbwst1jlwLniFndrvdnDp1atkpnHxy9kJFBMaDb+aoEyqikBqRoGo6ggDavOONXRKIJVW+d2mKA81eXhwI4JREonkWdAG4e3cDPq8HVRxFURUUTccmpgQEqiYgiSJVHgdRWcUXkWmtdnHf3jp+0DeNPG99LQgpN2xRJDXnRxAom/dYO9RSQYVTpN7rSpmQzqfzmqtFbgTihGUNr/NmVGgQrPHfQmDc3+wIwFCHGXl/QwVVW1tbsibCvY1lnNpazY+v+gklFBySSCihUOOx8+ZDC0d5rMXo6xqPHYddQnQ4qSsrQyflUn99KoxHjfGLl85SWeE1i/GLzdbRNG1DDYADzDUjV21YURROnz7NH/zBH6SEN/PzhorBxMQEDQ0NGd+z2WzU1NQwMTFR0DFmZmZ47LHHePe7353x/Y997GO8/vWvx+Px8P3vf5/3vve9hMNh/tN/+k8FX9+6IJ6BgQGmp6c5depUSYpq+dRmhvlmOBzO2ay53HNlk4IhyRZFcUlVWSHIRTyGHLutrY3du3evaKHIPn4xIoJs0gG4s7WSF6/7CcVVM8owEIqrgMrfvTTCRDBBQ7kDt11EVjXTxiYdOtA7FmYmJKciMyEVIRnHlQQdSdAIB4M4HQ4UOc6nfzDFT676ictayrlAEvDYJWQ1NZIhFRklKHO4eai9jf1NXr59YZwyh2SSDqT816KCiGiz43DYMog2fbMhiqL5T7H3PV0dlt4rMzAwUDLjSkEQeM89W9hW6+H5qz5CCYWjbTW84UADexoXPm9rQTy7GsrY3VBGz1iIBq8Tl03EH9Nxe9z8+oldHG8tM++FMVsn3bYmPUOxESMe43nL10BqrIOCIGTM+frABz7AJz/5yUWPfenSpRVfXzAY5E1vehP79+/nf/yP/5Hxsw9/+MPm/995551EIhEef/zxjUc8W7dupaWlpWSWHMYfM11tFgqFuHDhAh6Ph9OnT5dsh5Qd8fj9fjo6OmhoaFh2ai3XOYwPaiFNocUivcZTjIjAuLbsRUqYV4/limEMDoorGv+vexKPXcTtSDU7Bs1U0E2RgQCE4wp376ihyuOgcyRIICYjIuC0i4hCysJGFTTaynS+/KMeXpoSSag3/Q0UVSekpdJY4vxMHpdNZCKY4OWBAHdtrqLKkxIZbEpzo54Jy7RWuahy201CSt/UGCSk63qqhyOaZMAXYzauUuW2savRa869SaqpSajV8w7SuZDeK2MYV/p8Pvr7+4nH41RVVVFXV2dOHC2GHJw2kTcfbuTNhxuXJJa1aMi0SyIPnWzlWx0TXJwIE4wrVHvsvH53Le3bqhAEIaNR01ANjo2Ncfny5QzbmvWoalsKqqqaNeJsLCan/i//5b/wrne9a9Fjb9++naampgWRkqIo+P3+JTNKoVCIBx54AK/Xyz/+4z8uuVaePHmSxx57jEQiUXDJYl0Qj81mK2mfg/EhVBQFh8PBxMQE3d3dbN26lZ07d5Z0N2dEPOkWO3v27KGtra1k5zGIp5Tpu+zj67petIgg14MzF0vyf8+P4bAJqLKe06E6HdGkRiypZb0udUz3vG1OXNUIxlOd9zsbyuif0okrGk6bSLnTRmu1i6Obq2jfWsXv/303cTWZdjwdbX7wj028OZsnmtRQNZ0fXJ5hKiTz5sON9E1GuD4TweNIuWGXO22c3lGT0Q+Tfs/SpejD/ij/2jvDdCiBTUqJHjqGg7x6Vw0doyH+X3cS17VhttTNcmZfPSe3Vi36+Ug3rgQW2PgbE0cNK59imn+X+lyuRcQDUFPm4PdOtzETlokmNerLHTkH6eWarWMo5Xp6elAUhWg0avbJrLdJo7lgbIpzlQIikUjebIzRJ7QU2tvbmZ2d5dy5cxw7dgyAH/7wh2iatmjNKBgMcubMGZxOJ//8z/9c0L3s6Oigurq6qDr5uiCeUkMQBLPOY9SOVms0tSiKJJNJent7l7TYWck5EokEL7/8MrB0U2ixEASBubk5rl+/bjop5Hog8qXW0tEzFmI2lvIFk5WU0aesLk4/uX4qAhUuG8G4gq5D92iIUCL1/4IAR1or+egbdxNMKFS47DR4HfzD+VFC8SSCkHKxllUdTU/rFNd0dFLNqC6bgKanRjBPhBL8/HqAh+/ezMXxML6IzJ7Gcg61VLClpgDbfkHg5aE55hIau5q8KdcETaN/KsL/77t9TIaSqCq4Y3GmIypD/pS/9mIS6Gxk94QYE0eNoWaGX5gRDa0EqyUuyAVBEKj3FifssdvtGdHQuXPncDgcpqOEx+Mx78VKTDxXE4tFaaXo49m3bx8PPPAADz/8ME8++STJZJJHHnmEd7zjHWaWZHR0lHvvvZevfOUrnDhxgmAwyP333080GuXv/u7vCAaDBINBIEV4kiTx3e9+l8nJSU6dOoXL5eLZZ5/lT/7kT/iv//W/FnV9tyXxQGqxNnZDpaod5YIgCOYgqfb29hU/9LmgaRpXr16loaGBAwcOlHxkr6qqXL16lf379xclIsgFYd4jzWOTmIstX6WlATE5JSQQ0JkJJ3A7bOiCTiiu0jka5CP/r4/Wahev2lFLbXkN0yHZHC6nIaRsclTdTLlJooCup0hHVVRkLaW2q3LAwEwEmyTy1js3LbgWXdcJJRScNhGnbeG990eSjM8maPI6sM0vJqIocj0QZ9CfwCHqOMTULKJAVEHVdJ7pneRoazk2SSp6YUyfOLp7924zGpqamsprbFoM1iriKQUMgUd9fT2bNm3KcJTINvGsra1dN9HQYk3npbLM+epXv8ojjzzCvffeazaQ/uVf/qX582QySV9fH9FoaiN0/vx5U/GWPfF4YGCArVu3Yrfb+dznPscf/uEfous6O3fu5NOf/jQPP/xwUde2Loin1B/yubk5FEUxi/urZec+OzvL3NwcXq+XEydOrMoM97GxMebm5mhoaODQoUMlvVeGiECWZXbt2pWTdBYTEeTCHa0V1JY58EVkvE6JUGL5Zq1RWaPcZUuZe4oiipay0BHQCcUVLo6HmAwlOD88R99kmPG5OPr8qGv1/9/ee4e3VZ/v/7emZXnIe+8RZziOLdlZjCQkkDgJiYFSaKEQWiizlNUPhC/QQvuBUqDQUvgEfoVCaMPIbhIIBBInBMLwkPeIVxLbsiVZtmTJ2uf8/jDnINmSLclads7runJdIMvSkSyd+7yf9/PcN0H84IYNgBzf2xHwODBbSHA4LBAEwGaTiAvjwGIyYtRghbSuHuycRMTFxdET9nW9ahxuGMQ51Rh4HDZW5MRgS1EiIgX2de+Jq7ZRgwWdCh1IkoSAy0KogA8WWNCbrNCZCPSpjVCPmSEKHf9N6r11p1MOmBxqRtXxh4aGJhmbTtyUd8ZsEh7AvrlgoqME5a83MDCA9vZ2CIVC+v3wRJS9hTPhodJRvWGZExMT43RYFBjfW7fd4li9evW0Wx4bNmywGxz1lKAQHm9CRTrzeDxkZWX5THSobI6wsDAkJiZ6XXRsh0KjoqIQExPj1ZOBbRNBeHi4R00Ejgjjc3Hfqmz85VgHrASJUN74/Mh0ez3UI1P3YwPITwzDpTkxONwkRxifA+KHHB2zlYCAN64oceF86IwWHGkcgIUYX9WMr5LGIchxr7Z5ieFYkBSOT5oUMJgJCHgcJEcIkCwKgUxtRHYSD5L8OGhGVOjp6QGHw4GaI8LedhMMBBuxYXwYLQQO1g2gb8SAh9fl0KubmDAekkUh6BkaQzZ/vG6v0IxBZzCDwwJC+Hza5ofHZUNrtIAEC6e71ai5oIGFILAkJRyX50YjLpzvUbs2BZfLtYt4dmRsamvl4+jx/en27A2cdbU58tejSpSUKEdHR9NC5ItqhTOcCY9erwdBEF7puA1m5ozw2LYAl5SU4OzZsz4xZrR9HrFYjL6+Pq8/j8ViQV1dHXQ6HZYvX46Ojg6vxl9PbCKoqqqyew22pTXqKtwd0VtTEIf0mFAca1GgWzmGz1rkDvZ57O1xbH/KAhAl5OGBK3Kh1Jog4LKRGiUACyzU9WnA47BgspCwWEnU92nAwvg+koDLRnZsKM6p9LT4ECQgDOHizsuysG5+PIrTRHjnmws/RAew0DtsQLiAg5uXZSA7MxbITAdBEBgZGcFLn3dAoRlDPN8KCzsEwpAQCCJ4aOhTo6l/FEvSxv2r2CwWVubEQK234KxiDLCa0HZejlAeG2BxoDeP592wWSwYLdYfVmQkDtTLf7gdONI8hFa5HvdenoEoAcdhuzb1364ylbGpbYvyRGPT2bzimQoej2cnyjqdblKJ0nY15IsKBsVUWTwAGHdqfzDTD7nBYIBUKgVBEHQLcFdXl9cnwR1FYA8MDHg1/tp2KHTFihXg8Xgue7W5AmXfY9tEYNtOPVF0PL3yzYsPQ158GN77thfHWuR0G/OPOP+bx4TxcP+aHFyaGwOF1oQDdQPoHR7PvAFJwmAmYCFI8H7IkCFJEmYLAYIcXwGFh3AxOGqEwTx+24KkcKybP94JdG1JCvITwvF5qwIXhg1IjxbgygXxKEyJpJ+fzWZDFBWNYasAafEhiBKwYTAYYTQaYDRqoDKy8X1zF9JCMxAdHQ02m4206FBcW5KMqvY+1LdfwNYlSahWsCC9oMaYhcCYadyaxkqQSIsOhfWH1FBqzyg+gkS3UoeqC1psXpzosF0b8Gx4lWIqY1PbFmVfXLD5Ek/meFgsFsLDwxEeHo7MzEw60sBRw0ZMTMykisBMmUp4OBxO0OxF+YqgEJ6ZQEVTx8bG2m28eyOF1Ba1Wo3a2lpERUVBIpHQJTxvpJBSKJVK1NXVITU11S6jx1vC48yJwDZe29UmAldRjBrB47JhMU39HoVyAEEIF5fnxeLRq/IQ9YNBZ0JECB64IgdvfNkDmdoI9g+lNA6bhTD++DGaLCR4HBYsJIkhrQlJIgEiBFwQJInzKgMuybXvMlycGonFqZGODoOGzQIiQ7noHzGAG85HeDgX4eFhMFus0Mi1COEATU1NsFgsiImJQVxc3LiflaoLv1i1CElJSbh01IhXK7vROqCF1mgBmwUsSo5EbnwoTncO2zUqcNkshHA5aBkYxebFiZPatW3/eWN4dSpjUwD4/vvv6ZXQdNEGgcYbA6QTIw10Oh1UKhWdRCsQCDxuX3fEVMIjFApnVanTE4JGeFxJIbXFNjZh3rx5yMjIsDtRelN4KNfn3NxcZGdnT4qOnunKiiRJnDt3ju4sS021t6mfqfBM50RgOyfkTdEBgNRoAbisHzJxHPw5qJVQUXoU7l2VDUmGaNJzl6SL8LefFqKpfxSqMTOeOdIOjcEMvXn8PeGyWUiNDoVMbYBcawKfO378aoMFSaIQXLUgYfITTwOLxcKq/Fi8+80FjIyZIQrlwkKQ6FUbkRYbjqtXFkAk4EKr1UKhUKCrqwtGoxGhoaHQarUYGRlBvEiEP2wqQLNsFCqdCQmR47k/e2v7HYbZWQjS4RzLRBEC4PXVEGVsmpCQALlcjoULF0KtVtPRBsEaew1437nAdjVENWxQAW9tbW0wmUyIioqya1939/1wJjzeikQIdoJGeNzBdpDSmaWLN4SHIAi0t7ejt7cXxcXFDge3OBwOjEYHYTJuPEdzczMUCoXTodCZCI8rTgTA+AeecqD1ykpHa8TXncMYUuvAZ1lhdBDgxmED5A8NATcvTUNpZtSkx+kZGsPxNgX6RoxIjQrBFQXxWJkbjTNdwxDyx+MNRKFchPLGYw9y44VQ/zD7c1luDG4oTUVatGebxmvnx6NfbcBXHSoM6UxgsVhIFoXgVyszEBU6vgIICwvDhQsXAAASiQRGo3E88O6HFNu4uDjEx8VhfvaPq4aiVNEPg6tGxIePr+zU+vEVkSRj8ntgy8S9Hm+vhqjPA+WSYBttYBt7TZ10Y2JifNbA4yq+tsyZuBqi2teVSiU6Ojrshnmni7u2PWZnK565HgIHzELhcdUHbabCYzKZ7OK2nX0YpnKnng6j0Yja2lp6b8rZa/F0VeWKEwFBEIiLi0N3dzd6e3sRGxuL+Ph4xMXFeezY/XmrAq980YWRMSMsFgs4XA4iQjkwac2wkqDbnFlggcMZjylYlPJjFw9BkvisRYH3v+9Fk0wLNguIEHDBY7NxrEWJKxfEo1mmBYc1Pv1uJUj0qw1IjAzBM1fPR6SACytJIow/s483n8PGL1dkYG1BPM4NjSGUz8GilAj6ca1WK+rr62EwGLB06VL670fFIajVaiiVSnR3d6OxsREikQjx8fFIiY3F1YWJONIkR4difIYilM/BFQVxKM2cPhzQlomrIVt3CU9WQ7auFBSBMDZ1Feoz7K/S1MT2ddth3vb2dhiNRrvVkFAodPh+WK1Wh+XLsbExp78zlwga4XGl1EbtgSQlJWHBggVTftg4HI7HJTCNRoPa2lpERkaipKRkyis6T1cj1J5RdHQ0CgsLp7xK8uQ5qPdqKicC6gSVkpKC1NRU6HQ6KBQKuxRNSoRskyOnol9twMtfdEI9ZkIo2wJhpABmsDFqsGBpVjSaZKNgscbLY1ZivLNta1ESkiJ/FN03vjyHPTX9GNKZQBAkWGwWiDEzcuPDoNab8V3PMG4qS8WBugHI1Aaw2SykRglwz+XZSHBzCn46WCwWsmKFyIq1XymaTCbU1taCw+GgtLR00knE1gA0Pz8fer0eSqUSSqUSnZ2diOTxcH1eNJTWSAiFYShIikBe/MxO2tT3YaKfHHVydmU15Eh4nL0uytiUWg1RxqaUn5yrV/8zgTpeXz+PM2yHeW3jroeGhtDV1QU+n28Xd02dS5hS2yyAJEl0d3ejs7PTqUX/RLhcrkclMJlMhsbGRmRnZyM3N3faE4EnKyvqORztGTnCXeHxNM6AqmtTm81KpRIKhQI9PT3gcrnjZaP4eMTExDj9ole2KTCsNSKCSyAsLAwcDgd8AHoTAYPZiofW5uKjmj4M6cyIEXJRUZyEm5b+eIznVXocqh/4wQFh3AiUBRIm6/iqJismFDK1EUvSRLhqYTzaBnXgc1hYlBLh0FUAALqUOtScV8NgIZATJ4QkQ+T0vq4wNjaGmpoaREZGorCw0KWr7dDQUKSnp9tZ3iiVSvAUMpgUJmitMeg1jp/AvDVP4mw1ZFuao+5HdTdOJzyOXldaWhrS0tLsjE3Pnj0Lg8Fg5xrg7c4w6nVRryHQOIq7nmj0Sq0OjUajw/fYW64FwU7QC49tNPXSpUvtsr+nwt1uM9uBzSVLlkzKspjqeVwVBZIkcfbsWZw/f97t53Cl8cKVOANXO9f4fL5deWV4eBgKhQJtbW0wGo2IiYmhV0NUiclsNqOt+wJIkkB4eJjdyYDHYWHUaMFPJSm4riQZowYLwkI4k0LIGvs1GDNbIRJwMaQbD2xjsVjgsIEx03g6KPVORAv5WJ49dTz1J02D+KCqH6MGy3gmD4uFJemR+O2aHISHuP/xp1aqycnJHsdR2F4lFxQUQKvVYkCuxMDAAD3kSf3cmdeY0WJF34hhfBA2MsSlixfquYHJ7trUZ9hkMgHwbJbHl8amzggm4ZmIo/eDmqNSq9XQ6XTQarV2e2Xe2uNRqVT4zW9+g0OHDtF2OX/729+mFLXVq1fj5MmTdrfdeeed2LFjB/3/58+fx913340TJ04gPDwct956K5577jm39/mCRnicqX9tbS34fD5WrlxJD7i5gjsrEbPZjLq6OoyNjbnt6+aqwFksFrssIHefYzpxczXOwB37G9vnp75AVKupQqGATCaj5z+io6Mhl8uREcEDn8+HmQBC2D8+t95sRVlWFIDxZoIooeP2XD6XDRZY4HPZ4HNYMFkJ8Dlset50eMyMrFghcuKnv3q+MKzHR9X9IEkSOXHjdXOD2Yrq82p82izHdSXuRUooFAo0NDQgNzcXmZmZbv2uM77pHsahhkH0DusRFSrAFfNSsCCRjWHVEOrq6kCSJGJjY2kh4vF4+KJNif1SGRRaE7hsFhYmR+C2FRlIjXJ99sPRashisUAmkyEkJIQuU3s6vAq4bmwqiopGn5aEfNSIUD4HaVECKLQmmKwEkiMFSBE5F1bbcL5gh3o/0tLS8N133yE2NhYEQaCrqwsnTpzAP/7xD4SGhiI6OnrGQ7w33XQTZDIZjh07BrPZjNtuuw2//vWvp7TQAYA77rgDzzzzjN0xU1itVmzatAlJSUn4+uuvIZPJcMstt4DH4+HZZ5916/iCRngmIpfLUV9fj/T0dOTn53tkHeKKIGi1WtTU1CAsLIwe2HQHV5oLqNJMSEgIli9f7paAAtMLj6tNBBNLK55g22pKleTOnz+Pnp4eAEC2kEBWBA8dIwaE8rjgctjQmSyIEHBxgyR16gcHUJo5no2j0pkRF87HgMYIg3l82j+Ux4EolIdtKzLGxWga6no10BgsyI79cbNWwOMglMfBV50qt4SHGrJctGjRjBNyKU6eHcJrJ7thNBMIF3DQpzbgX9/2QVWUhF+uLARJktBoNFAoFDh//jyam5vRaw7DgS4CbA4HceECWEgS3/UMQ6Uz4X+3LkAoz/1VBLWi7uzsxNDQEL2v6c12bWfGpuf6BnHkRAf6DRxweXyYSA7GLOPzWxEhXAhDOBCni7BhYfyk1TEAty+iggWCIOgmhPz8fGRmZuLChQt46623UFVVhbS0NGzYsAHl5eW47rrr3Hp9LS0tOHr0KL7//ns6+vrVV1/Fxo0b8eKLL06Z4SUUCp1+vj/77DM0Nzfj888/R2JiIoqLi/HHP/4Rjz76KP7whz+4dV4LuvUpVY6qq6vDokWLUFBQ4NEy2pUVz+DgIM6cOYOkpCSIxWKPhuSmW/EMDQ3hzJkziI2NhUQicVt0qOdwJjxKpRJnzpxBYmIixGKx0wwdb4iOI1QqFc6fP4958+bhiiuuwJLFhfjNsmisSCBAWgwwmYxYFB+C32/IRdE0Q5vAeKjbfauzIeRzoDNZEcrjgM/lICaMj+slKfjfrQtcjhOw0Eah9q+Xw2bB6Cju1AHUCbm9vR0lJSUeiY7OZMGJNiXe/74PR5vlGBkzw0IQ2FfbD5OFQEZMKGKEfKSIBAjnc3CsVYF+tQEsFgsikQh5eXlYvnw5LrvsMjSNhsBgtkJgHYNOMwyY9IgXstGlHEPVuRG3jw0YPwk2NDRgeHgYpaWliIiIAI/HQ0hICPh8Png8nl24osVigclkgsVi8aixhuoMy8jIwEhYGjT8WGQnRCFByMawZgyKER0GVBrE8q0I5bDwVacKtRc0To89GMts0zGxuSA5ORmPPPIIrrrqKtx3333YuXMnYmJi8N5777n9fT1z5gyioqJo0QGAdevWgc1m0+7TzvjPf/6DuLg4FBYWYvv27bRzNfW4ixcvtouXWb9+PTQaDZqamtw6xqBZ8bBYLDqamvIom4lR3lSCQJIkOjo60NPTg8WLF8/oCtbZisd2wNXVhghnOBMeT5sIvAHV8EG9h9SME1WSkyyeD7VmFAMKJUaHh6DursM3inB6XygyMtLp8awtiEduXBhOnh3CyJgZ2XFCrJkXhwiBex/XeQnh4HPZ0BjMtJu0lSChNZhxed70mUnUnplSqURZWZlHm759Iwb85VgHupW68WohCeyNlOEXy9MwoDEiekLJMUrIw3mVHt3KMaSI7EtnfD4fSgMbcaJwxIbxYDKbYTIaYRzTQasj8F1DOzL5qYiLi3N5I99qtaKurg4mkwllZWWTLowcleSo1fNMV0MmCwFprwbRQj5iI0MgU/PBDWUhIwJQjZnQp1IjDGZoLFwcrzdgXlT2JGPTuSI8FGNjY8jIyMDatWuxdu1ajx57YGBg0v4xl8tFTEwMBgYGnP7ez3/+c2RmZiIlJQX19fV49NFH0dbWhn379tGPOzHTjPr/qR7XEUEjPBqNBlVVVR6XvCbirNRG7bWMjo7OWNwAxysraihULpc73eR3h4nCQ50QBwYGpm0ioJyGvR2n0NzcDJVKhbKyMofvIYvFQpQoElGiSAA5MJvNdJfc+fPn6QwVqvV24pfQUQuzu8xPCseluTGo/EHAeBw2xkwWpEcLUb5o6sYOZzM67kCSJP515jw65FqkRYeCx2HDSpDoHdbj/e/7wGGP72HZQpmXOkviTBaFoHVAi7hwPkL44/9ChWHQkGNIixdBoVCgvb0doaGhdGmL8pObiNlspmfiSktLp90g9ka7ti0WYrxbkc8dv4/1h884j8cFl0ciJlaE5Ag+zis10OiNDo1NZ6vweDJA+thjj+H555+f8nFbWlo8PqZf//rX9H8vXrwYycnJWLt2LTo7O5Gbm+vx4zoiaIRHq9UiJSXFpRZmV3AkCJQBp0AgwIoVKzwqe01koihQRqJWq9VrwXC2z2HbRLB8+XKvNhG4AjVYa7VasWzZMpeHTHk8HpKTk+nhypGREfokSXXJUe3a3jJIZLNYuP3STMxLDMfXnSroTFYUpkRg3fx4JIucP8d0MzquIh81obF/FLFhfHp/gsNmITEyBIMaIxYkhaOuTwMhjwMBjwOLlYBMbUBWrBCLkh1fEF21IB7tg1oMaoyICePBbCUxoDEiI1aITWX5CA/h0pk8SqWS9pOzbVAICQmB0WikvwtFRUUedZjNdHg1lMdGerQAjf2jiArlQhjCBYfFwqjRihAuG5ECLlhsFszgYcX8BFxalIjR0VEolUo6lkQoFMJisUCj0bg8axZoqO+mM+FxtrJ++OGHsW3btikfOycnB0lJSZDL5Xa3U58Jd6o7VER2R0cHcnNzkZSURKcgUwwODgKA21WjoBGe1NRUl9uLXWGi8CgUCtTV1XncrOAMShQot9+amhpERUVh8eLFXhtqo57Dn00EjqC6DCMiIqYdep0KNpuNmJgYxMTEoKCggO6SGxwcRFtbG8LDw+mT5IiFh94RA0K4bBQkhU8KYJsOPoeNdfPjaXfq6fBkRscZevO4IzV3wuqFy2HDQhBYOz8OANA8MPrDMC2QFh2K+1Zn06uAiazKj4VqzIRD9YOQqY3gcliYnxiOOy/LpNvDJ2byUCdrajA4LCyMninxVHQm4ulqaHV+LC4MG9ChGEOkYNwCaUhnQmaMAAazFTL1uK1QaabIztg0JycHJpMJ586dg0wmg1QqBYvFsrPyCVZjU+r76a7wULY907FixQqMjIyguroaEokEAHD8+HEQBEGLiStIpVIA4/tP1OP+7//+L+RyOX2uPnbsGCIjI7Fw4UKXHxcIIuHxNtTeC0EQ6O7uRldXFxYtWjRlR4enzwOMD4U2NTUhJycHOTk5Xj3hU5Y5Z86cQXp6+rROBNTveBOVSoX6+nqkpqYiLy/Pq6+PsiChMmOUSiUG5Ar859tanFUDJIcPPp+HlJhw3FCa5lKTgid4Y0bHlpQoARIiQtA3ooeQ/+PKd1hngkjAQ3GaCJflxaKuV4PeET2iQ3mQZEZNOV/EYrFwbXEKrvjBxieEy0F+Qhg4bMfHOvFkPTw8TI8oqNVqfPnll7TIe9OF2tXh1azoENxSloxvetToUemxIjuKbiwxW0mUZYqwPDsaaVGTKwd8Ph8ikQhqtRpisRgajYb2k2tubg5aY1PbcMWJeCN9dMGCBdiwYQPuuOMO7NixA2azGffddx9uvPFG+vzX19eHtWvXYufOnVi6dCk6Ozuxa9cubNy4EbGxsaivr8eDDz6Iyy+/HEVFRQCAq666CgsXLsQvfvEL/OUvf8HAwACeeOIJ3HvvvW7ba81p4QHGVVuj0bg1fOoO1Ie5qanJraFQdxgcHITZbEZhYaHTJgJfldaAcXfulpYWFBQUzKhJwhWokly7lo9+kEiOJ8ElTBgbG0PHBS1eH1LhN5elISct0auJkb6Y0eFz2PipOBmvn+rBedUYhPzxGG82G/iJOBkxYeOl3tLMKIcGqVMRFcpDVJp7n2e1Wo26ujpkZmYiJycHJEnSfnJdXV1obGykzUHj4uK85rs23fBqelQI0osT6Puwxm0rYP0hc2kqqM88m81GVFQUoqKigt7Y1Gq1OrUr0ul0Xkkf/c9//oP77rsPa9eupQdI//73v9M/N5vNaGtro7vW+Hw+Pv/8c7zyyivQ6XRIT0/HddddhyeeeIL+HQ6Hg8OHD+Puu++m/StvvfVWu7kfV2GRQZL6RBAEzGaz1x5Pq9Xi9OnTiIqKglgs9sp+zkSoRgW5XI6ysjJ6Qtlb2DoRWK1WXHXVVZPu4+vOtc7OTly4cAFFRUVef31T8cKxDlxQ6ZER86O4GE0mtMo0uCIVSOdpERYWRjcoiEST4xRcxRczOrZUnRvBJ01ydCl1SBYJcOX8eKyeF+vXK/ChofGB1Ly8PGRkZDi8j62fnEqlAp/Pp99fX/muTVwN2Z6OXGlQ6O/vh1wuR3Fx8ZTPQRmbDg0NYWxsLKDGpqOjo6itrcXll19udztJksjPz8eBAwewYsUKvx1PIAiaFY83//CUQSYAFBYW+kR0qL0A6rG9nRho20RQUlKC77//ftJ9bMsW3hYdKnpCo9F43Eo8E0YNFoRM2OcI4fMhDA1FenYKVuVGYWhoCAqFgu7Msi0ZuXJFS5Ikurq6cP78eZSUlCAmZvoWa0/wZEXjTQYHB9HY2IiFCxfS9XpHTPSToxoUWlpaYDKZfNMAMs1qaLoGBVe62oLN2NRZKzUwfl5hvNpmGSRJoqenBx0dHViwYAFaW1t9EuOrUqnovYD58+fTG3fewtZNYfny5bBYLHSnEGXkSF0lAt5vIjAajbRwL1261CfCPR35CWE4dVaFhAg+/drGTFZwOSykiATg8XhISkpCUlISfUWrUCjQ2dmJhoYGu5Oko5KcN2Z0ZgN9fX1oa2tDUVGRSxvTFBwOZ1Iip1Lpnp+cJ0zcG5oua8iTdupAG5s6Ex6qgYjJ45lFWK1WNDY20rMlUVFROHv2rFfjr4Efhzbnz5+P9PR0AN6Pv5ZKpXZNBJSoUV8yXzYRaLVa1NbWQiQS2UWJ+5vL8mLRMqDFWYUOMUI+zFYCGoMFZVlRmJdo/8W0vaKl7FgUCgXdrk2dJOPj4yESiUAQxIxndGYDPT096O7uRklJyYxmyWxtkqgGECoIjfKTs11teutCxZXhVcqB3mq1emzl48zYtKOjw+uR19SxOhseJUnSK3s8wU7QCM9Mrthtw+FWrlxJd1h4M/6aIAi0tLRgcHAQEonEriwzkzA4W86dO4f29vZJ8dfUl4l6Lb5qIhgaGkJ9fT0yMjK83pnnLlmxQtx+SQZOtA2hU6FDZCgPa+fHY9W8WHCnObkIhUJkZmYiMzPT7iRJtYcC45upJSUlc1J0KGeOvr4+SCQSREZ6twvQdrVp26Bw7tw5NDU1ITIykt4b8lY3maOS3NDQEPr7+5GXlzfj5FUKV41NqchrT3AmPDqdDgDm7OrblqARHk9RqVSQSqVITEycFA7nLeGhBgotFovDodCZrnimcyKgXhPVfOEL0ent7UVbW9u0+wD+JCcuDDlxYTBZCXBYLKctw1Nhe5LU6XSoqqqi93+++uorREdH0yUlb3bJBQqSJNHS0oKhoSGUlZX5vGzDYrHobrK8vDwYDAa6QaG7u5vOcXLmUOEpw8PDaGhowLx585CSkmI3TuAsa2imxqY6nQ5DQ0OQy+U4e/YshEIhLULulBunWvFwuVyPk39nE0ElPK6kkFLYeqEVFBQ47NTxhvBQQ6GRkZGQSCQON61nsuKZzokA+DEbpbW1FYmJibQ9vjegcohkMhnEYvGM7X18gStO1NNBzeikpKQgPz8fLBYLY2NjtI1Pe3s7hEIhfaUeFRUVNHMfrkIQBBobG6HValFWVhaQ1ZxAIKD3T6gcJ6VSifb2dhgMBnrvzR0/uYkolUrU19dj/vz5dnN502UNzcRd27bcmJmZSTsBDA0NoampCVar1c7KZyrxcOZaoNVq/d5hFyiCSnhcxWq1orm5GQqFYkovtJkKz+DgIOrr66dNI/V0xTOxicCREwH1xSkrK4NcLkdPTw+ampq8cqVutVrR0NAAnU6HpUuX+mQjNRhwNqMjFAqRkZGBjIwMWCwWukuOaqzwxWClr7A1+ywtLQ1IQ8hEbHOcKIcKW6Gn/OTi4+MRFRXlkhjI5XI0NDRM2fo+1fDqxJKcp6uhie4QWq0WQ0NDkMlkdPMF9donGptOFXt9MTQWALNQeAwGA2prawEAK1eunPKqjsPh0O2Y7kDNr3R3d6OoqGiSI6uj53F3xeOoiWDiMdg2EURGRkIkEiE/P5/ePJfL5Whvb0d4eDgtQq76VRkMBkilUnC5XCxdutTrJ1aVzoQhnQlp0aEeZcR4C1dndLhcLhITE5GYmEjvWygUCnR3d6OxsRHR0dH0STLYBNpds89AQTlUUCsGau+toaEBVqt1kp/cRKi28MLCwmm/kxSuJq/OdDUUERGBiIgIuvmCWg05MjadqtR2MezvAEEmPNOV2oaHhyGVShEbG+tSx5UnKx6LxYKGhgZoNBqX3avdXfE4ayKgmG4odOLmOXUVee7cOXC5XFqEYmJiHH6JqAG22NjYSftiM2VkzIynDrfii1YlSIwbQd62IgP3rMoC248lBHdmdExWAueGxqDSmRHCZSMrTkjvW+Tn50Ov10OhUECpVNK1fdsuuUC6I1Nmn6GhoV71B/Q1E4V+op9cREQELUKRkZEYGBhAS0uL223hE3FnNeRpgwKPx3P42ihjUx6Ph9DQ0EnGpjqdDkKhcMalNndjr3t6epCdne3wZx999BGuv/56AI4bwN5//33ceOONbh9j0DgXAONXbs5WDhcuXEBrayvmzZuHjIwMl/44jY2NCAkJQX5+vkvPr9frUVNTAy6Xi5KSEpfLFVKpFCKRyOkfj8K2M85Zi+tMnAiomrpcLodCoYDFYqFPkNS+EFV2ys7ORlZWltedDm58qxrNslFYJ3yq7luVhXtWTf3+eAvbGR2xWDzlVaTOaMHRZjnOynWwECRIAHFhPFy5IAF58ZPLHrZX6gqFAsB4BlF8fLzfS3LUEHNUVBQWLlwYVPEAGoMZ3/WMoHVACz6XjcUpEZBkRrm0X2cymegGhaGhIQDj5amsrCxkZmb65D2mzju2qyHq1DiT1dBETCYTGhoa6FZwFouFmJgYVFVVYWxsDIcOHcKXX345o+coLy+HTCbDG2+8Qcdel5WVOY29tlqt9GeZ4s0338QLL7wAmUxGf39YLBb+9a9/YcOGDfT9oqKiPNpLDHrhoU7WAwMDKC4udsu2hcqmWLBgwbT3nao7bjrq6+shFAqRl5fn9D5UnIDRaIRYLHZYrvGmEwF1pUXNs2i1WggEAhgMBlq8vc33PcO4dafU4c/C+BycfuQShHB9PxVOzei40i79ZccQTrQPISs2FCHc8Qjo88N6RAv5uKkszWEuDoVtK7FCoYBOp0NUVBQt9L6s12u1WlRXVyMpKckrhqbeRK034/87fQ5tch0EXBasJECSwMqcaPy8LM2t7sQLFy6gvb0d8fHx0Gq1GBsbo/3kqLLnTF+7hSDQIR9D74gePA4bBYlhSAjn230f3bXymYqGhgaIRCKkpaVBo9Ggs7MTt99+O7q6uhAZGYnf/e532LhxI4qLi91+bS0tLVi4cKFd7PXRo0exceNG9Pb2umySXFJSArFYjLfeeou+jcViYf/+/aioqHDrmBwRdKU2W2yzbVauXOn2JjqHw4HJZJr2ftRqyll3nCvPM9UeD9VEEB4ePmUTgTedCGxdibOzs9HU1ASFQoGIiAi0t7ejt7cX8fHxSEhImDIN1B1aB3VgAXB0JaMzjVvczzTcbSoc5eio9WZoDBZEC3mTXJ/NVgItA6OIFnJpex4Wi4W0qFD0DI2hb0SP/ATnq6WJrcSU15lCocDZs2cRGhpq1yXnrRXJyMgIpFIpMjIykJ2dHVSiAwBnulRoG9QhJy6UNvkcNVjwbc8wJBlRWOgka2gi58+fR2dnp123pe173NnZiZCQELvAO3dLjUaLFbtr+lF7QQOzhQAJQBTKxabCRKzIGS/PepI1NBXUHg9lbCqRSFBbW4unnnoKJ0+eRHV1Nf785z/TQ/DurCimi72+5pprpn2M6upqSKVSvPbaa5N+du+99+L2229HTk4O7rrrLtx2220eff6CSnhsUavVqKmpQUxMjMfZL9Pt8diacE4cCnWHqfZ4XGkisJ07oLpsvAVlZGowGOgZJIvFQn95a2pq6DRQal/I032CpMgQh6IDjAegxYT5rgw1MUfHZCXx39p+fNczAr3ZijA+BytzYrB+UQJd7iFIEhYrCe6EK3A2a/wK3TyxXjgNtl5nVLstVdokCII+Qc6kHd4Vs89A0yzTQshn2zlLRwi4kGkM6FKOuSQ8lOuCWCy2c5V3xU+OEntXTtjf94zgu54RJIsECA/hgiRJyNRGfNwkR3acEEmRAq8nrzprLuDz+Vi8eDHeffddukLibhnL09hrW9566y0sWLAAK1eutLv9mWeewRVXXAGhUIjPPvsM99xzD7RaLe6//363jhEIUuHp6+tDc3Mz8vLyZrQPMZXwmEwmSKVSmEwmrFixYkadShwOx6GztjtNBN6oH09Er9dDKpUiJCQEZWVl9MmOy+Xa+ZxRaaBtbW0wGo30nkV8fLxbbbmr8mMRG8bD8JgZhM05m80CNi1KcDvEzVUczejsr+nD8VYFosN4iA/nQ22w4FDDeFri1UXj3W0hXA4yYkJR16tBtJBHf85UY2aEh3CRGOn5IN/EdluNRgOFQkG3w9uWi1wtyblq9hloOGwWCAcVfJIEXBnJoppCpnNdmOgnp9VqoVQqIZPJ0NraOskqydF5pPaCGiFcNr0apuLFz8p1aB/UISly8onf1awhZ+3aUzkXUJ8FPp+PsrIy+me+jr2m0Ov12LVrF5588slJP7O9raSkBDqdDi+88MLsFx5q6rq/vx8lJSWIi4ub0eM5Ex7boVCxWDzj9tOJKx7bJgJnc0a+jDMAxk/GUqkUCQkJKCgocCpqtmmg1HS2QqGgO3BEIhH95Z7uBMnnsvHGz5fg7vfrodD+WOKUZETh/5XP8+rro3A0o6PQGlF9bgRx4Xw680bwQ0v3110qrJ4XhwgBlz62vhEDzsrHECHgwGAeP2lcmheD2DDvzMKwWCyIRCKIRCJ6up/ae+vs7IRAIJh2nsVTs89AUJwWieaBUYyZrPQe2ZDOhLAQLuZNUbqkxhh6e3shkUjc8iyzbWnOzs6muz1trZJs27WpizCDhZhkwTSeBwSYXRiR8KRde6rYa2d/W3/FXu/ZswdjY2O45ZZbpr3vsmXL8Mc//hFGo3F2B8F1dnZiaGhoxisQCkfCI5fLUVdXh6ysLK8ladru8dg2ETiy1wF8LzqDg4NoampCbm6uyx2AgP10dnZ2NoxG46QTJCVCzib7FyZH4PPfrsDpDhXkWiMWJEVgcYprs0XuQtn8TJzRGdaZoTNZkRFtf7UqEnCh0JowojfTwpMsEuDa4mQ09GtwYViPyBAu5idHoCDRd/MUAoHArlxkO89CEAS94qROkN4y+/QXy7Kj0SbXovaCBlZifE9EyOfiygVxyIlz/L2m/OX6+/tRWlo643kWKlAwOTnZoZ+cSCRCXFwcMkVc9AyNIZEIoZsetEYLQjhspDtIPZ2O6dq1SZKkqyO2KyNgXHicdcb6K/b6rbfewpYtW1x6LqlUiujoaI8sfoJKeLKzs5Genu61AThb4aHmOrq6urB48WKvBn5RKx5Xmwh8laFDxUJ0d3dj8eLFM74yDgkJsbOPdzTZn5CQMCnRkcdhY02BZ6tVlc6E1gEtWKxxEROFTi7PTTejIwrlIZTHhtZoRZTwx6vZUaMFoTwOIgX2f5f4iBBcURCYVQSHw5lUkrM9QfL5fDp9NioqKiDH6C4CHgfbVmSgLHMU3UM68DhszE8MR168YzsYyraJqhB4uxtwKj85vkoFrp6Nms5RxEaEgs3lw0yQWJ4djVwH7fTuMHE1ZLVa0dLSAg6HQ++1UsfHZrO9EongSew1RUdHB06dOoWPP/540uMeOnQIg4ODWL58OQQCAY4dO4Znn30WjzzyiEfHGVTC4+3+fEp4KGuYkZERLFu2zOtuvRwOBwaDAd98843LTQTeFh2qvDc0NITS0lKfvEbbEyS1L0RlmLi7qTsRkiTxaYsCe2v6MTxmBlhAbBgfPytNxep5P4qY7et0lqOTEMHHkjQRTneMz4CEh3CgMVgwrDNjw6IEh2IWDNiW5HJyctDY2AilUgmRSETPpNkmggbT3M5E+Bw2StJFKEmfOp6bJEl65qq0tNQvrhC2fnJFBIGFvXJUtvSjRTYKkBZIUsKxNC4SJqPBa8axlLiOjIygrKwMfL59u7bJZEJNTc2UIxmu4m7sNcXbb7+NtLQ0h0nHPB4Pr732Gh588EGQJIm8vDz89a9/xR133OHRMQbVHI+346+Hh4dRW1sLgUAADoeD4uJinzi/1tfXo7+/H4sXL56yicBXGTpmsxl1dXWwWCwoLi72uzkktS+kUCigVqsRERFBlwZctcVv6NPgL8c6AADx4eN/owGNAXwOG/+vfB7yE8LcmtHRGi3YWytDXa8aejOBMD4HkswoVCxJCqiFjyvYmn2KxWIIBAK6g4t6n6mSHLVnEQzebO5CkiSam5sxPDwMiUQScHdwkiRp41ilUonh4WHapWImLfGU6MjlcpSWlk56nRaLBffccw8qKyvx4Ycf4pJLLvHWSwpa5rTw9PX1oaGhAWlpaT6Z7KauvmUyGfh8/qQMdcD3+zljY2Oora1FWFgYCgsLA+7TRU2dy+VyDA0N0Vfp0xlBvvFlDz5rUSAn7sdSA0mS6Boaw7XFSfhpcSI9o7NkyRKXVsckSUI+Or6nExPGowUtmLE1+xSLxQ4FxdFwMLVnQTWBBNtsz0QIgqCj1SUSSVDmItm6VCiVShAEQa/sp3OgpiBJEmfPnqUjTyau6AiCwP33349Tp07hxIkTdLjkXGfOCk9vby+am5tBEATWr1/v9S+ibTt2VlYWenp6cOmll9rdx3al4+35HGB8RVdXV4fk5OSgm14H4PAqnTo5TrSXefboWdT3aZAebX812DM0hhVZkVgaKqdndIK5xDQTbM0+i4uLXb6IoPYsFAoFVCoVPVQZHx8flCU52xWdRCKZFfkztvtvSqUSGo0GkZGRdn5yjsrrHR0dkMlkTkXnkUcewaeffooTJ04gKyvLj68osATVHo83TpwEQaCtrY0ufVHRvN48Kds2EYjFYqjVarvuOV83EQCATCZDc3Mz5s2bF7RXSRPnLKhZFlvHZ+rnOXGhqDo/AoIkaTNRK0HCbLHArOpDQkkqPaMzF5mJ2aftnoWt2Dc1NcFisdh1yQW6JEfFjuv1+qCJb3AF2/233NxcGI1Gutnm/PnzYLPZdjEaXC4XXV1ddJeeI9HZvn07jhw5gsrKyotKdIAgE56ZMrGVmfpQW61Wr131OXIisG2n9nUTgW1Hl7vedYFk4izLxGiHSK4QkRwWOuWjiI8QgAQgV+sRDj3Ki7Mwb15OoF+Cz/Cm2edEsadKchcuXEBzczMdSx2Ikhy1R0dlBgV7xtFUhISEICUlBSkpKfQQtlKpRGdnJxoaGiAQCGA0GlFUVORQdP7whz9g7969OHHiBHJzcwP0KgLHnBEeR63MVBXRarXO+ENum3g60YmA6p7zdRMBFYBHdcbM5uwOR9EOLJ4Mh1tG0K/Sg8PhIEtgxq2X5qGoIHP6B5yl+NLs09avj7pKp+Idurq6wOfzaRHydUnOarXSvotisXhWi85EJg5ht7e348KFC4iMjER9fT1CQkJo37X169fj5ZdfxnvvvYcTJ06goKAg0IcfEIJKeDz90snlctTX1yMzM9NuKJTqj59p/PV0TgTUc/iyiYDaUwKApUuXzoq6uKvYDvtducyC76RNUCoViBRwoe7rRL1RbTdQOVcYGRlBbW0tMjMz/WL2OXEua3h42C8lOYvFAqlUCpIkveIUEsz09PSgv78fS5cuRUREBF36rK2txQMPPICRkRGwWCw89thjdh50FxtB1VwAjJ9gXT0kkiTR3d2Nzs5OFBYWOvSv+uKLL1BWVubxXAt1wjebzRCLxQ5bPvV6PU6ePImCggIkJCR4vUNHq9VCKpUiMjLSpQC82YrtjI5YLEZYWNik7i0qdmCqJFArQUJrtEDAY/s8hsFTKLPP/Pz8gO/RUT5n1GqI2jinRMjVlnhHUA0T1DjDXP3sAj+6aTvymCNJEq+88gqef/553HLLLZBKpfjmm29QVlaGr776KugaQHzNrBUeq9WKxsZGDA8Po6SkxOnVQ2VlJZYsWeKR1Yht+a6oqMjhlRplhXH+/HnI5XL6S5uQkOCWAaQzhoaGUF9fj/T0dOTm5s7ZzXVXZnRsLfFVKhWEQqFdtAMAVJ9X40SbEoOjRoTyOFiWHYV18+Npr7ZgINjNPo1Go10QG4/Hs+uSc1U8zGYzampqwOPxsGTJkjktOhcuXEBHR8ckN21gXHT+7//+D3/605/w6aef0tY11Hd7zZo1gTjkgDIrhcdgMNB2/iUlJVOWnb788kssWLDAbcNRT+MMbP3NhoaGJp0c3REOyotswYIFLgc4zUZsc3RcndGxjXZQKpVgs9lQQIRj561gc7iIDuPDYLZCY7Dg8rxY/GJZWlCIdm9vL9rb271iaeQPqJIc9V6bzWY7lwpn3z1qEl8gEKCoqGhOX9H39vbi7NmzKCkpmWRrRJIk3nrrLTz55JP4+OOPL4rhUFcIOuGZKv4a+LEuHh8f71IH0Ndff43c3FwkJia69PxTNRHY3seVJgJqAE0ul0OpVNIdRwkJCVNu5lJDZ/39/SgqKvI4J2g2MDFHx5MTFEEQGFIN46UvOtGjHENcCIHQUAFCQ4Uws3jQW0g8tDYXGTGBnYynfPSKi4tnhdnnRGyjBxQKBTQajUOXCqPRiOrqaoSHh8/puSvgR9dwRwauJEnivffew+9+9zscOnQIq1evDsxBBiGzapePyumhoptduYKdLgzOFlfjDFydz+FyuUhMTERiYiIIgsDw8DDkcjkaGxvpYcqEhAS67x/4sYQ4OjqKsrIyn8YnBxpHOTqewGazwQuLhIUbhpy0cIRxgTG9HqPaUZiMJihMPNS1cxC7OCMg7yc1SNjX1zdtxowvGBkzQz5qRJSQh4QIz5tSJkYPUC4VVM4Qj8dDdHQ0VCoVoqKi5rzo9Pf3o62tzeGFBEmSeP/99/HII4/g4MGDjOhMYFaseAiCQHt7O/r6+rBkyRK3ymZVVVVITEycdgPXlSYCb9nfUMOUcrkcCoUCer0eMTExiI6OhkwmA5fLxZIlS2bNcJ0nUDk63krSNFqs+OPHZzFmstiFd40ZzTin0GBLDhuRVo1L0Q7ehMqYsm2Y8BcmC4F9UhlOd6igNVkg4I4bd/6sLNXroXwEQWBgYACtra0Axl835SUXHx8/p7owgfEB7paWFixZssThLN2ePXtwzz33YPfu3SgvLw/AEQY3Qb/ioQww9Xo9li9f7vYX15UVz0QnAmdNBN5yIrAdpszPz4dOp6M3J0mShEgkQn9/PxISEvzi1utvqL2rwsJCl0ug0xHC5WB5dhQO1A0glGdGpIALo4VAr9qIgtQYbL4sF2yQDqMdKAsfb7f52lrDlJWV+d2P7FDDAA41DCAqlIfkyBDoTFZUnh2C2Uri3lWeJ/s6wmg0orOzE0lJSZg/fz49INzf34/W1lZERETQ73VEhG/ymfzF4ODglKJz8OBB3H333Xj//fcZ0XFC0AmP7QeSEoSwsDCsWLHCoxPDdMLjShMBtdIBvO9EAIzvc/T39yMnJwcpKSl0c0JHRwfCwsLofaHZ/oWdLkdnpizLisa33cNolI3CSpCIFvKwICkCv1iWBt4PmcuOoh06OjrQ2Ng442gHWyizT7PZHBBrGJ3RglNnVYgI4SIufPy5+Vw22Cygvk+DC8MGr+156XQ6VFdX02m3EwMFbUty586dA5fLpUUoJiZmVnW7UaXyoqIih6Jz5MgR3H777di5cye2bNkSgCOcHQSd8FBQV6XOBMFVnAmPJ00EvjD6PH/+PDo6OrBw4UI6nI5KpzSbzXRzQlVVFXg8Hi1Cnlq0BwpXcnRmgmLUiP871YNzw3qEcNkw/hBhvTw7GqkOkiRZLBaio6MRHR1tF/ktk8noK3R3ox0obM0+JRJJQAYmR/QW6EwWRAvtS2oRAi6UWj1UOpNXhIdyXkhOTna6T8fn8+3sZajB1ba2NhiNRq8Kvi+hysPO4sePHTuG2267DW+99Rauu+66ABzh7CHohIcaCu3o6MCiRYtm3EbsSHi83UTgCdS+1cDAAMRiscN0SR6Ph6SkJCQlJYEgCKhUKsjlcjoimRKh2NjYoL5qtFgsqK+vh9FoxNKlS31ycvm4SY6zch1y44XgctggSRJ9IwYcqh9EcZoIUcKp9zTCwsIQFhaGrKwsu2iH7u5ul6MdgJmZfXqTqFAuwvhcjBosEPJ/PAbq/2PDZ74CGx0dRXV1NdLS0lyeMWOz2YiNjUVsbCxIkpwk+OHh4fR7HUwrfKVSifr6ehQWFjoUncrKStx00014/fXXccMNNwTgCGcXQddc0Nraip6eHoeDWJ5w9uxZGI1GFBYWAvBvE4EzLBYLGhoaoNfrUVJS4nYAFpUhL5fLIZfLYTQaabuT+Pj4oGpK8GRGx10MZiseP9gCK0naZe5YCRLdQ2O467IsLM/2rH3ZnWgHb5p9eoO9tf3YJ5VBJOBCFMqDzmSFQmvCpbkxuOfyme3xaDQa1NTUICMjAzk53jFwNZlM9B7c0NAQOBxOUJTkKJcJ26qELadPn8Z1112Hl19+Gb/61a+CRiyDmaATHp1OB4vF4rWr4q6uLmg0GhQXF7vsRODLlY7BYEBtbS34fD6Kioq8Yl5KXTXK5XKMjo7StjIJCQkBTXX0xoyOS89jGhceFmB3JU+QJDoVOtx5WRZW5sx8P8k22kGhUECn09HRDkKhEE1NTT4x+/SUyV1tHEgyInFjaRoiBJ4XO9RqNWpqapCdne0zO3/K8Zl6r6mSHCVE/irJqVQqSKVSLFiwwKHLxDfffINrrrkGzz77LO65556g+LvPBoJOeKxWKywWi9ce79y5cxgaGkJGRoZbTQS+2M9Rq9WQSqWIj4/H/PnzfXIiNhgMtAgNDw8jLCyM3lCfieeWu3hrRsdV3viyB6c7VciPDwObPf5cgxojWCzgyfJ5iJ/B/IozqM4tmUyG0dFR8Pl8pKamBl0jyMiYGQqtEaLQmc3xAOPhg1KpFLm5uV5pg3cFKpLaNl49PDycFiF3HUFchRKd+fPnOyz5V1dX4+qrr8bTTz+N+++/P2j+3rOBoBMeb8dfX7hwAd3d3TAajQFtIqC6YXJycpCZmemXDykVN0DFUPN4PNpDzpfNCd6e0XGF8yo9/u9UD3pH9AjlcWCyEgjhsFGxJAnlhd5p2XYEVYbJyclBSEgIbeHD5XLp0mdMTEzAy27egDoRz5s3D2lpaQE7DupzTZXkqBA2qvzpjZLc8PAwamtrUVBQ4PCcUVdXh02bNmH79u145JFHGNFxkzktPARBoLq6GiqVCkuXLnXaREDt51AxCt6EJEmcO3cOXV1dKCwsREJCglcf31WovQpqaBUAfWL0ZnOCL2Z0XGVQY8SZLhW6lGOIDOWiLDMKRam+uRoGnJt92rpUKBQKWCwW+sQ4W6MdKIF1diIOFLYlOaVSCYPBYJds60lJjrLlys/PdyiwjY2N2LhxIx544AH8v//3/xjR8YA5KzxUE4FerweLxcLll18+6T6+biIgCAKtra1QKBQoKSnxu1WKM6gZFurEaDQa6RNjfHy8RyfGicmos9GLzB1cNfu0TQF1J9ohmKBWsM72OYIJar9TqVRiZGSEnoNztSRH7V/l5eU5dDtpaWnBxo0bceedd+Lpp59mRMdDgk54SJKEyWSa0WPYNhGkpaWhpaUFq1atmvQ8vhQds9lMx/w6s/kPBmyzWORyOX1ipEpyrjQnUO3pKpUKJSUlszoZ1RW6u7vR09PjkcBOF+0QbCcyqn0/ECvYmUKV5Kh/tiW5mJiYSc1FGo0G1dXVTvevzp49iw0bNuCWW27Bc889NyfKp4FizgnPRCcCapObyrzwRxPB2NgYpFIpPcsxmxIX9Xo9LUIjIyMIDw+nmxPCwsImvVe2MzrBLLDewNbsUywWz3gF6yjawXZfKNCzWQMDA2hqasLixYsDViL2FlRJjnq/KX9EqvxpsVhQXV2NrKwsh516XV1dKC8vx09+8hO89NJLjOjMkDkjPM6cCEZHR/HNN9/gyiuvdJqh401GRkYglUqRnJwcNG21nmJrdaJUKhESEmLXnGCbLumrGZ1gwddmn47ahwM5m0V5rBUVFbmdZTUb0Ol09Gd7ZGQEJEkiOjoaeXl5EIlEdt/bc+fOYcOGDdi8eTNeffVVn4rOc889h3379qG1tRWhoaFYuXIlnn/+eRQUFEz5e7t378aTTz6Jnp4e5Ofn4/nnn8fGjRt9dpwzZU4Ij60TwcRcjLGxMZw6dQpXXXUVCIKYNkNnJshkMjq2IdBxxt7GarXSw31UcwJBEIiIiEBxcfGcFh1bs0+xWOzzVZ2j2SyRSESLkK8drqmMGWcmmHMJrVaLqqoqOh9LqVSCxWJhYGAABoMBS5cuxU9/+lOsW7cOO3bs8PlKZ8OGDbjxxhtRVlYGi8WCxx9/HI2NjWhubnb6d//6669x+eWX47nnnsPmzZuxa9cuPP/886ipqaEH54ONoBMeYNx2xFWmcyIwGo04ceIE1qxZQ3eteXsVYruxvnjx4jl5hWjLyMgIampqIBQKYTabYTabERsbi4SEhFnbteUMi8WCuro6WCwWlJSUBMQVwjbVVqVS+TTa4cKFC3Sa5lxvENHpdKiqqkJqairy8vIAjF9kqNVq/Pvf/8arr76Kvr4+JCcn49FHH8XWrVt9NjDrDIVCgYSEBJw8edJhgxQA3HDDDdDpdDh8+DB92/Lly1FcXIwdO3b461DdIig3H1gs1rTx14BrcQZUnZyybPd2ZxlBEGhubsbw8DBKS0sRERHh1ccPNibO6FDNCXK5HD09PWhqakJ0dDRdkpvNez7BYPYJACEhIUhLS0NaWprdytPb0Q5U278z78C5xNjYGKqrq5GSkoLc3Fz6djabjejoaNxwww149913UVxcjDVr1uDQoUP43e9+hzvvvBOvvvqq345TrVYDwJRO7mfOnMFDDz1kd9v69etx4MABXx7ajAjKFY/JZJpWeFyNMyAIAgqFAgMDA1AqlfQQZWJi4qRarifHWVdXB4IgUFxcPOfCriZCtRAvWrTIaYeTXq+nPeTUajUiIiJoEXLUnBCsBIvZ51TYRjsoFAoYDAaPnZ6pTj1veSQGM3q9ng6IdOSqMTQ0hE2bNmHevHl4//336RW8Wq2GSqVCdna2X46TIAhs2bIFIyMjOH36tNP78fl8vPvuu/jZz35G3/b666/j6aefxuDgoD8O1W2CcsUzFdRA5tmzZ6d0IrBtIqDaVW2HKKVSKVgsFt2xRdV4XUWn06G2thYREREoLCwMyhOTtyBJEp2dnbhw4cK0JZjQ0FBkZmYiMzMTJpOJPil2dXVBIBDQIjRT0fcllMdcdHQ0FixYELQdTN6IdqDKxBcuXLgoVuyU6CQkJDgUneHhYWzduhXZ2dnYtWuXXdmYCm/0F/feey8aGxunFJ3ZSlAKj7NSG1XWksvlU8YZ2Nrf2J40OBwO/UWkuojkcjmamppgtVpdjhlQqVSoq6tDWloa8vLygvYE6g1sZ3TczdGhvMtSU1NhtVrpLiKqfEW938FkKTM6OoqampqgMvt0FXejHaj28P7+fpSWls75+SuDwYDq6mrExcU5/Nuq1Wpcc801SExMxEcffRRQl/f77rsPhw8fxqlTp6a1J0pKSpq0shkcHHTopB0sBGWpzWw206sVCl/GGUyMGTCZTIiNjUViYiLi4uLs6uZ9fX1obW3F/Pnzg8o6xBf4akbHVvQVCgXMZjPi4uJo0Q9UcwJllZKZmYns7OxZJTpT4SzawWw2Y3R0FKWlpT7vlAs0BoMBVVVViImJwYIFCyb9bUdHR3HNNddAKBTi0KFDAXN1J0kSv/nNb7B//35UVlYiPz9/2t+54YYbMDY2hkOHDtG3rVy5EkVFRUHbXDArhMeVOAOSJGlX65nM59hulsvlcuh0OnqeQqvVQiaTYcmSJV6PbQ42jEYjamtrweVyfTqjQ1nKUCKk0+kQExNDl+T8tW9GeZHl5+fPuVZ4W6iLrNbWVmi1WgCw8zYLZIyGrzAajaiqqqJzkiaeG3Q6Ha677jqw2WwcOXIkoCJ8zz33YNeuXTh48KDd7I5IJKL/NrfccgtSU1Px3HPPARhvp161ahX+/Oc/Y9OmTfjggw/w7LPPMu3U7mKxWGhnAap7JyMjw2FN1raJwBf2NzqdDoODgzh37hwsFgsiIyORnJyMhISEWd2xNRXU/pVIJMKiRYv8WgYbGxujRUitViMyMpIuyfnqhODM7HMuQg3CqlQqSCQSkCRJr4Qop4pgTAD1FJPJhKqqKkRGRmLRokWTXo9er8f1118Pk8mETz75JOB7XM7e73/961/Ytm0bAGD16tXIysrCO++8Q/989+7deOKJJ+gB0r/85S/MAKm7WCwWWCwWt5sIfOFEYDQaIZVKwWazUVBQQJeIRkZGEBkZSTcnzAazR1fwd47OVNjOrwwNDfnE18xVs8+5AEmSaGpqglqthkQimXThZBs3MBeiHUwmE6qrqxEeHo7CwsJJnxeDwYCf/exnUKvV+PTTT+d8N18wEZTCYzKZ0NDQALlc7rSLaqomAm+h1WpRW1uLqKioSVf+JpOJLsepVKqABa55k0Dk6LiKxWLB0NAQ5HI5lEol3SjiSUcixUzMPmcbtu4LEolk2hLmbI92MJvNqK6uhlAodJh+azKZcPPNN0Mmk+Hzzz+f83//YCMohae+vh5KpXLKJgKCIGC1Wn3iRACMzwk1NDTQmfJTPYdt4BrlaZaYmBi0jsOOCGSOjrtMPClarVa75oTphihtu7mCKa7CVxAEgYaGBoyNjUEikbjdrTXboh0o0aFmsCaKjtlsxrZt29DV1YUvvvhizjuNBCNBKTx6vR4EQThtIvBlnAEwbhtCmY26W/OnJsupkyKHw6FXQr5M/fQU2xmd2XjlT5IkNBoN/X6PjY3ZmWtOvLL3tdlnsGG1WunORLFY7JUWYWfRDsEwn2U2m1FTUwM+n48lS5ZM+r5ZLBbcfvvtaGpqwokTJ2a96/ZsJSiFx2q10h1qtlD7Ob4SHZIk0d7eDplMhuLi4hnbhlBX5oODg1AoFCBJ0m5WKNAiNBdzdGzNNTUaDW2uSTWDNDQ0QKfT+cXsM9BYrVY7nzlflMeCKdrBYrGgpqYGXC4XxcXFk75fVqsVd999N77//ntUVlbO+UaSYGZWCI8/MnQsFgsaGhqg1+tRXFzs9fKBbeqnXC6H2Wy2EyF/+4BdDDk6VHMCtQ/HZrPB4XBQWFiImJiYWVEC9RSr1Yra2lqQJImSkhK/fL4CGe1gtVpRU1MDNpuN4uLiSYJHEAR+85vf4Msvv8SJEyfmdMv8bCAohcc2/tofTQQGgwFSqRQ8Hg9FRUU+3zi1nV0ZHByEwWCg3Z09jZ52B2pGx1+vN9BQ5Rer1YqwsDAMDQ2By+XS77enzQnBisViQW1tLVgsFkpKSgJi5+Qo2oHqAvV2tAMlsgAcvl6CIPDwww/js88+w4kTJ/zuMM0wmaAWHn80EWg0GkilUsTGxgbMl8t2YFWr1dLuzgkJCV4foAzkjE4gMBgMqK2ttTP7JAiC9uyjJvmpq/K4uLhZ7btHOWpTg7/B8lp8Fe1gtVohlUpBEATEYrFD0dm+fTsOHDiAyspKOydqhsARtMJjMpl83kQgl8vR2NiInJwcZGZmBkXpZaK7s0gkokVoplPlwTSj4w9cMfukJvmpK3PK4Zm6Mg+kX5e7mEwm1NTUICQkBEVFRUEjOhNxFCroSbQDtYdltVodlhMJgsDvf/97vP/++6isrMS8efO8/loYPCMohaeyshI8Hg+FhYXgcrk+aSI4f/48Ojs7p7T4DzRGo5EWoeHhYYSHh9vNCrlDMM/o+AJPzD6dJX96S/h9CTUsKRQKHbYQByueRjsQBIG6ujrau3Gi6JAkif/93//FW2+9hRMnTmDhwoX+eDkMLhKUwvPkk0/i5ZdfRkJCArZs2YJrrrkGEonEK18mgiDQ2toKhUKB4uLiWTOtbDab6RPi0NAQQkND6RPidNYmruTozCW8ZfZpMBjo93x4eDhoh4SNRqPdhP5sER1HUMJPWSY5inYgCMKuRXziHiVJknjhhRfwj3/8A8ePH0dRUVGAXg2DM4JSeIDxD+Ann3yCffv24ciRIxCJRNiyZQsqKiqwbNkyj8oIZrMZDQ0NMBqNKC4uDuor2KmgpvgHBwftwu2oWSHqhDjbZ3Q8QalUor6+3utmnxPtZKj33DZmIBBQVv/Unl2wiKE3sI12GBoaQkhICOLi4jA6OgqLxYLS0lKHovO3v/0NL774Io4dOwaJROLTYzx16hReeOEFVFdXQyaTYf/+/aioqHB6/8rKSqxZs2bS7TKZLKhjDLxN0AqPLXq9HseOHcPevXtx6NAhCAQCXH311aioqMAll1ziUk1Yr9ejtrYWAoHAqcP1bMQ23E6hUIDFYtFXiIODgxgeHp4zMzrTMTAwgKamJp+bfdrGDMjlcgCg3/Ppspy8iV6vR3V1tVOr/7kEtS/U3t4Og8EADodjty/E4/FAkiRef/11PPvss/j000+xdOlSnx/XJ598gq+++goSiQTXXnuty8LT1tZm55iRkJAwq1eq7jIrhMcWk8mE48ePY8+ePTh48CBYLBY2bdqEa665BpdffrnDzeCRkRHU1dUhMTER8+bNm7N/YGqOYmBgAP39/SBJEgkJCUhOTvbrCTEQBMrsc2KWEzW7kpCQgLi4OJ81J4yNjaG6uhrx8fEoKCiY06IDjL/PjY2NGB0dhUQiocugCoUCb775Jrq6upCQkIBTp07h6NGjuOSSS/x+jCwWy2XhGR4envGA+mxm1gmPLRaLBSdPnsTu3btx8OBBGI1GbNq0CRUVFVizZg0EAgHeffddhIaGYvny5RfFprptjk52djZt32M0Gmk/s/j4+Dmz4gOCx+yTak6wbY2Pioqi33NvlXZ1Oh2qq6vpC6mLQXSampqg0WgcGpy2trbiySefxNGjR8FisbB48WJs2bIF1113nV/3d9wRnszMTBiNRhQWFuIPf/hDQIQykMxq4bHFarXi9OnT2Lt3L/bv3w+1Wo3U1FR0dXXhzTffxPXXXx/oQ/Q5zmZ0nIXbzcaWYVtIksTZs2chk8kgFosDnqUyEb1eT1+V23Yl2m6Uu4tWq0V1dTVSU1ORm5t7UYhOc3MzRkZGUFpa6tB77/3338cDDzyAgwcPQiwW4+OPP8Z///tf5OTk0GFp/sAV4Wlra0NlZSVKS0thNBrxz3/+E++99x6+/fZbiMVivx1roJkzwmOLwWDAtddeiy+//BIREREYHR3FVVddhYqKCqxfv35O7neMjIxAKpW6NKMz0c+MuiqfTeF21AlJpVLNCrNPqiuRak4ICQmhLZNcHaAcHR1FdXU10tPTp3VMnwuQJInW1lYMDQ2htLTU4Wdzz549uOeee7B7926Ul5cH4Ch/xBXhccSqVauQkZGB9957zzcHFoTMnXrLD5jNZpSXl2N0dBRtbW1ISkpCTU0N9uzZgz/+8Y+48847sW7dOmzduhUbN26cNbEFU+HujE5YWBjCwsKQlZUFg8FAr4Ta29sRERFBi1Cwnswpm3+dToeysrJZIZY8Hg8pKSlISUmxG6Csq6sDAFqEnBlrqtVq1NTUICsrC9nZ2f4+fL9DkiTa2tqgVCqdis7Bgwdx99134/333w+46MyEpUuX4vTp04E+DL8yJ1c8u3btwtatWyedOKkwrN27d2Pfvn3o6OjA2rVrsWXLFmzevBnR0dGzToS8maNjMpnsZoWCcW7FYrHYOS7P1jIhBUEQds0JZrPZrjmBx+PRc0mUw8Zch3KJl8vlKC0tdbg3duTIEWzbtg07d+7EddddF4CjnIynK54rr7wSERER2Ldvn28OLAiZk8LjClQuy549e7B//340NTXh8ssvR0VFBa6++mrExcUFxYnWGb6e0XEUbkeJUKAyVygfMg6HgyVLlsypBgnAfi+OClwLDw+HVqtFTk4OcnJyAn2IPocK6ZPJZCgtLXXoEv/ZZ5/h5ptvxj//+U/ceOONATjKH9Fqtejo6AAwblD617/+FWvWrEFMTAwyMjKwfft29PX1YefOnQCAV155BdnZ2Vi0aBEMBgP++c9/4tVXX8Vnn32GtWvXBvKl+JWLVnhsoT7slAjV1tZi5cqVqKiowJYtW5CUlBRUIuTvHJ1gCLczGAyoqamhLWHmcms4RX9/P5qbmxEaGgq9Xk+XQSl352D6THoD6mKqr68PpaWlDku9J06cwA033IDXX38dv/jFLwL+HjgbCL311lvxzjvvYNu2bejp6UFlZSUA4C9/+QvefPNN9PX1QSgUoqioCE899ZTDx5jLMMIzAZIkce7cOezduxf79u3Dt99+i2XLlmHr1q3YunUr0tLSAvphD3SOTiDC7aiZFWpQcq7OYdlCOTDMnz8fKSkpk6b4KXfnQK5AvU1nZyd6e3udis6XX36Jn/zkJ3jllVfwy1/+ck685osVRnimgCRJ9PX1Yd++fdi7dy++/vprlJSUoKKiAlu3bkVWVpZfP/zBlqPjKNwuLi4OiYmJXgu388Tsc7Yjl8vR0NCARYsWObRRmbgCpVI/qeaE2SjMXV1dOH/+PEpLSx2u4M+cOYNrrrkGf/7zn3H33XdfFJ+DuQwjPC5CkiQGBwexf/9+7N27FydPnkRhYSG2bt2KiooKn8cMBHuOjm24nVwuh16vn3G4HbWpnpWV5XeRDxSDg4NobGzE4sWLkZCQMO39KbcKSoQo8afcnQN9ceIKPT096OnpgUQicTiLVVVVhS1btuDpp5/G/ffff1F8DuY6jPB4AEmSGBoawsGDB7F371588cUXmDdvHu2k7W3fLGpGJzU1FXl5ebPii6fVaqFQKDA4OOhRuJ2vzD6DGZlMhpaWFo9tf2zFX6FQQKfT0RED8fHxQdl2fu7cOXR1daG0tNSh6EilUmzatAmPP/44HnnkkVnx2WeYHkZ4ZghVbvrvf/+Lffv24bPPPkNGRga2bt2Ka665ZsbZKHMhR8fdcDt/mX0GE319fWhra8OSJUsQGxvrlcccGxujRUitViMyMpIuyQXDjBaViSWRSOwMMykaGxtRXl6Ohx56CI8//jgjOnMIRni8jEajweHDh7Fv3z4cPXoUCQkJdDnO3UyhuZijQ0Ugy+VyqFQqu3C7sLAw9PX1BcTsM5BQf+fi4mLExMT45DlsZ7RUKhVCQ0NpEQrEEPWFCxfQ0dEBsVjsMBOrpaUF5eXluOuuu/D0008zojPHYITHh1CZQnv37sWRI0cQHR2NLVu2YOvWrVNmCl0sOToTw+04HA4sFgvmz5+P1NTUi+JkQ131l5SU+M2tmMpzoma0OBwOLULR0dE+3z+khFYsFjt8ze3t7SgvL8ett96KZ599Nuj2MxlmDiM8fkKv1+Ozzz7D3r17cfjwYQgEAjrYbuXKlXQHmNFoRGNjI8bGxi6aHB3KHkUmk0EkEmFkZMRpuN1coqenB93d3U6v+v0B1R5PXQBYrVa75gRvD+n29/ejtbUVJSUlDi+ourq6sGHDBlx//fV46aWXGNGZozDCEwBMJhM+//xz7N27F//973/BYrGwefNmXHnllXjllVeQkZGBN954Iyg3g72NI7NPgiDs2oWpcLvZ3C48Eap9WCwWO9zfCAQkSUKj0dAiNDY2htjYWLo5wZWmkKmgmieclRTPnTuHDRs2YPPmzXj11VfnxN+ZwTGM8AQYs9mMkydPYufOnXj//fdBkiSuvfZa3HjjjVizZs2Mv+zBjK3Zp1gsdii0tu3C1BW57cDqbHMwoMqovb29TtuHg4WJLuaRkZF2zgnuMDAwgObmZqfNE319fVi/fj3WrVuHHTt2MKIzx2GEJwhob2/Hhg0bsGLFCtx22204ePAgDhw4gNHRUZSXl6OiogLr1q3zWpBYMOCJ2Sd1RS6XyzE4OGgXbjcbZlZs84MkEsmsKqNObAoRCoW0CE3XnDA4OIimpiYUFRUhLi5u0s8HBgawYcMGrFy5Em+99dasu5hgcB9GeIKAO+64AzExMXjuuefoKz2CIPDNN9/Q/nFKpRLr169HRUUFrrrqqll10pqIyWSCVCqdkdmno3C7mJgYel8o2FyrqX0suVwOiUQSFO3MnmKxWOwMZLlcLi1CE5sTKBeGoqIih12Kcrkc5eXlEIvFePfdd+ec8SuDYxjhCQKsVuuUV3kEQaC6upoWod7eXlx55ZV2mUKzBcrsMywsDIWFhV67uqVmVoIx3I5yQqcCzebSypUgCKhUKno1RBAEvSdERVY7c2FQKpXYtGkT5s+fj127dvl8xXrq1Cm88MILqK6uhkwmcynCoLKyEg899BCampqQnp6OJ554Atu2bfPpcV4MMMIzyyAIAvX19bQIdXZ22mUKBXMHmL/MPg0GA30iHB4eDmi4HdU8MTw8DIlEMqdEZyIkSUKtVkOhUEAmk8FoNCIiIgLp6emTItaHh4exefNmZGRkYPfu3X5ZoX7yySf46quvIJFIcO21104rPN3d3SgsLMRdd92F22+/HV988QUeeOABHDlyBOvXr/f58c5lGOGZxdhmCu3btw/Nzc1YtWoVKioqsHnz5qDKFKLMPpOTk33ua2dLIMPtCIJAU1MTRkdHnTZPzEWGhoZQV1eHnJwckCQJhUJBd8udPXsW5eXleOSRRxAfH4/9+/cHpIHGldC2Rx99FEeOHEFjYyN924033oiRkREcPXrUD0c5d2FaR2YxLBYLCxcuxFNPPYXa2lo0NTXhiiuuwDvvvIO8vDxs2rQJb775JgYGBhDI64uRkRFUVVUhIyPDr6IDAHw+H6mpqSgpKcHq1auRnZ0NnU6H77//Hl999RXa29sxMjLi9feH6tjTarWQSCQXjeioVCrU1dVhwYIFdEz30qVLcemll0IoFOLYsWNYvXo1WltbIRaL0dLSEtDP5lScOXMG69ats7tt/fr1OHPmTICOaO7ACM8cgcViIT8/H9u3b8d3332H9vZ2bN68GR999BHmzZuH9evX47XXXkNvb69fv+hKpRI1NTXIy8tDdnZ2QFdgXC4XSUlJKCoqwqpVqzBv3jyYTCbU1tbi1KlT9D4MQRAzeh6qHKrX6yGRSOZ0S7wtw8PDkEqlmD9//iSPPYFAgHXr1iEsLAyXXHIJ/v73v+Ps2bO47LLLIBaLg1J8BgYGJllVJSYmQqPRQK/XB+io5gZMC8kchMViITs7G4888ggefvhh9Pb2Yt++fdi3bx+2b98OiURCZwplZmb6TAwos09nuTKBxDZFlZrel8vlaGxstAu3i4mJcasBwmq1oq6uDmazGRKJJOhbvL0FFWFRUFCAlJSUST/X6/W44YYbQBAEPvnkE0REROC2226DwWBAW1tb0JSEGfzDrFjxqFQq3HTTTYiMjERUVBR+9atfQavVTvk7q1evBovFsvt31113+emIgwcWi4X09HT89re/RWVlJS5cuIBbb70VX3zxBZYsWYLLLrsML7zwAs6ePevVq87e3l56YDDYRGcibDYbsbGxWLBgAS6//HIUFxeDy+WitbUVJ0+eRH19PQYGBmCxWKZ8HKvVCqlUCovFArFYfNGIjlqtRm1tLfLz85Gamjrp5waDAT//+c8xNjaGI0eO2A3NCgQCLFmyxJ+H6zJJSUkYHBy0u21wcBCRkZFzuknEH8yK5oLy8nLIZDK88cYbMJvNuO2221BWVoZdu3Y5/Z3Vq1dj3rx5eOaZZ+jbhELhrGo99iUkSUKpVNKZQsePH0dBQQHtH+dpphBJknSwlz+NL32Bo3C7mJgYJCYmIi4uzq4Ty2KxoLa2FiwWixauiwG1Wo2amhrk5uY6jO0wmUy4+eabIZPJ8PnnnweN4a2rzQUff/wxGhoa6Nt+/vOfQ6VSMc0FMyTohaelpQULFy7E999/j9LSUgDA0aNHsXHjRvT29jpc1gPjwlNcXIxXXnnFj0c7O7HNFNq7dy+OHTuGzMxMOlOosLDQpdZn28l8sVgc1HYwnqDT6WjXBNtwu+joaDQ3N4PD4aC4uPiimbzXaDSorq5GTk4OMjMzJ/3cbDbj1ltvRXd3N44fP+61nCFP0Wq16OjoAACUlJTgr3/9K9asWYOYmBhkZGRg+/bt6Ovrw86dOwH82E5977334pe//CWOHz+O+++/n2mn9gJBLzxvv/02Hn74YQwPD9O3WSwWCAQC7N69G9dcc43D31u9ejWamppAkiSSkpJw9dVX48knn4RQKPTXoc9aqEyhvXv34ujRo0hKSqIzhcRisUMRIggCLS0tUKlUkEgkc/59psLtBgcHoVarweVykZWVhcTExDn/2oHx9vjq6mo6lnwiFosFt99+O5qamnDixAmXYrx9TWVlJdasWTPp9ltvvRXvvPMOtm3bhp6eHlRWVtr9zoMPPojm5makpaXhySefZAZIvUDQC8+zzz6Ld999F21tbXa3JyQk4Omnn8bdd9/t8PfefPNNZGZmIiUlBfX19Xj00UexdOlS7Nu3zx+HPWfQarV0ptDHH39MZwpVVFRg6dKl4HA40Ov1OHToENLS0i6qeRWTyYSamhrw+XzEx8dDoVA4DLebaxvnWq2Wbo/PycmZ9HOr1Yq7774bVVVVqKysDPo9Pgb/E7BC9GOPPYbnn39+yvu0tLR4/Pi//vWv6f9evHgxkpOTsXbtWnR2diI3N9fjx73YCA8Px/XXX4/rr78eer0en376Kfbt24ef/OQnEAqFWL9+Pb766isIhUIcP378omkdNhqNqK6uRnh4OF2KTE9Ph9lspn3Muru7IRAIaBEKRNKnt9HpdKiurkZ6erpT0bn//vvx7bffMqLD4JSArXgUCgWGhoamvE9OTg7+/e9/e1Rqm4hOp0N4eDiOHj3K1Ge9gMFgwP79+3H//fdjZGQEUVFR2LJlC6655hpcdtllc7qjy2AwoLq6GiKRCAsXLnS6/2W1Wh2aac7WcDudToeqqiqkpqYiNzd30vETBIGHHnoIx44dQ2VlpcN9HwYGIIArHspIcDpWrFiBkZERVFdXQyKRAACOHz8OgiCwbNkyl59PKpUCwKTBNgbPGBoawp/+9CdcfvnlePfdd2kn7dtvvx1msxmbN29GRUUFVq9ePadWQXq9HtXV1YiOjsbChQunFA8Oh4PExEQkJibSZppyuRx1dXUAQIvQbAi3o3z2UlJSnIrOY489hqNHj+LEiROM6DBMSdDv8QDj7dSDg4PYsWMH3U5dWlpKt1P39fVh7dq12LlzJ5YuXYrOzk7s2rULGzduRGxsLOrr6/Hggw8iLS0NJ0+eDPCrmRucPHkSH3zwAV599VW71mGLxYLTp09jz549OHDgALRaLTZu3IiKigqsXbt2Vs8/UCffuLg4zJ8/3+MVi6NwO9tcoWDritPr9aiqqkJCQgLmzZvnUHSeeuopfPjhhzhx4gTmzZsXoCNlmC3MCuFRqVS47777cOjQIbDZbFx33XX4+9//TmfS9PT0IDs7GydOnMDq1atx4cIF3HzzzWhsbIROp0N6ejquueYaPPHEE8wcjx+xWq30SujAgQNQKpXYsGEDtm7divXr18+qTBpqbyMxMdHhyddTbMPt5HI5DAZDUIXbUaITHx+PgoKCSa+bJEn86U9/wr/+9S8cP34cCxcuDNCRMswmZoXwMMx+CIJAVVUVHefQ399PZwqVl5cH9QWBVquly0x5eXk+25shSRI6nQ6Dg4NBEW5nMBhQVVWF2NhYhys8kiTxl7/8Ba+//jqOHz+OxYsX+/X4GGYvjPAw+B2CIFBXV4e9e/di37596Orqwtq1a7F161Zs2rQpqDbeqXkVqovLn8c1MdxOJBIhMTHRL+F2RqMRVVVViI6OduhiQZIk/va3v+HFF1/E559/DrFY7NPjYZhbMMLDEFCooDQqU6ilpQWrV6+mM4ViY2MDJkIajQY1NTXIzMxEdnZ2QI6Bwp/hdlSrONW150h0Xn/9dTz77LP49NNPsXTpUq8+P8PchxEehqCBstyhRKiurg6XXnopKioqcPXVVyMxMdFvIkR5kGVnZzuczA8kJpMJSqUSg4ODGBoaglAoREJCAhITE2ccbmcymVBVVYXIyEgsWrTIoej885//xFNPPYVPPvkEK1eunOnLYbgIYYSHISghSRLd3d3Yu3cv9u/fj++++w4rVqzA1q1bsWXLFqSmpvpMhKhcGWfGl8GExWKxmxXi8/n0SkgkErn1HplMJlRXVyMsLMyhPx9Jknj33Xfx2GOP4dChQ1i1apW3Xw7DRUJwDw/MIl577TVkZWVBIBBg2bJl+O6776a8/+7duzF//nwIBAIsXrwYH3/8sZ+OdHbAYrGQk5OD3/3ud/jqq6/Q1dWF6667DocOHcLChQuxdu1a/O1vf0NPT49X4xxUKhVt8R/sogNMDrcrKCiA2Wx2O9zObDajpqYGQqHQqejs2rULjz76KA4cOMCIDsOMYFY8XuDDDz/ELbfcgh07dmDZsmV45ZVXsHv3brS1tTk0R/z6669x+eWX47nnnsPmzZuxa9cuPP/886ipqUFhYWEAXsHsgSRJyGQy7N+/H/v27cOpU6dQVFSErVu3YuvWrTPqOlMqlaivr8f8+fOdup7PFmzD7eRy+ZThdpTohISEoKioyOEw6+7du3Hvvfdiz5492LBhgz9fCsMchBEeL7Bs2TKUlZXhH//4B4DxL316ejp+85vf4LHHHpt0/xtuuAE6nQ6HDx+mb1u+fDmKi4uxY8cOvx33bMc2U2jPnj04fvw45s+fTztpuzPkqVAoUF9fj4ULF845dwuSJKFWq2kRMplM9KxQVFQU6uvrwePxsGTJEoeic+DAAdxxxx344IMPcPXVV/vtuF977TW88MILGBgYwJIlS/Dqq686bWR45513cNttt9ndFhISAoPB4I9DZXATptQ2Q6i6+Lp16+jb2Gw21q1bhzNnzjj8nTNnztjdHwDWr1/v9P4MjmGxWIiPj8ftt9+OTz75BAMDA3jooYcglUpxySWXoLS0FM888wwaGhqmLDUNDg6ivr4ehYWFc050gPH3KSoqCvPmzcMll1yCsrIyCIVCdHV14csvv8TY2Bji4+MdJqwePnwYd9xxB9577z2/is6HH36Ihx56CL///e9RU1ODJUuWYP369ZDL5U5/JzIyEjKZjP537tw5vx0vg3tcHDGJPkSpVMJqtSIxMdHu9sTERLS2tjr8nYGBAYf3HxgY8NlxznVYLBZiYmKwbds2bNu2DWq1GocPH8a+fftwxRVXIDk5mV4JlZSU0Ff23377LbRaLYqKilzyDpztsFgsREREQCgUYnh4GCKRCLGxsejr60Nrayuio6NRVVWFK6+8EmfPnsVtt92Gt99+G9dee61fj/Ovf/0r7rjjDnoVs2PHDhw5cgRvv/22wyoCMP7aGDfs2QEjPAxzEpFIhJtuugk33XQTtFotPv74Y+zbtw+bNm1CTEwMtmzZAoIg8NZbb+HUqVMXhehQWK1WOqZbLBaDw+EgNzcXer2eTuB85JFHAAA//elPaXNef0FVEbZv307fNl0VARh3mMjMzARBEBCLxXj22WexaNEifxwyg5swpbYZQpk6Dg4O2t0+ODjo9OorKSnJrfszzIzw8HD89Kc/xQcffICBgQG88sor+O677/Daa69BKBTi7bffxpdffumw1DTXsFqtkEqlIEkSJSUldk0GoaGhyMvLw5///GcIBALcdNNNGBkZwcKFC1FcXIxTp0755RinqiI4qwoUFBTg7bffxsGDB/Hvf/8bBEFg5cqV6O3t9cchM7gJIzwzhM/nQyKR4IsvvqBvIwgCX3zxBVasWOHwd1asWGF3fwA4duyY0/szeA+hUIi+vj60tLTg2LFj2LlzJ4xGI37+858jPz8f999/P06cOAGz2RzoQ/U6lFWR1WqdJDoUZ86cwfXXX48XX3wR7777Lj755BPI5XL87ne/Q3p6egCO2jVWrFiBW265BcXFxVi1ahX27duH+Ph4vPHGG4E+NAYHMKU2L/DQQw/h1ltvRWlpKZYuXYpXXnkFOp2Ork/fcsstSE1NxXPPPQcA+O1vf4tVq1bhpZdewqZNm/DBBx+gqqoKb775ZiBfxkWBWq3G66+/jk8//RTLly8HAGzatAlmsxmVlZXYs2cPfvnLX8JqtdplCvnboNPbUKJjNpshkUjsoiwoqqqqcN111+FPf/oT7rrrLrojMCoqCjfddJPfjtWTKsJEeDweSkpK0NHR4YtDZJghzIrHC9xwww148cUX8dRTT6G4uBhSqRRHjx6lSwXnz5+HTCaj779y5Urs2rULb775JpYsWULHBjAzPL5HJBKhvr6eFh0KHo+HK6+8Em+88Qb6+vqwZ88ehIWF4d5770VWVhbuuOMOHD58eFa25xIEgYaGBhiNRojFYoeiI5VKsXXrVjzxxBP4zW9+E1CTVk+qCBOxWq1oaGiYk12KcwFmjoeBYQqsVivOnDlDW/eoVCo6U+iqq64K+kwhgiDQ2NiIsbExSCQSh/k+jY2NKC8vx8MPP4zt27cHhTP4hx9+iFtvvRVvvPEGXUX46KOP0NraisTExElVhGeeeQbLly9HXl4eRkZG8MILL+DAgQOorq5mMoKCEGbFw8AwBRwOB5deeilefvlldHV14dixY8jKysIf/vAHZGVl4aabbsJHH32E0dHRQB/qJCjR0el0EIvFDkWnpaUFmzdvxn333Rc0ogO4X0UYHh7GHXfcgQULFmDjxo3QaDT4+uuvGdEJUpgVDwODB1B7JpSTdk9Pj12mkLsGnd6GJEk0NTVBo9GgtLTU4R5Ve3s7ysvLsW3bNjz77LNBIzoMcx9GeBgYZgh1kqfSVVtaWrBmzRpUVFRg06ZNfs8UojKORkZGUFpaipCQkEn36erqwoYNG/DTn/4UL774okOrHAYGX8EIDwODFyFJEu3t7XS6al1dHS677DI6UyghIcGnIkSSJFpaWjA8PAyJROIwqfTcuXPYsGEDrr76avz9739nRIfB7zCfuIsYd6Ic3nnnHbBYLLt/vo5fno2wWCwUFBTg8ccfx/fff4/W1lZs2LAB77//PvLz81FeXo7/+7//Q19fn1fjHIBx0WltbYVKpXIqOn19fdi4cSM2bNjAiA5DwGA+dRcpjAmj72GxWMjNzcX//M//4Ouvv0ZXVxeuvfZaHDx4EAsWLMC6devwt7/9DefOnZuxCJEkiba2NiiVSqeiMzAwgI0bN2L16tV4/fXXGdFhCBhMqe0ixd0oh3feeQcPPPAARkZG/Hykcw/bTKG9e/fiyy+/RFFRESoqKrB161bk5ua6VY6jIsMHBwdRWlqK0NDQSfeRy+UoLy+HWCzGzp07HboWMDD4C+aS5yLEkygH4EcTxvT0dGzduhVNTU3+ONw5B4vFQkpKCu6991588cUX6O/vx5133onTp0+jtLQUK1aswJ///Ge0tLRMuxIiSRIdHR0YGBiARCJxKDpKpRJXX301CgsL8c477zCiwxBwGOG5CGFMGIMHKlPo17/+NY4ePYqBgQE8+OCDqK2tpbNz/vjHPzrNFOrs7ER/fz8kEgmEQuGknw8PD9OrqP/85z8OZ3kYGPwN49XG4BIrVqywsytZuXIlFixYgDfeeAN//OMfA3hkcwcqU+i2227DbbfdBrVajUOHDtGZQikpKXQ5rri4GNu3b0dERAQeeOABhw4KarUaW7duRUpKCj788MNZ7zfHMHdghOcihDFhnB2IRCLcfPPNuPnmm+lMob1796K8vBwcDgd6vR4vv/yyw5XO6Ogorr32WsTExGDv3r0OZ3kYGAIFU2q7CGFMGGcfVKbQhx9+iO3bt8NqteKKK67A448/jgULFuCRRx7B6dOnYbVaodPpcP3110MgEGD//v1M2ztD0MGseC5S3I1ycGTCeO7cOdx+++2BfBkXHa+//jpefPFFnDx5EmKxGAaDAZ9//jn27t2Ln/3sZ+ByueByuUhPT8exY8eC3sSU4eKEEZ6LlBtuuAEKhQJPPfUUBgYGUFxcPMmE0XbOgzJhHBgYQHR0NCQSCWPCGABWrFiBTz/9FGKxGAAgEAiwefNmbN68GWazGZ988gl+//vf4/Dhw4iIiAjw0TIwOIaZ42FgYGBg8CvMHg8DA8OMcMd6CQB2796N+fPnQyAQYPHixfj444/9dKQMwQIjPAwMDB7jrvXS119/jZ/97Gf41a9+hdraWlRUVKCiogKNjY1+PnKGQMKU2hgYGDzGXeulG264ATqdDocPH6ZvW758OYqLi7Fjxw6/HTdDYGFWPAwMDB7hifXSmTNn7O4PAOvXr5/Sqolh7sEID8Os4tSpU7j66quRkpICFouFAwcOTPs7lZWVEIvFCAkJQV5eHt555x2fH+fFgCfWSwMDA27dn2FuwggPw6xCp9NhyZIleO2111y6f3d3NzZt2oQ1a9ZAKpXigQcewO23345PP/3Ux0fKwMDgDGaOh2FWUV5ejvLycpfvv2PHDmRnZ+Oll14CACxYsACnT5/Gyy+/jPXr1/vqMC8KPLFeSkpKmpFVE8PcgFnxMMxpmD0F3+GJ9dKKFSvs7g8Ax44dc9mqiWFuwKx4GOY0zvLdv5gAAAMWSURBVPYUNBoN9Hq9w/waBtdx13rpt7/9LVatWoWXXnoJmzZtwgcffICqqiq8+eabgXwZDH6GER4GBgaPcdd6aeXKldi1axeeeOIJPP7448jPz8eBAwdQWFgYqJfAEAAY4WGY0zjbU4iMjGRWO17ivvvuw3333efwZ5WVlZNuu/7663H99df7+KgYghlmj4dhTsPsKTAwBB+M8DDMKrRaLaRSKaRSKYDxdmmpVIrz588DALZv345bbrmFvv9dd92Frq4u/M///A9aW1vx+uuv46OPPsKDDz4YiMNnYGAAY5nDMMuorKzEmjVrJt1+66234p133sG2bdvQ09NjV+KprKzEgw8+iObmZqSlpeHJJ5/Etm3b/HfQDAwMdjDCw8DAwMDgV5hSGwMDAwODX2GEh4GBgYHBrzDCw8DAwMDgVxjhYWBgYGDwK4zwMDAwMDD4FUZ4GBj8hLtZQpWVlWCxWJP+Mdk1DLMdRngYGPyEu1lCFG1tbZDJZPS/hIQEHx0hA4N/YLzaGBj8hLtZQhQJCQmIiory/gExMAQIZsXDwBDkFBcXIzk5GVdeeSW++uqrQB8OA8OMYYSHgSFISU5Oxo4dO7B3717s3bsX6enpWL16NWpqagJ9aAwMM4KxzGFgCAAsFgv79+9HRUWFW7+3atUqZGRk4L333vPNgTEw+AFmxcPAMItYunQpOjo6An0YDAwzghEeBoZZhFQqRXJycqAPg4FhRjBdbQwMfkKr1dqtVqgsoZiYGGRkZGD79u3o6+vDzp07AQCvvPIKsrOzsWjRIhgMBvzzn//E8ePH8dlnnwXqJTAweAVGeBgY/ERVVZVdltBDDz0E4McsIZlMRgfaAYDJZMLDDz+Mvr4+CIVCFBUV4fPPP3eYR8TAMJtgmgsYGBgYGPwKs8fDwMDAwOBXGOFhYGBgYPArjPAwMDAwMPgVRngYGBgYGPwKIzwMDAwMDH6FER4GBgYGBr/CCA8DAwMDg19hhIeBgYGBwa8wwsPAwMDA4FcY4WFgYGBg8CuM8DAwMDAw+BVGeBgYGBgY/Mr/Dy/kgq5dxW5pAAAAAElFTkSuQmCC", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -314,7 +325,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -324,7 +335,10 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } }, "source": [ "Let's print the 300 first elements in the list:" @@ -332,7 +346,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -651,7 +665,15 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true + "collapsed": true, + "editable": true, + "jupyter": { + "outputs_hidden": true + }, + "slideshow": { + "slide_type": "" + }, + "tags": [] }, "source": [ "The filtration value is the diameter of the simplex, which is zero for the vertices of course. The first edge in the filtration is `[6, 34]`, these two points are the two closest points in `data_A_sample`, at distance $0.0100$ of each other. If you scroll down, you will see that the first triangle is `[4, 53, 191]`, for the filtration value $0.0327$." @@ -660,7 +682,10 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } }, "source": [ "### Alpha complex " @@ -669,7 +694,10 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } }, "source": [ "The [alpha complex](https://en.wikipedia.org/wiki/Alpha_shape#Alpha_complex) is a simplicial complex built from the finite cells of a [Delaunay triangulation](https://en.wikipedia.org/wiki/Delaunay_triangulation). Alpha complexes contain less simplices than Rips complexes and so they can be a better option. They are sub-complexes of the Delaunay complex and, as such, they are geometric simpicial complexes.\n", @@ -679,7 +707,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -688,7 +716,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -708,7 +736,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -717,7 +745,7 @@ "3" ] }, - "execution_count": 22, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -735,7 +763,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -744,7 +772,7 @@ "200" ] }, - "execution_count": 23, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -762,8 +790,14 @@ }, { "cell_type": "code", - "execution_count": 24, - "metadata": {}, + "execution_count": 17, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -771,7 +805,7 @@ "3334" ] }, - "execution_count": 24, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -784,7 +818,7 @@ "metadata": { "anaconda-cloud": {}, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -798,7 +832,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.11.0" }, "toc": { "base_numbering": 1, @@ -815,5 +849,5 @@ } }, "nbformat": 4, - "nbformat_minor": 1 + "nbformat_minor": 4 } diff --git a/Tuto-GUDHI-simplicial-complexes-from-distance-matrix.ipynb b/Tuto-GUDHI-simplicial-complexes-from-distance-matrix.ipynb index 12b3e24..43b8aff 100644 --- a/Tuto-GUDHI-simplicial-complexes-from-distance-matrix.ipynb +++ b/Tuto-GUDHI-simplicial-complexes-from-distance-matrix.ipynb @@ -3,7 +3,15 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true + "collapsed": true, + "editable": true, + "jupyter": { + "outputs_hidden": true + }, + "slideshow": { + "slide_type": "" + }, + "tags": [] }, "source": [ "# TDA with Python using the Gudhi Library \n", @@ -21,15 +29,20 @@ { "cell_type": "code", "execution_count": 1, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import pickle as pickle\n", "import gudhi as gd \n", - "from pylab import *\n", - "%matplotlib inline" + "from pylab import *" ] }, { @@ -68,7 +81,13 @@ { "cell_type": "code", "execution_count": 2, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "path_file = \"./datasets/Corr_ProteinBinding/\"\n", @@ -92,7 +111,7 @@ " pd.read_csv(\n", " path_file + u, \n", " header = None, \n", - " delim_whitespace = True\n", + " sep='\\s+'\n", " ) for u in files_list\n", "]" ] @@ -123,7 +142,13 @@ { "cell_type": "code", "execution_count": 4, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -971,14 +996,12 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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/OAHP1AAKG+++aa9DbUZ3n7YtWuXcttttynr1q1T9u/fr2zatEm55JJLlNtvv93BVltnzZo1SkpKivLiiy8qn332mVJSUqJkZWUpR44cUT1+y5YtSlJSkvKrX/1KqaqqUh577DElOTlZ2bVrl8MtFwtvP9x5553K8uXLlU8++UTZvXu3ct999ymZmZnKP/7xD4dbLh7evohSXV2t9O7dWxk9erQyYcIEZxprI7z90NTUpAwdOlQZN26csnnzZqW6ulp57733lIqKCuZ7klDDQVVVlQJA+eijj9p++7//+z8lEAgohw8f1jwvPT1deemll9r9lp2draxcudK2ttqJ2X4oLCxUHnvsMSea6Bhm+0JRFOWTTz5RevfurdTU1HheqLHSD7G89tprSkpKitLS0mJHM21h2LBhytSpU9v+3draqvTq1UtZuHCh6vE/+tGPlPHjx7f7rbCwUHnwwQdtbafd8PZDPGfOnFG6du2q/PGPf7SriY5hpi/OnDmjXHPNNcrvfvc75d577/WFUMPbD88995xy0UUXKc3NzabvSeYnDsrLy5GVlYWhQ4e2/VZUVIRgMIht27ZpnnfNNdfg1VdfRV1dHSKRCNasWYPTp0/jX/7lXxxotXjM9MM333yDbdu2IScnB9dccw169uyJ6667Dps3b3aq2bZgdkycPHkSd955J5YvX45QKOREU23FbD/EU19fj4yMDHTq5I2ydM3NzdixYweKiorafgsGgygqKkJ5ebnqOeXl5e2OB4Abb7xR83gvYKYf4jl58iRaWlqQnZ1tVzMdwWxf/OIXv0BOTg7uv/9+J5ppO2b6Yd26dRgxYgSmTp2Knj17Ij8/H7/85S/R2trKfF8SajgIh8PIyclp91unTp2QnZ2NcDised5rr72GlpYWdO/eHampqXjwwQfx5ptvon///nY32RbM9MMXX3wBAJg3bx5KSkpQWlqKwYMH44YbbsC+fftsb7NdmB0TM2bMwDXXXIMJEybY3URHMNsPsdTW1mLBggV44IEH7GiiLdTW1qK1tRU9e/Zs93vPnj01nzscDnMd7wXM9EM8s2bNQq9evToIfF7DTF9s3rwZL7zwAlauXOlEEx3BTD988cUXeOONN9Da2op33nkHc+fOxbPPPosnn3yS+b4k1ACYPXs2AoGA7n+ff/656evPnTsXx48fx8aNG/Hxxx9j5syZ+NGPfoRdu3YJfArr2NkPkUgEAPDggw9iypQpuOqqq7B48WJcdtllePHFF0U+hhDs7It169ahrKwMS5YsEdtoG7D724jS0NCA8ePHIy8vD/PmzbPecMJTPPXUU1izZg3efPNNpKWlud0cRzlx4gTuvvturFy5Ej169HC7Oa4SiUSQk5OD559/HkOGDMEdd9yBRx99FCtWrGC+hjd0vDbzyCOP4L777tM95qKLLkIoFMI333zT7vczZ86grq5O04Rw4MABLFu2DJWVlbjiiisAAIMGDcIHH3yA5cuXc70su7GzH3JzcwEAeXl57X4fMGAADh06ZL7RNmFnX5SVleHAgQPIyspq9/vtt9+O0aNH47333rPQcrHY2Q9RTpw4geLiYnTt2hVvvvkmkpOTrTbbMXr06IGkpCQcOXKk3e9HjhzRfO5QKMR1vBcw0w9RnnnmGTz11FPYuHEjBg4caGczHYG3Lw4cOICDBw/ipptuavstugns1KkT9uzZg4svvtjeRtuAmTGRm5uL5ORkJCUltf02YMAAhMNhNDc3IyUlxfjGpr1xEpCoM+THH3/c9ttf//pXXWfIv//97woApaqqqt3v3//+95WSkhJb22sXZvohEokovXr16uAoXFBQoMyZM8fW9tqJmb6oqalRdu3a1e4/AMrSpUuVL774wqmmC8VMPyiKotTX1yvDhw9XrrvuOqWxsdGJpgpn2LBhyrRp09r+3draqvTu3VvXUfiHP/xhu99GjBjhC0dhnn5QFEVZtGiRkpGRoZSXlzvRRMfg6YtTp051mA8mTJigjBkzRtm1a5fS1NTkZNOFwjsm5syZo1x44YVKa2tr229LlixRcnNzme9JQg0nxcXFylVXXaVs27ZN2bx5s3LJJZe0C1v9xz/+oVx22WXKtm3bFEVRlObmZqV///7K6NGjlW3btin79+9XnnnmGSUQCCjr16936zEsw9sPiqIoixcvVjIyMpTXX39d2bdvn/LYY48paWlpyv79+914BGGY6Yt44PHoJ0Xh74f6+nqlsLBQufLKK5X9+/crNTU1bf+dOXPGrcfgZs2aNUpqaqryhz/8QamqqlIeeOABJSsrSwmHw4qiKMrdd9+tzJ49u+34LVu2KJ06dVKeeeYZZffu3coTTzzhm5Bunn546qmnlJSUFOWNN95o9+5PnDjh1iMIg7cv4vFL9BNvPxw6dEjp2rWrMm3aNGXPnj3K22+/reTk5ChPPvkk8z1JqOHk6NGjyqRJk5TzzjtPycjIUKZMmdLuI6yurlYAKO+++27bb3v37lVuu+02JScnR+nSpYsycODADiHeXsNMPyiKoixcuFD53ve+p3Tp0kUZMWKE8sEHHzjccvGY7YtY/CDU8PbDu+++qwBQ/a+6utqdhzDJb37zG+WCCy5QUlJSlGHDhilbt25t+9t1112n3Hvvve2Of+2115RLL71USUlJUa644gpPb3Bi4emHCy+8UPXdP/HEE8433AZ4x0QsfhFqFIW/Hz788EOlsLBQSU1NVS666CLlv/7rv7g2OQFFURQ2CxlBEARBEIS8UPQTQRAEQRC+gIQagiAIgiB8AQk1BEEQBEH4AhJqCIIgCILwBSTUEARBEAThC0ioIQiCIAjCF5BQQxAEQRCELyChhiAIgiAIX0BCDUEQBEEQvoCEGoIgCIIgfAEJNQRBEARB+AISagiCIAiC8AX/P8m5XMZN+q/2AAAAAElFTkSuQmCC", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -1006,7 +1029,13 @@ { "cell_type": "code", "execution_count": 14, - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "alpha_complex = gd.AlphaComplex(points = X_transformed)" @@ -1088,7 +1117,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "9329\n" + "9255\n" ] } ], @@ -1105,7 +1134,13 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ "[1] Using persistent homology and dynamical distances to analyze protein binding, V. Kovacev-Nikolic, P. Bubenik, D. Nikolic and G. Heo. Stat Appl Genet Mol Biol 2016 [arxiv link](https://arxiv.org/pdf/1412.1394.pdf)." ] @@ -1114,7 +1149,7 @@ "metadata": { "anaconda-cloud": {}, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -1128,7 +1163,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.11.0" }, "toc": { "base_numbering": 1, @@ -1145,5 +1180,5 @@ } }, "nbformat": 4, - "nbformat_minor": 1 + "nbformat_minor": 4 }